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

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

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

#ifndef MobileL3__GMM__SM__Types_HH
#define MobileL3__GMM__SM__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 "MobileL3_MM_Types.hh"

#if TTCN3_VERSION != 90000
#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 MobileL3__GMM__SM__Types_HH
#endif

namespace MobileL3__GMM__SM__Types {

/* Forward declarations of classes */

class AdditionalUpdateTypeV;
class AdditionalUpdateTypeV_template;
class AdditionalUpdateTypeTV;
class AdditionalUpdateTypeTV_template;
class AttachResultV;
class AttachResultV_template;
class AttachTypeV;
class AttachTypeV_template;
class CipheringAlgorithmV;
class CipheringAlgorithmV_template;
class CipheringAlgorithmTV;
class CipheringAlgorithmTV_template;
class TMSIStatusV;
class TMSIStatusV_template;
class TMSIStatusTV;
class TMSIStatusTV_template;
class DetachTypeV;
class DetachTypeV_template;
class DetachTypeTV;
class DetachTypeTV_template;
class DRXParameterV;
class DRXParameterV_template;
class DRXParameterTV;
class DRXParameterTV_template;
class ForceToStandbyV;
class ForceToStandbyV_template;
class ForceToStandbyTV;
class ForceToStandbyTV_template;
class P__TMSISignatureTV;
class P__TMSISignatureTV_template;
class IdentityType2V;
class IdentityType2V_template;
class IdentityType2TV;
class IdentityType2TV_template;
class IMEISVRequestV;
class IMEISVRequestV_template;
class IMEISVRequestTV;
class IMEISVRequestTV_template;
class ReceiveNPDUNumbersListV;
class ReceiveNPDUNumbersListV_template;
class ReceiveNPDUNumber;
class ReceiveNPDUNumber_template;
class ReceiveNPDUNumbersListTLV;
class ReceiveNPDUNumbersListTLV_template;
class MSNetworkCapabilityV;
class MSNetworkCapabilityV_template;
class MSNetworkCapabilityLV;
class MSNetworkCapabilityLV_template;
class MSNetworkCapabilityTLV;
class MSNetworkCapabilityTLV_template;
class MSRadioAccessCapabilityV;
class MSRadioAccessCapabilityV_template;
class MSRACapabilityValues;
class MSRACapabilityValues_template;
class AccessCapabilities;
class AccessCapabilities_template;
class A5BITS;
class A5BITS_template;
class MultislotCap;
class MultislotCap_template;
class MultislotCap__GPRS;
class MultislotCap__GPRS_template;
class MultislotCap__SMS;
class MultislotCap__SMS_template;
class MultislotCapAdditionsAfterRel97;
class MultislotCapAdditionsAfterRel97_template;
class MultislotCap__EGPRS;
class MultislotCap__EGPRS_template;
class MultislotCap__dtmgprsmultislotsubclass;
class MultislotCap__dtmgprsmultislotsubclass_template;
class AccessCapAdditionsRel99;
class AccessCapAdditionsRel99_template;
class AccessCapAdditionsAfterRel97;
class AccessCapAdditionsAfterRel97_template;
class AccessCapAdditionsRel4;
class AccessCapAdditionsRel4_template;
class ExtendedDTM;
class ExtendedDTM_template;
class AccessCapAdditionsAfterRel99;
class AccessCapAdditionsAfterRel99_template;
class AccessCapAdditionsRel5;
class AccessCapAdditionsRel5_template;
class AccessCapAdditionsAfterRel4;
class AccessCapAdditionsAfterRel4_template;
class AccessCapAdditionsRel6;
class AccessCapAdditionsRel6_template;
class DTMGPRSHighMultiSlotClass;
class DTMGPRSHighMultiSlotClass_template;
class AccessCapAdditionsAfterRel5;
class AccessCapAdditionsAfterRel5_template;
class AccessCapAdditionsRel7;
class AccessCapAdditionsRel7_template;
class DownlinkDualCarrier;
class DownlinkDualCarrier_template;
class AccessCapAdditionsAfterRel6;
class AccessCapAdditionsAfterRel6_template;
class AccessCapAdditionsRel8;
class AccessCapAdditionsRel8_template;
class EnhancedFlexTimeslotAssignment;
class EnhancedFlexTimeslotAssignment_template;
class AccessCapAdditionsRel9;
class AccessCapAdditionsRel9_template;
class AccessCapAdditionsRel10;
class AccessCapAdditionsRel10_template;
class AccessCapAdditionsRel11;
class AccessCapAdditionsRel11_template;
class AccessCapAdditionsRel12;
class AccessCapAdditionsRel12_template;
class DLMCCapability;
class DLMCCapability_template;
class DLMCBandReception;
class DLMCBandReception_template;
class AccessCapLateAdditionsRel11;
class AccessCapLateAdditionsRel11_template;
class AccessCapAdditionsAfterRel12;
class AccessCapAdditionsAfterRel12_template;
class AccessCapAdditionsAfterRel11;
class AccessCapAdditionsAfterRel11_template;
class AccessCapAdditionsAfterRel10;
class AccessCapAdditionsAfterRel10_template;
class AccessCapAdditionsAfterRel9;
class AccessCapAdditionsAfterRel9_template;
class AccessCapAdditionsAfterRel8;
class AccessCapAdditionsAfterRel8_template;
class AccessCapAdditionsAfterRel7;
class AccessCapAdditionsAfterRel7_template;
class AccessCapabilitiesStruct;
class AccessCapabilitiesStruct_template;
class MSRACapabilityValuesExclude1111;
class MSRACapabilityValuesExclude1111_template;
class MSRACapabilityValues1111;
class MSRACapabilityValues1111_template;
class AdditionalAccessTechnologiesRepetition;
class AdditionalAccessTechnologiesRepetition_template;
class AdditionalAccessTechnologies;
class AdditionalAccessTechnologies_template;
class AdditionalAccessTechnologiesRecord;
class AdditionalAccessTechnologiesRecord_template;
class MSRACapabilityValuesRecord;
class MSRACapabilityValuesRecord_template;
class MSRadioAccessCapabilityLV;
class MSRadioAccessCapabilityLV_template;
class GMM__CauseV;
class GMM__CauseV_template;
class GMM__CauseTV;
class GMM__CauseTV_template;
class RoutingAreaIdentificationV;
class RoutingAreaIdentificationV_template;
class UpdateResultV;
class UpdateResultV_template;
class UpdateResultTV;
class UpdateResultTV_template;
class UpdateTypeV;
class UpdateTypeV_template;
class UpdateTypeTV;
class UpdateTypeTV_template;
class ACReferenceNumberV;
class ACReferenceNumberV_template;
class ACReferenceNumberTV;
class ACReferenceNumberTV_template;
class ServiceTypeV;
class ServiceTypeV_template;
class CellNotificationT;
class CellNotificationT_template;
class PC__LCSCapabilityV;
class PC__LCSCapabilityV_template;
class PC__LCSCapabilityLV;
class PC__LCSCapabilityLV_template;
class PC__LCSCapability;
class PC__LCSCapability_template;
class NetworkFeatureSupportV;
class NetworkFeatureSupportV_template;
class NetworkFeatureSupportTV;
class NetworkFeatureSupportTV_template;
class AdditionalNetworkFeatureSupportV;
class AdditionalNetworkFeatureSupportV_template;
class AdditionalNetworkFeatureSupportTLV;
class AdditionalNetworkFeatureSupportTLV_template;
class InterRATInformationContainerTLV;
class InterRATInformationContainerTLV_template;
class RequestedMSInformationTV;
class RequestedMSInformationTV_template;
class UENetworkCapabilityV;
class UENetworkCapabilityV_template;
class UENetworkCapabilityLV;
class UENetworkCapabilityLV_template;
class UENetworkCapabilityTLV;
class UENetworkCapabilityTLV_template;
class EUTRANinterRATInformationContainerTLV;
class EUTRANinterRATInformationContainerTLV_template;
class VDPaUEsUS__V;
class VDPaUEsUS__V_template;
class VoiceDomainPreferenceandUEsUsageSettingTLV;
class VoiceDomainPreferenceandUEsUsageSettingTLV_template;
class LocationAreaIdentification2__TLV;
class LocationAreaIdentification2__TLV_template;
class NetworkResourceIdentifierContainerV;
class NetworkResourceIdentifierContainerV_template;
class NetworkResourceIdentifierContainerLV;
class NetworkResourceIdentifierContainerLV_template;
class NetworkResourceIdentifierContainerTLV;
class NetworkResourceIdentifierContainerTLV_template;
class ExtendedDRXParametersTLV;
class ExtendedDRXParametersTLV_template;
class AccessPointNameTLV;
class AccessPointNameTLV_template;
class AccessPointNameLV;
class AccessPointNameLV_template;
class NSAPIV;
class NSAPIV_template;
class NSAPITV;
class NSAPITV_template;
class ProtocolConfigOptionsV;
class ProtocolConfigOptionsV_template;
class ProtocolIDs__and__ContainerIDs;
class ProtocolIDs__and__ContainerIDs_template;
class ProtocolID__or__ContainerID;
class ProtocolID__or__ContainerID_template;
class ProtocolConfigOptionsTLV;
class ProtocolConfigOptionsTLV_template;
class PDPAddressV;
class PDPAddressV_template;
class PDPAddressLV;
class PDPAddressLV_template;
class PDPAddressTLV;
class PDPAddressTLV_template;
class QoSV;
class QoSV_template;
class QoSLV;
class QoSLV_template;
class QoSTLV;
class QoSTLV_template;
class ReAttemptIndicatorV;
class ReAttemptIndicatorV_template;
class ReAttemptIndicatorLV;
class ReAttemptIndicatorLV_template;
class ReAttemptIndicatorTLV;
class ReAttemptIndicatorTLV_template;
class SMCause2LV;
class SMCause2LV_template;
class SMCause2TLV;
class SMCause2TLV_template;
class LinkedTIV;
class LinkedTIV_template;
class TI__Extension;
class TI__Extension_template;
class LinkedTILV;
class LinkedTILV_template;
class LinkedTITLV;
class LinkedTITLV_template;
class LLC__SAPIV;
class LLC__SAPIV_template;
class LLC__SAPITV;
class LLC__SAPITV_template;
class TearDownIndicatorV;
class TearDownIndicatorV_template;
class TearDownIndicatorTV;
class TearDownIndicatorTV_template;
class PacketFlowIDV;
class PacketFlowIDV_template;
class PacketFlowIDTLV;
class PacketFlowIDTLV_template;
class TrafficFlowTemplateV;
class TrafficFlowTemplateV_template;
class PacketFilterList__CreateAddReplaceTFT;
class PacketFilterList__CreateAddReplaceTFT_template;
class PacketFilterIdentifier__CreateAddReplaceTFT;
class PacketFilterIdentifier__CreateAddReplaceTFT_template;
class PacketFilter;
class PacketFilter_template;
class TrafficFlowTemplateV__CreateAddReplaceTFT;
class TrafficFlowTemplateV__CreateAddReplaceTFT_template;
class ParametersList;
class ParametersList_template;
class Parameter;
class Parameter_template;
class PacketFilterList__DeletePacketFilter;
class PacketFilterList__DeletePacketFilter_template;
class PacketFilterIdentifier;
class PacketFilterIdentifier_template;
class TrafficFlowTemplateV__DeletePacketFilter;
class TrafficFlowTemplateV__DeletePacketFilter_template;
class TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation;
class TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template;
class TrafficFlowTemplateLV;
class TrafficFlowTemplateLV_template;
class TrafficFlowTemplateTLV;
class TrafficFlowTemplateTLV_template;
class TemporaryMobileGroupIDLV;
class TemporaryMobileGroupIDLV_template;
class MBMSBearerCapabilitiesLV;
class MBMSBearerCapabilitiesLV_template;
class MBMSProtocolConfigOptionsTLV;
class MBMSProtocolConfigOptionsTLV_template;
class EnhancedNetworkSeviveAccessPointIDV;
class EnhancedNetworkSeviveAccessPointIDV_template;
class RequestTypeTV;
class RequestTypeTV_template;
class NotificationIndicatorLV;
class NotificationIndicatorLV_template;
class ConnectivityTypeTV;
class ConnectivityTypeTV_template;
class WLANOffloadAcceptabilityTV;
class WLANOffloadAcceptabilityTV_template;
class NBIFOM__ParameterList;
class NBIFOM__ParameterList_template;
class NBIFOM__ParameterContents;
class NBIFOM__ParameterContents_template;
class NBIFOM__RoutingRules;
class NBIFOM__RoutingRules_template;
class RoutingFilter;
class RoutingFilter_template;
class NBIFOM__RoutingRule;
class NBIFOM__RoutingRule_template;
class NBIFOM__AccessUsabilityIndication;
class NBIFOM__AccessUsabilityIndication_template;
class NBIFOM__Parameter;
class NBIFOM__Parameter_template;
class NBIFOM__ContainerTLV;
class NBIFOM__ContainerTLV_template;
class PDPContextStatusTLV;
class PDPContextStatusTLV_template;
class RadioPriorityV;
class RadioPriorityV_template;
class RadioPriorityTV;
class RadioPriorityTV_template;
class GPRSTimerV;
class GPRSTimerV_template;
class GPRSTimerTV;
class GPRSTimerTV_template;
class GPRSTimer2TLV;
class GPRSTimer2TLV_template;
class RadioPriority2V;
class RadioPriority2V_template;
class RadioPriority2TV;
class RadioPriority2TV_template;
class MBMS__ContextStatusTLV;
class MBMS__ContextStatusTLV_template;
class UplinkDataStatusV;
class UplinkDataStatusV_template;
class UplinkDataStatusTLV;
class UplinkDataStatusTLV_template;
class PDU__GMM__AttachRequest;
class PDU__GMM__AttachRequest_template;
class PDU__GMM__AttachAccept;
class PDU__GMM__AttachAccept_template;
class PDU__GMM__AttachComplete;
class PDU__GMM__AttachComplete_template;
class PDU__GMM__AttachReject;
class PDU__GMM__AttachReject_template;
class PDU__GMM__DetachRequest__SGSN__MS;
class PDU__GMM__DetachRequest__SGSN__MS_template;
class PDU__GMM__DetachRequest__MS__SGSN;
class PDU__GMM__DetachRequest__MS__SGSN_template;
class PDU__GMM__DetachAccept__MS__SGSN;
class PDU__GMM__DetachAccept__MS__SGSN_template;
class PDU__GMM__DetachAccept__SGSN__MS;
class PDU__GMM__DetachAccept__SGSN__MS_template;
class PDU__GMM__P__TMSIReallocationCommand;
class PDU__GMM__P__TMSIReallocationCommand_template;
class PDU__GMM__P__TMSIReallocationComplete;
class PDU__GMM__P__TMSIReallocationComplete_template;
class PDU__GMM__AuthenticationAndCipheringRequest;
class PDU__GMM__AuthenticationAndCipheringRequest_template;
class PDU__GMM__AuthenticationAndCipheringResponse;
class PDU__GMM__AuthenticationAndCipheringResponse_template;
class PDU__GMM__AuthenticationAndCipheringFailure;
class PDU__GMM__AuthenticationAndCipheringFailure_template;
class PDU__GMM__AuthenticationAndCipheringReject;
class PDU__GMM__AuthenticationAndCipheringReject_template;
class PDU__GMM__IdentityRequest;
class PDU__GMM__IdentityRequest_template;
class PDU__GMM__IdentityResponse;
class PDU__GMM__IdentityResponse_template;
class PDU__GMM__RoutingAreaUpdateRequest;
class PDU__GMM__RoutingAreaUpdateRequest_template;
class PDU__GMM__RoutingAreaUpdateAccept;
class PDU__GMM__RoutingAreaUpdateAccept_template;
class PDU__GMM__RoutingAreaUpdateComplete;
class PDU__GMM__RoutingAreaUpdateComplete_template;
class PDU__GMM__RoutingAreaUpdateReject;
class PDU__GMM__RoutingAreaUpdateReject_template;
class PDU__GMM__GMM__Status;
class PDU__GMM__GMM__Status_template;
class PDU__GMM__GMM__Information;
class PDU__GMM__GMM__Information_template;
class PDU__GMM__ServiceRequest;
class PDU__GMM__ServiceRequest_template;
class PDU__GMM__ServiceAccept;
class PDU__GMM__ServiceAccept_template;
class PDU__GMM__ServiceReject;
class PDU__GMM__ServiceReject_template;
class PDU__SM__ActivatePDPContextRequest;
class PDU__SM__ActivatePDPContextRequest_template;
class PDU__SM__ActivatePDPContextAccept;
class PDU__SM__ActivatePDPContextAccept_template;
class PDU__SM__ActivatePDPContextReject;
class PDU__SM__ActivatePDPContextReject_template;
class PDU__SM__ActivateSecondaryPDPContextRequest;
class PDU__SM__ActivateSecondaryPDPContextRequest_template;
class PDU__SM__ActivateSecondaryPDPContextAccept;
class PDU__SM__ActivateSecondaryPDPContextAccept_template;
class PDU__SM__ActivateSecondaryPDPContextReject;
class PDU__SM__ActivateSecondaryPDPContextReject_template;
class PDU__SM__RequestPDPContextActivation;
class PDU__SM__RequestPDPContextActivation_template;
class PDU__SM__RequestPDPContextActivationReject;
class PDU__SM__RequestPDPContextActivationReject_template;
class PDU__SM__ModifyPDPContextRequest__SGSN__MS;
class PDU__SM__ModifyPDPContextRequest__SGSN__MS_template;
class PDU__SM__ModifyPDPContextRequest__MS__SGSN;
class PDU__SM__ModifyPDPContextRequest__MS__SGSN_template;
class PDU__SM__ModifyPDPContextAccept__MS__SGSN;
class PDU__SM__ModifyPDPContextAccept__MS__SGSN_template;
class PDU__SM__ModifyPDPContextAccept__SGSN__MS;
class PDU__SM__ModifyPDPContextAccept__SGSN__MS_template;
class PDU__SM__ModifyPDPContextReject;
class PDU__SM__ModifyPDPContextReject_template;
class PDU__SM__DeactivatePDPContextRequest;
class PDU__SM__DeactivatePDPContextRequest_template;
class PDU__SM__DeactivatePDPContextAccept;
class PDU__SM__DeactivatePDPContextAccept_template;
class PDU__SM__RequestSecondaryPDPContextActivation;
class PDU__SM__RequestSecondaryPDPContextActivation_template;
class PDU__SM__RequestSecondaryPDPContextActivationReject;
class PDU__SM__RequestSecondaryPDPContextActivationReject_template;
class PDU__SM__Notification;
class PDU__SM__Notification_template;
class PDU__SM__SM__Status;
class PDU__SM__SM__Status_template;
class PDU__SM__ActivateMBMSContextRequest;
class PDU__SM__ActivateMBMSContextRequest_template;
class PDU__SM__ActivateMBMSContextAccept;
class PDU__SM__ActivateMBMSContextAccept_template;
class PDU__SM__ActivateMBMSContextReject;
class PDU__SM__ActivateMBMSContextReject_template;
class PDU__SM__RequestMBMSContextActivation;
class PDU__SM__RequestMBMSContextActivation_template;
class PDU__SM__RequestMBMSContextActivationReject;
class PDU__SM__RequestMBMSContextActivationReject_template;
class L3__GSM__MS__SGSN;
class L3__GSM__MS__SGSN_template;
class L3__GSM__SGSN__MS;
class L3__GSM__SGSN__MS_template;
class L3__GMM__MS__SGSN;
class L3__GMM__MS__SGSN_template;
class L3__GMM__SGSN__MS;
class L3__GMM__SGSN__MS_template;

} /* end of namespace */

#ifndef MobileL3__GMM__SM__Types_HH
#define MobileL3__GMM__SM__Types_HH

namespace MobileL3__GMM__SM__Types {

/* Type definitions */

typedef OCTETSTRING AccessPointNameV;
typedef OCTETSTRING_template AccessPointNameV_template;
typedef OCTETSTRING SMCauseV;
typedef OCTETSTRING_template SMCauseV_template;
typedef BITSTRING RequestTypeV;
typedef BITSTRING_template RequestTypeV_template;

/* Class definitions */

class AdditionalUpdateTypeV : public Base_Type {
  BITSTRING field_aUTV;
  BITSTRING field_spare;
public:
  AdditionalUpdateTypeV();
  AdditionalUpdateTypeV(const BITSTRING& par_aUTV,
    const BITSTRING& par_spare);
  AdditionalUpdateTypeV(const AdditionalUpdateTypeV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AdditionalUpdateTypeV& operator=(const AdditionalUpdateTypeV& other_value);
  boolean operator==(const AdditionalUpdateTypeV& other_value) const;
  inline boolean operator!=(const AdditionalUpdateTypeV& 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& aUTV()
    {return field_aUTV;}
  inline const BITSTRING& aUTV() const
    {return field_aUTV;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 AdditionalUpdateTypeV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AdditionalUpdateTypeV_template *list_value;
} value_list;
struct {
AdditionalUpdateTypeV_template* precondition;
AdditionalUpdateTypeV_template* implied_template;
} implication_;
dynmatch_struct<AdditionalUpdateTypeV>* dyn_match;
};

void set_specific();
void copy_value(const AdditionalUpdateTypeV& other_value);
void copy_template(const AdditionalUpdateTypeV_template& other_value);

public:
AdditionalUpdateTypeV_template();
AdditionalUpdateTypeV_template(template_sel other_value);
AdditionalUpdateTypeV_template(const AdditionalUpdateTypeV& other_value);
AdditionalUpdateTypeV_template(const OPTIONAL<AdditionalUpdateTypeV>& other_value);
AdditionalUpdateTypeV_template(AdditionalUpdateTypeV_template* p_precondition, AdditionalUpdateTypeV_template* p_implied_template);
AdditionalUpdateTypeV_template(Dynamic_Match_Interface<AdditionalUpdateTypeV>* p_dyn_match);
AdditionalUpdateTypeV_template(const AdditionalUpdateTypeV_template& other_value);
~AdditionalUpdateTypeV_template();
AdditionalUpdateTypeV_template& operator=(template_sel other_value);
AdditionalUpdateTypeV_template& operator=(const AdditionalUpdateTypeV& other_value);
AdditionalUpdateTypeV_template& operator=(const OPTIONAL<AdditionalUpdateTypeV>& other_value);
AdditionalUpdateTypeV_template& operator=(const AdditionalUpdateTypeV_template& other_value);
boolean match(const AdditionalUpdateTypeV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AdditionalUpdateTypeV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AdditionalUpdateTypeV_template& list_item(unsigned int list_index) const;
BITSTRING_template& aUTV();
const BITSTRING_template& aUTV() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const AdditionalUpdateTypeV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AdditionalUpdateTypeTV : public Base_Type {
  AdditionalUpdateTypeV field_additionalUpdateType;
  BITSTRING field_elementIdentifier;
public:
  AdditionalUpdateTypeTV();
  AdditionalUpdateTypeTV(const AdditionalUpdateTypeV& par_additionalUpdateType,
    const BITSTRING& par_elementIdentifier);
  AdditionalUpdateTypeTV(const AdditionalUpdateTypeTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AdditionalUpdateTypeTV& operator=(const AdditionalUpdateTypeTV& other_value);
  boolean operator==(const AdditionalUpdateTypeTV& other_value) const;
  inline boolean operator!=(const AdditionalUpdateTypeTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AdditionalUpdateTypeV& additionalUpdateType()
    {return field_additionalUpdateType;}
  inline const AdditionalUpdateTypeV& additionalUpdateType() const
    {return field_additionalUpdateType;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 AdditionalUpdateTypeTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AdditionalUpdateTypeTV_template *list_value;
} value_list;
struct {
AdditionalUpdateTypeTV_template* precondition;
AdditionalUpdateTypeTV_template* implied_template;
} implication_;
dynmatch_struct<AdditionalUpdateTypeTV>* dyn_match;
};

void set_specific();
void copy_value(const AdditionalUpdateTypeTV& other_value);
void copy_template(const AdditionalUpdateTypeTV_template& other_value);

public:
AdditionalUpdateTypeTV_template();
AdditionalUpdateTypeTV_template(template_sel other_value);
AdditionalUpdateTypeTV_template(const AdditionalUpdateTypeTV& other_value);
AdditionalUpdateTypeTV_template(const OPTIONAL<AdditionalUpdateTypeTV>& other_value);
AdditionalUpdateTypeTV_template(AdditionalUpdateTypeTV_template* p_precondition, AdditionalUpdateTypeTV_template* p_implied_template);
AdditionalUpdateTypeTV_template(Dynamic_Match_Interface<AdditionalUpdateTypeTV>* p_dyn_match);
AdditionalUpdateTypeTV_template(const AdditionalUpdateTypeTV_template& other_value);
~AdditionalUpdateTypeTV_template();
AdditionalUpdateTypeTV_template& operator=(template_sel other_value);
AdditionalUpdateTypeTV_template& operator=(const AdditionalUpdateTypeTV& other_value);
AdditionalUpdateTypeTV_template& operator=(const OPTIONAL<AdditionalUpdateTypeTV>& other_value);
AdditionalUpdateTypeTV_template& operator=(const AdditionalUpdateTypeTV_template& other_value);
boolean match(const AdditionalUpdateTypeTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AdditionalUpdateTypeTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AdditionalUpdateTypeTV_template& list_item(unsigned int list_index) const;
AdditionalUpdateTypeV_template& additionalUpdateType();
const AdditionalUpdateTypeV_template& additionalUpdateType() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const AdditionalUpdateTypeTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AttachResultV : public Base_Type {
  BITSTRING field_resultOfAttach;
  BITSTRING field_fop__l3;
public:
  AttachResultV();
  AttachResultV(const BITSTRING& par_resultOfAttach,
    const BITSTRING& par_fop__l3);
  AttachResultV(const AttachResultV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AttachResultV& operator=(const AttachResultV& other_value);
  boolean operator==(const AttachResultV& other_value) const;
  inline boolean operator!=(const AttachResultV& 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& resultOfAttach()
    {return field_resultOfAttach;}
  inline const BITSTRING& resultOfAttach() const
    {return field_resultOfAttach;}
  inline BITSTRING& fop__l3()
    {return field_fop__l3;}
  inline const BITSTRING& fop__l3() const
    {return field_fop__l3;}
  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 AttachResultV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AttachResultV_template *list_value;
} value_list;
struct {
AttachResultV_template* precondition;
AttachResultV_template* implied_template;
} implication_;
dynmatch_struct<AttachResultV>* dyn_match;
};

void set_specific();
void copy_value(const AttachResultV& other_value);
void copy_template(const AttachResultV_template& other_value);

public:
AttachResultV_template();
AttachResultV_template(template_sel other_value);
AttachResultV_template(const AttachResultV& other_value);
AttachResultV_template(const OPTIONAL<AttachResultV>& other_value);
AttachResultV_template(AttachResultV_template* p_precondition, AttachResultV_template* p_implied_template);
AttachResultV_template(Dynamic_Match_Interface<AttachResultV>* p_dyn_match);
AttachResultV_template(const AttachResultV_template& other_value);
~AttachResultV_template();
AttachResultV_template& operator=(template_sel other_value);
AttachResultV_template& operator=(const AttachResultV& other_value);
AttachResultV_template& operator=(const OPTIONAL<AttachResultV>& other_value);
AttachResultV_template& operator=(const AttachResultV_template& other_value);
boolean match(const AttachResultV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AttachResultV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AttachResultV_template& list_item(unsigned int list_index) const;
BITSTRING_template& resultOfAttach();
const BITSTRING_template& resultOfAttach() const;
BITSTRING_template& fop__l3();
const BITSTRING_template& fop__l3() const;
int size_of() const;
void log() const;
void log_match(const AttachResultV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AttachTypeV : public Base_Type {
  BITSTRING field_attachType;
  BITSTRING field_for__l3;
public:
  AttachTypeV();
  AttachTypeV(const BITSTRING& par_attachType,
    const BITSTRING& par_for__l3);
  AttachTypeV(const AttachTypeV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AttachTypeV& operator=(const AttachTypeV& other_value);
  boolean operator==(const AttachTypeV& other_value) const;
  inline boolean operator!=(const AttachTypeV& 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& attachType()
    {return field_attachType;}
  inline const BITSTRING& attachType() const
    {return field_attachType;}
  inline BITSTRING& for__l3()
    {return field_for__l3;}
  inline const BITSTRING& for__l3() const
    {return field_for__l3;}
  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 AttachTypeV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AttachTypeV_template *list_value;
} value_list;
struct {
AttachTypeV_template* precondition;
AttachTypeV_template* implied_template;
} implication_;
dynmatch_struct<AttachTypeV>* dyn_match;
};

void set_specific();
void copy_value(const AttachTypeV& other_value);
void copy_template(const AttachTypeV_template& other_value);

public:
AttachTypeV_template();
AttachTypeV_template(template_sel other_value);
AttachTypeV_template(const AttachTypeV& other_value);
AttachTypeV_template(const OPTIONAL<AttachTypeV>& other_value);
AttachTypeV_template(AttachTypeV_template* p_precondition, AttachTypeV_template* p_implied_template);
AttachTypeV_template(Dynamic_Match_Interface<AttachTypeV>* p_dyn_match);
AttachTypeV_template(const AttachTypeV_template& other_value);
~AttachTypeV_template();
AttachTypeV_template& operator=(template_sel other_value);
AttachTypeV_template& operator=(const AttachTypeV& other_value);
AttachTypeV_template& operator=(const OPTIONAL<AttachTypeV>& other_value);
AttachTypeV_template& operator=(const AttachTypeV_template& other_value);
boolean match(const AttachTypeV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AttachTypeV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AttachTypeV_template& list_item(unsigned int list_index) const;
BITSTRING_template& attachType();
const BITSTRING_template& attachType() const;
BITSTRING_template& for__l3();
const BITSTRING_template& for__l3() const;
int size_of() const;
void log() const;
void log_match(const AttachTypeV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class CipheringAlgorithmV : public Base_Type {
  BITSTRING field_valueField;
  BITSTRING field_spare;
public:
  CipheringAlgorithmV();
  CipheringAlgorithmV(const BITSTRING& par_valueField,
    const BITSTRING& par_spare);
  CipheringAlgorithmV(const CipheringAlgorithmV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CipheringAlgorithmV& operator=(const CipheringAlgorithmV& other_value);
  boolean operator==(const CipheringAlgorithmV& other_value) const;
  inline boolean operator!=(const CipheringAlgorithmV& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 CipheringAlgorithmV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CipheringAlgorithmV_template *list_value;
} value_list;
struct {
CipheringAlgorithmV_template* precondition;
CipheringAlgorithmV_template* implied_template;
} implication_;
dynmatch_struct<CipheringAlgorithmV>* dyn_match;
};

void set_specific();
void copy_value(const CipheringAlgorithmV& other_value);
void copy_template(const CipheringAlgorithmV_template& other_value);

public:
CipheringAlgorithmV_template();
CipheringAlgorithmV_template(template_sel other_value);
CipheringAlgorithmV_template(const CipheringAlgorithmV& other_value);
CipheringAlgorithmV_template(const OPTIONAL<CipheringAlgorithmV>& other_value);
CipheringAlgorithmV_template(CipheringAlgorithmV_template* p_precondition, CipheringAlgorithmV_template* p_implied_template);
CipheringAlgorithmV_template(Dynamic_Match_Interface<CipheringAlgorithmV>* p_dyn_match);
CipheringAlgorithmV_template(const CipheringAlgorithmV_template& other_value);
~CipheringAlgorithmV_template();
CipheringAlgorithmV_template& operator=(template_sel other_value);
CipheringAlgorithmV_template& operator=(const CipheringAlgorithmV& other_value);
CipheringAlgorithmV_template& operator=(const OPTIONAL<CipheringAlgorithmV>& other_value);
CipheringAlgorithmV_template& operator=(const CipheringAlgorithmV_template& other_value);
boolean match(const CipheringAlgorithmV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CipheringAlgorithmV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CipheringAlgorithmV_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const CipheringAlgorithmV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class CipheringAlgorithmTV : public Base_Type {
  CipheringAlgorithmV field_cipheringAlgorithm;
  BITSTRING field_cipheringAlgorithmIEI;
public:
  CipheringAlgorithmTV();
  CipheringAlgorithmTV(const CipheringAlgorithmV& par_cipheringAlgorithm,
    const BITSTRING& par_cipheringAlgorithmIEI);
  CipheringAlgorithmTV(const CipheringAlgorithmTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CipheringAlgorithmTV& operator=(const CipheringAlgorithmTV& other_value);
  boolean operator==(const CipheringAlgorithmTV& other_value) const;
  inline boolean operator!=(const CipheringAlgorithmTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline CipheringAlgorithmV& cipheringAlgorithm()
    {return field_cipheringAlgorithm;}
  inline const CipheringAlgorithmV& cipheringAlgorithm() const
    {return field_cipheringAlgorithm;}
  inline BITSTRING& cipheringAlgorithmIEI()
    {return field_cipheringAlgorithmIEI;}
  inline const BITSTRING& cipheringAlgorithmIEI() const
    {return field_cipheringAlgorithmIEI;}
  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 CipheringAlgorithmTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CipheringAlgorithmTV_template *list_value;
} value_list;
struct {
CipheringAlgorithmTV_template* precondition;
CipheringAlgorithmTV_template* implied_template;
} implication_;
dynmatch_struct<CipheringAlgorithmTV>* dyn_match;
};

void set_specific();
void copy_value(const CipheringAlgorithmTV& other_value);
void copy_template(const CipheringAlgorithmTV_template& other_value);

public:
CipheringAlgorithmTV_template();
CipheringAlgorithmTV_template(template_sel other_value);
CipheringAlgorithmTV_template(const CipheringAlgorithmTV& other_value);
CipheringAlgorithmTV_template(const OPTIONAL<CipheringAlgorithmTV>& other_value);
CipheringAlgorithmTV_template(CipheringAlgorithmTV_template* p_precondition, CipheringAlgorithmTV_template* p_implied_template);
CipheringAlgorithmTV_template(Dynamic_Match_Interface<CipheringAlgorithmTV>* p_dyn_match);
CipheringAlgorithmTV_template(const CipheringAlgorithmTV_template& other_value);
~CipheringAlgorithmTV_template();
CipheringAlgorithmTV_template& operator=(template_sel other_value);
CipheringAlgorithmTV_template& operator=(const CipheringAlgorithmTV& other_value);
CipheringAlgorithmTV_template& operator=(const OPTIONAL<CipheringAlgorithmTV>& other_value);
CipheringAlgorithmTV_template& operator=(const CipheringAlgorithmTV_template& other_value);
boolean match(const CipheringAlgorithmTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CipheringAlgorithmTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CipheringAlgorithmTV_template& list_item(unsigned int list_index) const;
CipheringAlgorithmV_template& cipheringAlgorithm();
const CipheringAlgorithmV_template& cipheringAlgorithm() const;
BITSTRING_template& cipheringAlgorithmIEI();
const BITSTRING_template& cipheringAlgorithmIEI() const;
int size_of() const;
void log() const;
void log_match(const CipheringAlgorithmTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TMSIStatusV : public Base_Type {
  BITSTRING field_tmsiFlag;
  BITSTRING field_spare;
public:
  TMSIStatusV();
  TMSIStatusV(const BITSTRING& par_tmsiFlag,
    const BITSTRING& par_spare);
  TMSIStatusV(const TMSIStatusV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TMSIStatusV& operator=(const TMSIStatusV& other_value);
  boolean operator==(const TMSIStatusV& other_value) const;
  inline boolean operator!=(const TMSIStatusV& 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& tmsiFlag()
    {return field_tmsiFlag;}
  inline const BITSTRING& tmsiFlag() const
    {return field_tmsiFlag;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 TMSIStatusV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TMSIStatusV_template *list_value;
} value_list;
struct {
TMSIStatusV_template* precondition;
TMSIStatusV_template* implied_template;
} implication_;
dynmatch_struct<TMSIStatusV>* dyn_match;
};

void set_specific();
void copy_value(const TMSIStatusV& other_value);
void copy_template(const TMSIStatusV_template& other_value);

public:
TMSIStatusV_template();
TMSIStatusV_template(template_sel other_value);
TMSIStatusV_template(const TMSIStatusV& other_value);
TMSIStatusV_template(const OPTIONAL<TMSIStatusV>& other_value);
TMSIStatusV_template(TMSIStatusV_template* p_precondition, TMSIStatusV_template* p_implied_template);
TMSIStatusV_template(Dynamic_Match_Interface<TMSIStatusV>* p_dyn_match);
TMSIStatusV_template(const TMSIStatusV_template& other_value);
~TMSIStatusV_template();
TMSIStatusV_template& operator=(template_sel other_value);
TMSIStatusV_template& operator=(const TMSIStatusV& other_value);
TMSIStatusV_template& operator=(const OPTIONAL<TMSIStatusV>& other_value);
TMSIStatusV_template& operator=(const TMSIStatusV_template& other_value);
boolean match(const TMSIStatusV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TMSIStatusV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TMSIStatusV_template& list_item(unsigned int list_index) const;
BITSTRING_template& tmsiFlag();
const BITSTRING_template& tmsiFlag() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const TMSIStatusV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TMSIStatusTV : public Base_Type {
  TMSIStatusV field_tmsiStatusV;
  BITSTRING field_elementIdentifier;
public:
  TMSIStatusTV();
  TMSIStatusTV(const TMSIStatusV& par_tmsiStatusV,
    const BITSTRING& par_elementIdentifier);
  TMSIStatusTV(const TMSIStatusTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TMSIStatusTV& operator=(const TMSIStatusTV& other_value);
  boolean operator==(const TMSIStatusTV& other_value) const;
  inline boolean operator!=(const TMSIStatusTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline TMSIStatusV& tmsiStatusV()
    {return field_tmsiStatusV;}
  inline const TMSIStatusV& tmsiStatusV() const
    {return field_tmsiStatusV;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 TMSIStatusTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TMSIStatusTV_template *list_value;
} value_list;
struct {
TMSIStatusTV_template* precondition;
TMSIStatusTV_template* implied_template;
} implication_;
dynmatch_struct<TMSIStatusTV>* dyn_match;
};

void set_specific();
void copy_value(const TMSIStatusTV& other_value);
void copy_template(const TMSIStatusTV_template& other_value);

public:
TMSIStatusTV_template();
TMSIStatusTV_template(template_sel other_value);
TMSIStatusTV_template(const TMSIStatusTV& other_value);
TMSIStatusTV_template(const OPTIONAL<TMSIStatusTV>& other_value);
TMSIStatusTV_template(TMSIStatusTV_template* p_precondition, TMSIStatusTV_template* p_implied_template);
TMSIStatusTV_template(Dynamic_Match_Interface<TMSIStatusTV>* p_dyn_match);
TMSIStatusTV_template(const TMSIStatusTV_template& other_value);
~TMSIStatusTV_template();
TMSIStatusTV_template& operator=(template_sel other_value);
TMSIStatusTV_template& operator=(const TMSIStatusTV& other_value);
TMSIStatusTV_template& operator=(const OPTIONAL<TMSIStatusTV>& other_value);
TMSIStatusTV_template& operator=(const TMSIStatusTV_template& other_value);
boolean match(const TMSIStatusTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TMSIStatusTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TMSIStatusTV_template& list_item(unsigned int list_index) const;
TMSIStatusV_template& tmsiStatusV();
const TMSIStatusV_template& tmsiStatusV() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const TMSIStatusTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class DetachTypeV : public Base_Type {
  BITSTRING field_detachType;
  BITSTRING field_powerOffFlag;
public:
  DetachTypeV();
  DetachTypeV(const BITSTRING& par_detachType,
    const BITSTRING& par_powerOffFlag);
  DetachTypeV(const DetachTypeV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DetachTypeV& operator=(const DetachTypeV& other_value);
  boolean operator==(const DetachTypeV& other_value) const;
  inline boolean operator!=(const DetachTypeV& 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& detachType()
    {return field_detachType;}
  inline const BITSTRING& detachType() const
    {return field_detachType;}
  inline BITSTRING& powerOffFlag()
    {return field_powerOffFlag;}
  inline const BITSTRING& powerOffFlag() const
    {return field_powerOffFlag;}
  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 DetachTypeV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DetachTypeV_template *list_value;
} value_list;
struct {
DetachTypeV_template* precondition;
DetachTypeV_template* implied_template;
} implication_;
dynmatch_struct<DetachTypeV>* dyn_match;
};

void set_specific();
void copy_value(const DetachTypeV& other_value);
void copy_template(const DetachTypeV_template& other_value);

public:
DetachTypeV_template();
DetachTypeV_template(template_sel other_value);
DetachTypeV_template(const DetachTypeV& other_value);
DetachTypeV_template(const OPTIONAL<DetachTypeV>& other_value);
DetachTypeV_template(DetachTypeV_template* p_precondition, DetachTypeV_template* p_implied_template);
DetachTypeV_template(Dynamic_Match_Interface<DetachTypeV>* p_dyn_match);
DetachTypeV_template(const DetachTypeV_template& other_value);
~DetachTypeV_template();
DetachTypeV_template& operator=(template_sel other_value);
DetachTypeV_template& operator=(const DetachTypeV& other_value);
DetachTypeV_template& operator=(const OPTIONAL<DetachTypeV>& other_value);
DetachTypeV_template& operator=(const DetachTypeV_template& other_value);
boolean match(const DetachTypeV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DetachTypeV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DetachTypeV_template& list_item(unsigned int list_index) const;
BITSTRING_template& detachType();
const BITSTRING_template& detachType() const;
BITSTRING_template& powerOffFlag();
const BITSTRING_template& powerOffFlag() const;
int size_of() const;
void log() const;
void log_match(const DetachTypeV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class DetachTypeTV : public Base_Type {
  DetachTypeV field_detachTypeV;
  BITSTRING field_detachTypeIEI;
public:
  DetachTypeTV();
  DetachTypeTV(const DetachTypeV& par_detachTypeV,
    const BITSTRING& par_detachTypeIEI);
  DetachTypeTV(const DetachTypeTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DetachTypeTV& operator=(const DetachTypeTV& other_value);
  boolean operator==(const DetachTypeTV& other_value) const;
  inline boolean operator!=(const DetachTypeTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline DetachTypeV& detachTypeV()
    {return field_detachTypeV;}
  inline const DetachTypeV& detachTypeV() const
    {return field_detachTypeV;}
  inline BITSTRING& detachTypeIEI()
    {return field_detachTypeIEI;}
  inline const BITSTRING& detachTypeIEI() const
    {return field_detachTypeIEI;}
  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 DetachTypeTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DetachTypeTV_template *list_value;
} value_list;
struct {
DetachTypeTV_template* precondition;
DetachTypeTV_template* implied_template;
} implication_;
dynmatch_struct<DetachTypeTV>* dyn_match;
};

void set_specific();
void copy_value(const DetachTypeTV& other_value);
void copy_template(const DetachTypeTV_template& other_value);

public:
DetachTypeTV_template();
DetachTypeTV_template(template_sel other_value);
DetachTypeTV_template(const DetachTypeTV& other_value);
DetachTypeTV_template(const OPTIONAL<DetachTypeTV>& other_value);
DetachTypeTV_template(DetachTypeTV_template* p_precondition, DetachTypeTV_template* p_implied_template);
DetachTypeTV_template(Dynamic_Match_Interface<DetachTypeTV>* p_dyn_match);
DetachTypeTV_template(const DetachTypeTV_template& other_value);
~DetachTypeTV_template();
DetachTypeTV_template& operator=(template_sel other_value);
DetachTypeTV_template& operator=(const DetachTypeTV& other_value);
DetachTypeTV_template& operator=(const OPTIONAL<DetachTypeTV>& other_value);
DetachTypeTV_template& operator=(const DetachTypeTV_template& other_value);
boolean match(const DetachTypeTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DetachTypeTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DetachTypeTV_template& list_item(unsigned int list_index) const;
DetachTypeV_template& detachTypeV();
const DetachTypeV_template& detachTypeV() const;
BITSTRING_template& detachTypeIEI();
const BITSTRING_template& detachTypeIEI() const;
int size_of() const;
void log() const;
void log_match(const DetachTypeTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class DRXParameterV : public Base_Type {
  OCTETSTRING field_splitPGCycleCode;
  BITSTRING field_nonDRXTimer;
  BITSTRING field_splitOnCCCH;
  BITSTRING field_cnSpecificDRXCycleLength;
public:
  DRXParameterV();
  DRXParameterV(const OCTETSTRING& par_splitPGCycleCode,
    const BITSTRING& par_nonDRXTimer,
    const BITSTRING& par_splitOnCCCH,
    const BITSTRING& par_cnSpecificDRXCycleLength);
  DRXParameterV(const DRXParameterV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DRXParameterV& operator=(const DRXParameterV& other_value);
  boolean operator==(const DRXParameterV& other_value) const;
  inline boolean operator!=(const DRXParameterV& 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& splitPGCycleCode()
    {return field_splitPGCycleCode;}
  inline const OCTETSTRING& splitPGCycleCode() const
    {return field_splitPGCycleCode;}
  inline BITSTRING& nonDRXTimer()
    {return field_nonDRXTimer;}
  inline const BITSTRING& nonDRXTimer() const
    {return field_nonDRXTimer;}
  inline BITSTRING& splitOnCCCH()
    {return field_splitOnCCCH;}
  inline const BITSTRING& splitOnCCCH() const
    {return field_splitOnCCCH;}
  inline BITSTRING& cnSpecificDRXCycleLength()
    {return field_cnSpecificDRXCycleLength;}
  inline const BITSTRING& cnSpecificDRXCycleLength() const
    {return field_cnSpecificDRXCycleLength;}
  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 DRXParameterV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DRXParameterV_template *list_value;
} value_list;
struct {
DRXParameterV_template* precondition;
DRXParameterV_template* implied_template;
} implication_;
dynmatch_struct<DRXParameterV>* dyn_match;
};

void set_specific();
void copy_value(const DRXParameterV& other_value);
void copy_template(const DRXParameterV_template& other_value);

public:
DRXParameterV_template();
DRXParameterV_template(template_sel other_value);
DRXParameterV_template(const DRXParameterV& other_value);
DRXParameterV_template(const OPTIONAL<DRXParameterV>& other_value);
DRXParameterV_template(DRXParameterV_template* p_precondition, DRXParameterV_template* p_implied_template);
DRXParameterV_template(Dynamic_Match_Interface<DRXParameterV>* p_dyn_match);
DRXParameterV_template(const DRXParameterV_template& other_value);
~DRXParameterV_template();
DRXParameterV_template& operator=(template_sel other_value);
DRXParameterV_template& operator=(const DRXParameterV& other_value);
DRXParameterV_template& operator=(const OPTIONAL<DRXParameterV>& other_value);
DRXParameterV_template& operator=(const DRXParameterV_template& other_value);
boolean match(const DRXParameterV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DRXParameterV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DRXParameterV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& splitPGCycleCode();
const OCTETSTRING_template& splitPGCycleCode() const;
BITSTRING_template& nonDRXTimer();
const BITSTRING_template& nonDRXTimer() const;
BITSTRING_template& splitOnCCCH();
const BITSTRING_template& splitOnCCCH() const;
BITSTRING_template& cnSpecificDRXCycleLength();
const BITSTRING_template& cnSpecificDRXCycleLength() const;
int size_of() const;
void log() const;
void log_match(const DRXParameterV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class DRXParameterTV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  DRXParameterV field_drxParameter;
public:
  DRXParameterTV();
  DRXParameterTV(const OCTETSTRING& par_elementIdentifier,
    const DRXParameterV& par_drxParameter);
  DRXParameterTV(const DRXParameterTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DRXParameterTV& operator=(const DRXParameterTV& other_value);
  boolean operator==(const DRXParameterTV& other_value) const;
  inline boolean operator!=(const DRXParameterTV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline DRXParameterV& drxParameter()
    {return field_drxParameter;}
  inline const DRXParameterV& drxParameter() const
    {return field_drxParameter;}
  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 DRXParameterTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DRXParameterTV_template *list_value;
} value_list;
struct {
DRXParameterTV_template* precondition;
DRXParameterTV_template* implied_template;
} implication_;
dynmatch_struct<DRXParameterTV>* dyn_match;
};

void set_specific();
void copy_value(const DRXParameterTV& other_value);
void copy_template(const DRXParameterTV_template& other_value);

public:
DRXParameterTV_template();
DRXParameterTV_template(template_sel other_value);
DRXParameterTV_template(const DRXParameterTV& other_value);
DRXParameterTV_template(const OPTIONAL<DRXParameterTV>& other_value);
DRXParameterTV_template(DRXParameterTV_template* p_precondition, DRXParameterTV_template* p_implied_template);
DRXParameterTV_template(Dynamic_Match_Interface<DRXParameterTV>* p_dyn_match);
DRXParameterTV_template(const DRXParameterTV_template& other_value);
~DRXParameterTV_template();
DRXParameterTV_template& operator=(template_sel other_value);
DRXParameterTV_template& operator=(const DRXParameterTV& other_value);
DRXParameterTV_template& operator=(const OPTIONAL<DRXParameterTV>& other_value);
DRXParameterTV_template& operator=(const DRXParameterTV_template& other_value);
boolean match(const DRXParameterTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DRXParameterTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DRXParameterTV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
DRXParameterV_template& drxParameter();
const DRXParameterV_template& drxParameter() const;
int size_of() const;
void log() const;
void log_match(const DRXParameterTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ForceToStandbyV : public Base_Type {
  BITSTRING field_forceToStandbyValue;
  BITSTRING field_spare;
public:
  ForceToStandbyV();
  ForceToStandbyV(const BITSTRING& par_forceToStandbyValue,
    const BITSTRING& par_spare);
  ForceToStandbyV(const ForceToStandbyV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ForceToStandbyV& operator=(const ForceToStandbyV& other_value);
  boolean operator==(const ForceToStandbyV& other_value) const;
  inline boolean operator!=(const ForceToStandbyV& 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& forceToStandbyValue()
    {return field_forceToStandbyValue;}
  inline const BITSTRING& forceToStandbyValue() const
    {return field_forceToStandbyValue;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 ForceToStandbyV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ForceToStandbyV_template *list_value;
} value_list;
struct {
ForceToStandbyV_template* precondition;
ForceToStandbyV_template* implied_template;
} implication_;
dynmatch_struct<ForceToStandbyV>* dyn_match;
};

void set_specific();
void copy_value(const ForceToStandbyV& other_value);
void copy_template(const ForceToStandbyV_template& other_value);

public:
ForceToStandbyV_template();
ForceToStandbyV_template(template_sel other_value);
ForceToStandbyV_template(const ForceToStandbyV& other_value);
ForceToStandbyV_template(const OPTIONAL<ForceToStandbyV>& other_value);
ForceToStandbyV_template(ForceToStandbyV_template* p_precondition, ForceToStandbyV_template* p_implied_template);
ForceToStandbyV_template(Dynamic_Match_Interface<ForceToStandbyV>* p_dyn_match);
ForceToStandbyV_template(const ForceToStandbyV_template& other_value);
~ForceToStandbyV_template();
ForceToStandbyV_template& operator=(template_sel other_value);
ForceToStandbyV_template& operator=(const ForceToStandbyV& other_value);
ForceToStandbyV_template& operator=(const OPTIONAL<ForceToStandbyV>& other_value);
ForceToStandbyV_template& operator=(const ForceToStandbyV_template& other_value);
boolean match(const ForceToStandbyV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ForceToStandbyV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ForceToStandbyV_template& list_item(unsigned int list_index) const;
BITSTRING_template& forceToStandbyValue();
const BITSTRING_template& forceToStandbyValue() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const ForceToStandbyV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ForceToStandbyTV : public Base_Type {
  ForceToStandbyV field_valueField;
  BITSTRING field_forceToStandbyIEI;
public:
  ForceToStandbyTV();
  ForceToStandbyTV(const ForceToStandbyV& par_valueField,
    const BITSTRING& par_forceToStandbyIEI);
  ForceToStandbyTV(const ForceToStandbyTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ForceToStandbyTV& operator=(const ForceToStandbyTV& other_value);
  boolean operator==(const ForceToStandbyTV& other_value) const;
  inline boolean operator!=(const ForceToStandbyTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline ForceToStandbyV& valueField()
    {return field_valueField;}
  inline const ForceToStandbyV& valueField() const
    {return field_valueField;}
  inline BITSTRING& forceToStandbyIEI()
    {return field_forceToStandbyIEI;}
  inline const BITSTRING& forceToStandbyIEI() const
    {return field_forceToStandbyIEI;}
  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 ForceToStandbyTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ForceToStandbyTV_template *list_value;
} value_list;
struct {
ForceToStandbyTV_template* precondition;
ForceToStandbyTV_template* implied_template;
} implication_;
dynmatch_struct<ForceToStandbyTV>* dyn_match;
};

void set_specific();
void copy_value(const ForceToStandbyTV& other_value);
void copy_template(const ForceToStandbyTV_template& other_value);

public:
ForceToStandbyTV_template();
ForceToStandbyTV_template(template_sel other_value);
ForceToStandbyTV_template(const ForceToStandbyTV& other_value);
ForceToStandbyTV_template(const OPTIONAL<ForceToStandbyTV>& other_value);
ForceToStandbyTV_template(ForceToStandbyTV_template* p_precondition, ForceToStandbyTV_template* p_implied_template);
ForceToStandbyTV_template(Dynamic_Match_Interface<ForceToStandbyTV>* p_dyn_match);
ForceToStandbyTV_template(const ForceToStandbyTV_template& other_value);
~ForceToStandbyTV_template();
ForceToStandbyTV_template& operator=(template_sel other_value);
ForceToStandbyTV_template& operator=(const ForceToStandbyTV& other_value);
ForceToStandbyTV_template& operator=(const OPTIONAL<ForceToStandbyTV>& other_value);
ForceToStandbyTV_template& operator=(const ForceToStandbyTV_template& other_value);
boolean match(const ForceToStandbyTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ForceToStandbyTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ForceToStandbyTV_template& list_item(unsigned int list_index) const;
ForceToStandbyV_template& valueField();
const ForceToStandbyV_template& valueField() const;
BITSTRING_template& forceToStandbyIEI();
const BITSTRING_template& forceToStandbyIEI() const;
int size_of() const;
void log() const;
void log_match(const ForceToStandbyTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class P__TMSISignatureTV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  OCTETSTRING field_valueField;
public:
  P__TMSISignatureTV();
  P__TMSISignatureTV(const OCTETSTRING& par_elementIdentifier,
    const OCTETSTRING& par_valueField);
  P__TMSISignatureTV(const P__TMSISignatureTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  P__TMSISignatureTV& operator=(const P__TMSISignatureTV& other_value);
  boolean operator==(const P__TMSISignatureTV& other_value) const;
  inline boolean operator!=(const P__TMSISignatureTV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline OCTETSTRING& valueField()
    {return field_valueField;}
  inline const OCTETSTRING& valueField() const
    {return field_valueField;}
  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 P__TMSISignatureTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
P__TMSISignatureTV_template *list_value;
} value_list;
struct {
P__TMSISignatureTV_template* precondition;
P__TMSISignatureTV_template* implied_template;
} implication_;
dynmatch_struct<P__TMSISignatureTV>* dyn_match;
};

void set_specific();
void copy_value(const P__TMSISignatureTV& other_value);
void copy_template(const P__TMSISignatureTV_template& other_value);

public:
P__TMSISignatureTV_template();
P__TMSISignatureTV_template(template_sel other_value);
P__TMSISignatureTV_template(const P__TMSISignatureTV& other_value);
P__TMSISignatureTV_template(const OPTIONAL<P__TMSISignatureTV>& other_value);
P__TMSISignatureTV_template(P__TMSISignatureTV_template* p_precondition, P__TMSISignatureTV_template* p_implied_template);
P__TMSISignatureTV_template(Dynamic_Match_Interface<P__TMSISignatureTV>* p_dyn_match);
P__TMSISignatureTV_template(const P__TMSISignatureTV_template& other_value);
~P__TMSISignatureTV_template();
P__TMSISignatureTV_template& operator=(template_sel other_value);
P__TMSISignatureTV_template& operator=(const P__TMSISignatureTV& other_value);
P__TMSISignatureTV_template& operator=(const OPTIONAL<P__TMSISignatureTV>& other_value);
P__TMSISignatureTV_template& operator=(const P__TMSISignatureTV_template& other_value);
boolean match(const P__TMSISignatureTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
P__TMSISignatureTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
P__TMSISignatureTV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
OCTETSTRING_template& valueField();
const OCTETSTRING_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const P__TMSISignatureTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class IdentityType2V : public Base_Type {
  BITSTRING field_valueField;
  BITSTRING field_spare;
public:
  IdentityType2V();
  IdentityType2V(const BITSTRING& par_valueField,
    const BITSTRING& par_spare);
  IdentityType2V(const IdentityType2V& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  IdentityType2V& operator=(const IdentityType2V& other_value);
  boolean operator==(const IdentityType2V& other_value) const;
  inline boolean operator!=(const IdentityType2V& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 IdentityType2V_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
IdentityType2V_template *list_value;
} value_list;
struct {
IdentityType2V_template* precondition;
IdentityType2V_template* implied_template;
} implication_;
dynmatch_struct<IdentityType2V>* dyn_match;
};

void set_specific();
void copy_value(const IdentityType2V& other_value);
void copy_template(const IdentityType2V_template& other_value);

public:
IdentityType2V_template();
IdentityType2V_template(template_sel other_value);
IdentityType2V_template(const IdentityType2V& other_value);
IdentityType2V_template(const OPTIONAL<IdentityType2V>& other_value);
IdentityType2V_template(IdentityType2V_template* p_precondition, IdentityType2V_template* p_implied_template);
IdentityType2V_template(Dynamic_Match_Interface<IdentityType2V>* p_dyn_match);
IdentityType2V_template(const IdentityType2V_template& other_value);
~IdentityType2V_template();
IdentityType2V_template& operator=(template_sel other_value);
IdentityType2V_template& operator=(const IdentityType2V& other_value);
IdentityType2V_template& operator=(const OPTIONAL<IdentityType2V>& other_value);
IdentityType2V_template& operator=(const IdentityType2V_template& other_value);
boolean match(const IdentityType2V& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
IdentityType2V valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
IdentityType2V_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const IdentityType2V& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class IdentityType2TV : public Base_Type {
  IdentityType2V field_valueField;
  BITSTRING field_identityType2IEI;
public:
  IdentityType2TV();
  IdentityType2TV(const IdentityType2V& par_valueField,
    const BITSTRING& par_identityType2IEI);
  IdentityType2TV(const IdentityType2TV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  IdentityType2TV& operator=(const IdentityType2TV& other_value);
  boolean operator==(const IdentityType2TV& other_value) const;
  inline boolean operator!=(const IdentityType2TV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline IdentityType2V& valueField()
    {return field_valueField;}
  inline const IdentityType2V& valueField() const
    {return field_valueField;}
  inline BITSTRING& identityType2IEI()
    {return field_identityType2IEI;}
  inline const BITSTRING& identityType2IEI() const
    {return field_identityType2IEI;}
  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 IdentityType2TV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
IdentityType2TV_template *list_value;
} value_list;
struct {
IdentityType2TV_template* precondition;
IdentityType2TV_template* implied_template;
} implication_;
dynmatch_struct<IdentityType2TV>* dyn_match;
};

void set_specific();
void copy_value(const IdentityType2TV& other_value);
void copy_template(const IdentityType2TV_template& other_value);

public:
IdentityType2TV_template();
IdentityType2TV_template(template_sel other_value);
IdentityType2TV_template(const IdentityType2TV& other_value);
IdentityType2TV_template(const OPTIONAL<IdentityType2TV>& other_value);
IdentityType2TV_template(IdentityType2TV_template* p_precondition, IdentityType2TV_template* p_implied_template);
IdentityType2TV_template(Dynamic_Match_Interface<IdentityType2TV>* p_dyn_match);
IdentityType2TV_template(const IdentityType2TV_template& other_value);
~IdentityType2TV_template();
IdentityType2TV_template& operator=(template_sel other_value);
IdentityType2TV_template& operator=(const IdentityType2TV& other_value);
IdentityType2TV_template& operator=(const OPTIONAL<IdentityType2TV>& other_value);
IdentityType2TV_template& operator=(const IdentityType2TV_template& other_value);
boolean match(const IdentityType2TV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
IdentityType2TV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
IdentityType2TV_template& list_item(unsigned int list_index) const;
IdentityType2V_template& valueField();
const IdentityType2V_template& valueField() const;
BITSTRING_template& identityType2IEI();
const BITSTRING_template& identityType2IEI() const;
int size_of() const;
void log() const;
void log_match(const IdentityType2TV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class IMEISVRequestV : public Base_Type {
  BITSTRING field_valueField;
  BITSTRING field_spare;
public:
  IMEISVRequestV();
  IMEISVRequestV(const BITSTRING& par_valueField,
    const BITSTRING& par_spare);
  IMEISVRequestV(const IMEISVRequestV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  IMEISVRequestV& operator=(const IMEISVRequestV& other_value);
  boolean operator==(const IMEISVRequestV& other_value) const;
  inline boolean operator!=(const IMEISVRequestV& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 IMEISVRequestV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
IMEISVRequestV_template *list_value;
} value_list;
struct {
IMEISVRequestV_template* precondition;
IMEISVRequestV_template* implied_template;
} implication_;
dynmatch_struct<IMEISVRequestV>* dyn_match;
};

void set_specific();
void copy_value(const IMEISVRequestV& other_value);
void copy_template(const IMEISVRequestV_template& other_value);

public:
IMEISVRequestV_template();
IMEISVRequestV_template(template_sel other_value);
IMEISVRequestV_template(const IMEISVRequestV& other_value);
IMEISVRequestV_template(const OPTIONAL<IMEISVRequestV>& other_value);
IMEISVRequestV_template(IMEISVRequestV_template* p_precondition, IMEISVRequestV_template* p_implied_template);
IMEISVRequestV_template(Dynamic_Match_Interface<IMEISVRequestV>* p_dyn_match);
IMEISVRequestV_template(const IMEISVRequestV_template& other_value);
~IMEISVRequestV_template();
IMEISVRequestV_template& operator=(template_sel other_value);
IMEISVRequestV_template& operator=(const IMEISVRequestV& other_value);
IMEISVRequestV_template& operator=(const OPTIONAL<IMEISVRequestV>& other_value);
IMEISVRequestV_template& operator=(const IMEISVRequestV_template& other_value);
boolean match(const IMEISVRequestV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
IMEISVRequestV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
IMEISVRequestV_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const IMEISVRequestV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class IMEISVRequestTV : public Base_Type {
  IMEISVRequestV field_imeisvRequest;
  BITSTRING field_imeisvRequestIEI;
public:
  IMEISVRequestTV();
  IMEISVRequestTV(const IMEISVRequestV& par_imeisvRequest,
    const BITSTRING& par_imeisvRequestIEI);
  IMEISVRequestTV(const IMEISVRequestTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  IMEISVRequestTV& operator=(const IMEISVRequestTV& other_value);
  boolean operator==(const IMEISVRequestTV& other_value) const;
  inline boolean operator!=(const IMEISVRequestTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline IMEISVRequestV& imeisvRequest()
    {return field_imeisvRequest;}
  inline const IMEISVRequestV& imeisvRequest() const
    {return field_imeisvRequest;}
  inline BITSTRING& imeisvRequestIEI()
    {return field_imeisvRequestIEI;}
  inline const BITSTRING& imeisvRequestIEI() const
    {return field_imeisvRequestIEI;}
  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 IMEISVRequestTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
IMEISVRequestTV_template *list_value;
} value_list;
struct {
IMEISVRequestTV_template* precondition;
IMEISVRequestTV_template* implied_template;
} implication_;
dynmatch_struct<IMEISVRequestTV>* dyn_match;
};

void set_specific();
void copy_value(const IMEISVRequestTV& other_value);
void copy_template(const IMEISVRequestTV_template& other_value);

public:
IMEISVRequestTV_template();
IMEISVRequestTV_template(template_sel other_value);
IMEISVRequestTV_template(const IMEISVRequestTV& other_value);
IMEISVRequestTV_template(const OPTIONAL<IMEISVRequestTV>& other_value);
IMEISVRequestTV_template(IMEISVRequestTV_template* p_precondition, IMEISVRequestTV_template* p_implied_template);
IMEISVRequestTV_template(Dynamic_Match_Interface<IMEISVRequestTV>* p_dyn_match);
IMEISVRequestTV_template(const IMEISVRequestTV_template& other_value);
~IMEISVRequestTV_template();
IMEISVRequestTV_template& operator=(template_sel other_value);
IMEISVRequestTV_template& operator=(const IMEISVRequestTV& other_value);
IMEISVRequestTV_template& operator=(const OPTIONAL<IMEISVRequestTV>& other_value);
IMEISVRequestTV_template& operator=(const IMEISVRequestTV_template& other_value);
boolean match(const IMEISVRequestTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
IMEISVRequestTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
IMEISVRequestTV_template& list_item(unsigned int list_index) const;
IMEISVRequestV_template& imeisvRequest();
const IMEISVRequestV_template& imeisvRequest() const;
BITSTRING_template& imeisvRequestIEI();
const BITSTRING_template& imeisvRequestIEI() const;
int size_of() const;
void log() const;
void log_match(const IMEISVRequestTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ReceiveNPDUNumbersListV : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
ReceiveNPDUNumber **value_elements;
} *val_ptr;

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

public:
  typedef ReceiveNPDUNumber of_type;
ReceiveNPDUNumbersListV();
ReceiveNPDUNumbersListV(null_type other_value);
ReceiveNPDUNumbersListV(const ReceiveNPDUNumbersListV& other_value);
~ReceiveNPDUNumbersListV();

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

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

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

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

ReceiveNPDUNumbersListV operator+(const ReceiveNPDUNumbersListV& other_value) const;

ReceiveNPDUNumbersListV substr(int index, int returncount) const;

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

ReceiveNPDUNumbersListV replace(int index, int len, const ReceiveNPDUNumbersListV_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 ReceiveNPDUNumbersListV_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
ReceiveNPDUNumber_template **value_elements;
} single_value;
struct {
unsigned int n_values;
ReceiveNPDUNumbersListV_template *list_value;
} value_list;
struct {
ReceiveNPDUNumbersListV_template* precondition;
ReceiveNPDUNumbersListV_template* implied_template;
} implication_;
dynmatch_struct<ReceiveNPDUNumbersListV>* dyn_match;
};
void copy_value(const ReceiveNPDUNumbersListV& other_value);
void copy_template(const ReceiveNPDUNumbersListV_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:
ReceiveNPDUNumbersListV_template();
ReceiveNPDUNumbersListV_template(template_sel other_value);
ReceiveNPDUNumbersListV_template(null_type other_value);
ReceiveNPDUNumbersListV_template(const ReceiveNPDUNumbersListV& other_value);
ReceiveNPDUNumbersListV_template(const OPTIONAL<ReceiveNPDUNumbersListV>& other_value);
ReceiveNPDUNumbersListV_template(ReceiveNPDUNumbersListV_template* p_precondition, ReceiveNPDUNumbersListV_template* p_implied_template);
ReceiveNPDUNumbersListV_template(Dynamic_Match_Interface<ReceiveNPDUNumbersListV>* p_dyn_match);
ReceiveNPDUNumbersListV_template(const ReceiveNPDUNumbersListV_template& other_value);
~ReceiveNPDUNumbersListV_template();

void clean_up();
ReceiveNPDUNumbersListV_template& operator=(template_sel other_value);
ReceiveNPDUNumbersListV_template& operator=(null_type other_value);
ReceiveNPDUNumbersListV_template& operator=(const ReceiveNPDUNumbersListV& other_value);
ReceiveNPDUNumbersListV_template& operator=(const OPTIONAL<ReceiveNPDUNumbersListV>& other_value);
ReceiveNPDUNumbersListV_template& operator=(const ReceiveNPDUNumbersListV_template& other_value);

ReceiveNPDUNumber_template& operator[](int index_value);
ReceiveNPDUNumber_template& operator[](const INTEGER& index_value);
const ReceiveNPDUNumber_template& operator[](int index_value) const;
const ReceiveNPDUNumber_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 ReceiveNPDUNumbersListV& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
ReceiveNPDUNumbersListV valueof() const;
ReceiveNPDUNumbersListV substr(int index, int returncount) const;

ReceiveNPDUNumbersListV replace(int index, int len, const ReceiveNPDUNumbersListV_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
ReceiveNPDUNumbersListV_template& list_item(unsigned int list_index);
void log() const;
void log_match(const ReceiveNPDUNumbersListV& 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;
boolean get_istemplate_kind(const char* type) const;
};

class ReceiveNPDUNumber : public Base_Type {
  BITSTRING field_sapi;
  BITSTRING field_numberValue;
public:
  ReceiveNPDUNumber();
  ReceiveNPDUNumber(const BITSTRING& par_sapi,
    const BITSTRING& par_numberValue);
  ReceiveNPDUNumber(const ReceiveNPDUNumber& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ReceiveNPDUNumber& operator=(const ReceiveNPDUNumber& other_value);
  boolean operator==(const ReceiveNPDUNumber& other_value) const;
  inline boolean operator!=(const ReceiveNPDUNumber& 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& sapi()
    {return field_sapi;}
  inline const BITSTRING& sapi() const
    {return field_sapi;}
  inline BITSTRING& numberValue()
    {return field_numberValue;}
  inline const BITSTRING& numberValue() const
    {return field_numberValue;}
  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 ReceiveNPDUNumber_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ReceiveNPDUNumber_template *list_value;
} value_list;
struct {
ReceiveNPDUNumber_template* precondition;
ReceiveNPDUNumber_template* implied_template;
} implication_;
dynmatch_struct<ReceiveNPDUNumber>* dyn_match;
};

void set_specific();
void copy_value(const ReceiveNPDUNumber& other_value);
void copy_template(const ReceiveNPDUNumber_template& other_value);

public:
ReceiveNPDUNumber_template();
ReceiveNPDUNumber_template(template_sel other_value);
ReceiveNPDUNumber_template(const ReceiveNPDUNumber& other_value);
ReceiveNPDUNumber_template(const OPTIONAL<ReceiveNPDUNumber>& other_value);
ReceiveNPDUNumber_template(ReceiveNPDUNumber_template* p_precondition, ReceiveNPDUNumber_template* p_implied_template);
ReceiveNPDUNumber_template(Dynamic_Match_Interface<ReceiveNPDUNumber>* p_dyn_match);
ReceiveNPDUNumber_template(const ReceiveNPDUNumber_template& other_value);
~ReceiveNPDUNumber_template();
ReceiveNPDUNumber_template& operator=(template_sel other_value);
ReceiveNPDUNumber_template& operator=(const ReceiveNPDUNumber& other_value);
ReceiveNPDUNumber_template& operator=(const OPTIONAL<ReceiveNPDUNumber>& other_value);
ReceiveNPDUNumber_template& operator=(const ReceiveNPDUNumber_template& other_value);
boolean match(const ReceiveNPDUNumber& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ReceiveNPDUNumber valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ReceiveNPDUNumber_template& list_item(unsigned int list_index) const;
BITSTRING_template& sapi();
const BITSTRING_template& sapi() const;
BITSTRING_template& numberValue();
const BITSTRING_template& numberValue() const;
int size_of() const;
void log() const;
void log_match(const ReceiveNPDUNumber& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ReceiveNPDUNumbersListTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  ReceiveNPDUNumbersListV field_numberList;
public:
  ReceiveNPDUNumbersListTLV();
  ReceiveNPDUNumbersListTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const ReceiveNPDUNumbersListV& par_numberList);
  ReceiveNPDUNumbersListTLV(const ReceiveNPDUNumbersListTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ReceiveNPDUNumbersListTLV& operator=(const ReceiveNPDUNumbersListTLV& other_value);
  boolean operator==(const ReceiveNPDUNumbersListTLV& other_value) const;
  inline boolean operator!=(const ReceiveNPDUNumbersListTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline ReceiveNPDUNumbersListV& numberList()
    {return field_numberList;}
  inline const ReceiveNPDUNumbersListV& numberList() const
    {return field_numberList;}
  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 ReceiveNPDUNumbersListTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ReceiveNPDUNumbersListTLV_template *list_value;
} value_list;
struct {
ReceiveNPDUNumbersListTLV_template* precondition;
ReceiveNPDUNumbersListTLV_template* implied_template;
} implication_;
dynmatch_struct<ReceiveNPDUNumbersListTLV>* dyn_match;
};

void set_specific();
void copy_value(const ReceiveNPDUNumbersListTLV& other_value);
void copy_template(const ReceiveNPDUNumbersListTLV_template& other_value);

public:
ReceiveNPDUNumbersListTLV_template();
ReceiveNPDUNumbersListTLV_template(template_sel other_value);
ReceiveNPDUNumbersListTLV_template(const ReceiveNPDUNumbersListTLV& other_value);
ReceiveNPDUNumbersListTLV_template(const OPTIONAL<ReceiveNPDUNumbersListTLV>& other_value);
ReceiveNPDUNumbersListTLV_template(ReceiveNPDUNumbersListTLV_template* p_precondition, ReceiveNPDUNumbersListTLV_template* p_implied_template);
ReceiveNPDUNumbersListTLV_template(Dynamic_Match_Interface<ReceiveNPDUNumbersListTLV>* p_dyn_match);
ReceiveNPDUNumbersListTLV_template(const ReceiveNPDUNumbersListTLV_template& other_value);
~ReceiveNPDUNumbersListTLV_template();
ReceiveNPDUNumbersListTLV_template& operator=(template_sel other_value);
ReceiveNPDUNumbersListTLV_template& operator=(const ReceiveNPDUNumbersListTLV& other_value);
ReceiveNPDUNumbersListTLV_template& operator=(const OPTIONAL<ReceiveNPDUNumbersListTLV>& other_value);
ReceiveNPDUNumbersListTLV_template& operator=(const ReceiveNPDUNumbersListTLV_template& other_value);
boolean match(const ReceiveNPDUNumbersListTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ReceiveNPDUNumbersListTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ReceiveNPDUNumbersListTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
ReceiveNPDUNumbersListV_template& numberList();
const ReceiveNPDUNumbersListV_template& numberList() const;
int size_of() const;
void log() const;
void log_match(const ReceiveNPDUNumbersListTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MSNetworkCapabilityV : public Base_Type {
  BITSTRING field_gea1bit;
  BITSTRING field_smCapabilitiesviaDedicatedChannels;
  BITSTRING field_smCapabilitiesviaGPRSChannels;
  BITSTRING field_ucs2Support;
  BITSTRING field_ssScreeningIndicator;
  OPTIONAL< BITSTRING > field_solSACapability;
  OPTIONAL< BITSTRING > field_revisionLevelIndicatior;
  OPTIONAL< BITSTRING > field_pFCFeatureMode;
  OPTIONAL< BITSTRING > field_extendedGEAbits;
  OPTIONAL< BITSTRING > field_lcsVAcapability;
  OPTIONAL< BITSTRING > field_pSInterRATHOtoUTRANIuModeCapability;
  OPTIONAL< BITSTRING > field_pSInterRATHOtoEUTRANS1ModeCapability;
  OPTIONAL< BITSTRING > field_eMMCombinedProceduresCapability;
  OPTIONAL< BITSTRING > field_iSRSupport;
  OPTIONAL< BITSTRING > field_sRVCCtoGERANUTRANCapability;
  OPTIONAL< BITSTRING > field_ePCCapability;
  OPTIONAL< BITSTRING > field_nFCapability;
  OPTIONAL< BITSTRING > field_gERANNertworkSharingCapability;
  OPTIONAL< OCTETSTRING > field_spare__octets;
public:
  MSNetworkCapabilityV();
  MSNetworkCapabilityV(const BITSTRING& par_gea1bit,
    const BITSTRING& par_smCapabilitiesviaDedicatedChannels,
    const BITSTRING& par_smCapabilitiesviaGPRSChannels,
    const BITSTRING& par_ucs2Support,
    const BITSTRING& par_ssScreeningIndicator,
    const OPTIONAL< BITSTRING >& par_solSACapability,
    const OPTIONAL< BITSTRING >& par_revisionLevelIndicatior,
    const OPTIONAL< BITSTRING >& par_pFCFeatureMode,
    const OPTIONAL< BITSTRING >& par_extendedGEAbits,
    const OPTIONAL< BITSTRING >& par_lcsVAcapability,
    const OPTIONAL< BITSTRING >& par_pSInterRATHOtoUTRANIuModeCapability,
    const OPTIONAL< BITSTRING >& par_pSInterRATHOtoEUTRANS1ModeCapability,
    const OPTIONAL< BITSTRING >& par_eMMCombinedProceduresCapability,
    const OPTIONAL< BITSTRING >& par_iSRSupport,
    const OPTIONAL< BITSTRING >& par_sRVCCtoGERANUTRANCapability,
    const OPTIONAL< BITSTRING >& par_ePCCapability,
    const OPTIONAL< BITSTRING >& par_nFCapability,
    const OPTIONAL< BITSTRING >& par_gERANNertworkSharingCapability,
    const OPTIONAL< OCTETSTRING >& par_spare__octets);
  MSNetworkCapabilityV(const MSNetworkCapabilityV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MSNetworkCapabilityV& operator=(const MSNetworkCapabilityV& other_value);
  boolean operator==(const MSNetworkCapabilityV& other_value) const;
  inline boolean operator!=(const MSNetworkCapabilityV& 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& gea1bit()
    {return field_gea1bit;}
  inline const BITSTRING& gea1bit() const
    {return field_gea1bit;}
  inline BITSTRING& smCapabilitiesviaDedicatedChannels()
    {return field_smCapabilitiesviaDedicatedChannels;}
  inline const BITSTRING& smCapabilitiesviaDedicatedChannels() const
    {return field_smCapabilitiesviaDedicatedChannels;}
  inline BITSTRING& smCapabilitiesviaGPRSChannels()
    {return field_smCapabilitiesviaGPRSChannels;}
  inline const BITSTRING& smCapabilitiesviaGPRSChannels() const
    {return field_smCapabilitiesviaGPRSChannels;}
  inline BITSTRING& ucs2Support()
    {return field_ucs2Support;}
  inline const BITSTRING& ucs2Support() const
    {return field_ucs2Support;}
  inline BITSTRING& ssScreeningIndicator()
    {return field_ssScreeningIndicator;}
  inline const BITSTRING& ssScreeningIndicator() const
    {return field_ssScreeningIndicator;}
  inline OPTIONAL< BITSTRING >& solSACapability()
    {return field_solSACapability;}
  inline const OPTIONAL< BITSTRING >& solSACapability() const
    {return field_solSACapability;}
  inline OPTIONAL< BITSTRING >& revisionLevelIndicatior()
    {return field_revisionLevelIndicatior;}
  inline const OPTIONAL< BITSTRING >& revisionLevelIndicatior() const
    {return field_revisionLevelIndicatior;}
  inline OPTIONAL< BITSTRING >& pFCFeatureMode()
    {return field_pFCFeatureMode;}
  inline const OPTIONAL< BITSTRING >& pFCFeatureMode() const
    {return field_pFCFeatureMode;}
  inline OPTIONAL< BITSTRING >& extendedGEAbits()
    {return field_extendedGEAbits;}
  inline const OPTIONAL< BITSTRING >& extendedGEAbits() const
    {return field_extendedGEAbits;}
  inline OPTIONAL< BITSTRING >& lcsVAcapability()
    {return field_lcsVAcapability;}
  inline const OPTIONAL< BITSTRING >& lcsVAcapability() const
    {return field_lcsVAcapability;}
  inline OPTIONAL< BITSTRING >& pSInterRATHOtoUTRANIuModeCapability()
    {return field_pSInterRATHOtoUTRANIuModeCapability;}
  inline const OPTIONAL< BITSTRING >& pSInterRATHOtoUTRANIuModeCapability() const
    {return field_pSInterRATHOtoUTRANIuModeCapability;}
  inline OPTIONAL< BITSTRING >& pSInterRATHOtoEUTRANS1ModeCapability()
    {return field_pSInterRATHOtoEUTRANS1ModeCapability;}
  inline const OPTIONAL< BITSTRING >& pSInterRATHOtoEUTRANS1ModeCapability() const
    {return field_pSInterRATHOtoEUTRANS1ModeCapability;}
  inline OPTIONAL< BITSTRING >& eMMCombinedProceduresCapability()
    {return field_eMMCombinedProceduresCapability;}
  inline const OPTIONAL< BITSTRING >& eMMCombinedProceduresCapability() const
    {return field_eMMCombinedProceduresCapability;}
  inline OPTIONAL< BITSTRING >& iSRSupport()
    {return field_iSRSupport;}
  inline const OPTIONAL< BITSTRING >& iSRSupport() const
    {return field_iSRSupport;}
  inline OPTIONAL< BITSTRING >& sRVCCtoGERANUTRANCapability()
    {return field_sRVCCtoGERANUTRANCapability;}
  inline const OPTIONAL< BITSTRING >& sRVCCtoGERANUTRANCapability() const
    {return field_sRVCCtoGERANUTRANCapability;}
  inline OPTIONAL< BITSTRING >& ePCCapability()
    {return field_ePCCapability;}
  inline const OPTIONAL< BITSTRING >& ePCCapability() const
    {return field_ePCCapability;}
  inline OPTIONAL< BITSTRING >& nFCapability()
    {return field_nFCapability;}
  inline const OPTIONAL< BITSTRING >& nFCapability() const
    {return field_nFCapability;}
  inline OPTIONAL< BITSTRING >& gERANNertworkSharingCapability()
    {return field_gERANNertworkSharingCapability;}
  inline const OPTIONAL< BITSTRING >& gERANNertworkSharingCapability() const
    {return field_gERANNertworkSharingCapability;}
  inline OPTIONAL< OCTETSTRING >& spare__octets()
    {return field_spare__octets;}
  inline const OPTIONAL< OCTETSTRING >& spare__octets() const
    {return field_spare__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 MSNetworkCapabilityV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MSNetworkCapabilityV_template *list_value;
} value_list;
struct {
MSNetworkCapabilityV_template* precondition;
MSNetworkCapabilityV_template* implied_template;
} implication_;
dynmatch_struct<MSNetworkCapabilityV>* dyn_match;
};

void set_specific();
void copy_value(const MSNetworkCapabilityV& other_value);
void copy_template(const MSNetworkCapabilityV_template& other_value);

public:
MSNetworkCapabilityV_template();
MSNetworkCapabilityV_template(template_sel other_value);
MSNetworkCapabilityV_template(const MSNetworkCapabilityV& other_value);
MSNetworkCapabilityV_template(const OPTIONAL<MSNetworkCapabilityV>& other_value);
MSNetworkCapabilityV_template(MSNetworkCapabilityV_template* p_precondition, MSNetworkCapabilityV_template* p_implied_template);
MSNetworkCapabilityV_template(Dynamic_Match_Interface<MSNetworkCapabilityV>* p_dyn_match);
MSNetworkCapabilityV_template(const MSNetworkCapabilityV_template& other_value);
~MSNetworkCapabilityV_template();
MSNetworkCapabilityV_template& operator=(template_sel other_value);
MSNetworkCapabilityV_template& operator=(const MSNetworkCapabilityV& other_value);
MSNetworkCapabilityV_template& operator=(const OPTIONAL<MSNetworkCapabilityV>& other_value);
MSNetworkCapabilityV_template& operator=(const MSNetworkCapabilityV_template& other_value);
boolean match(const MSNetworkCapabilityV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MSNetworkCapabilityV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MSNetworkCapabilityV_template& list_item(unsigned int list_index) const;
BITSTRING_template& gea1bit();
const BITSTRING_template& gea1bit() const;
BITSTRING_template& smCapabilitiesviaDedicatedChannels();
const BITSTRING_template& smCapabilitiesviaDedicatedChannels() const;
BITSTRING_template& smCapabilitiesviaGPRSChannels();
const BITSTRING_template& smCapabilitiesviaGPRSChannels() const;
BITSTRING_template& ucs2Support();
const BITSTRING_template& ucs2Support() const;
BITSTRING_template& ssScreeningIndicator();
const BITSTRING_template& ssScreeningIndicator() const;
BITSTRING_template& solSACapability();
const BITSTRING_template& solSACapability() const;
BITSTRING_template& revisionLevelIndicatior();
const BITSTRING_template& revisionLevelIndicatior() const;
BITSTRING_template& pFCFeatureMode();
const BITSTRING_template& pFCFeatureMode() const;
BITSTRING_template& extendedGEAbits();
const BITSTRING_template& extendedGEAbits() const;
BITSTRING_template& lcsVAcapability();
const BITSTRING_template& lcsVAcapability() const;
BITSTRING_template& pSInterRATHOtoUTRANIuModeCapability();
const BITSTRING_template& pSInterRATHOtoUTRANIuModeCapability() const;
BITSTRING_template& pSInterRATHOtoEUTRANS1ModeCapability();
const BITSTRING_template& pSInterRATHOtoEUTRANS1ModeCapability() const;
BITSTRING_template& eMMCombinedProceduresCapability();
const BITSTRING_template& eMMCombinedProceduresCapability() const;
BITSTRING_template& iSRSupport();
const BITSTRING_template& iSRSupport() const;
BITSTRING_template& sRVCCtoGERANUTRANCapability();
const BITSTRING_template& sRVCCtoGERANUTRANCapability() const;
BITSTRING_template& ePCCapability();
const BITSTRING_template& ePCCapability() const;
BITSTRING_template& nFCapability();
const BITSTRING_template& nFCapability() const;
BITSTRING_template& gERANNertworkSharingCapability();
const BITSTRING_template& gERANNertworkSharingCapability() const;
OCTETSTRING_template& spare__octets();
const OCTETSTRING_template& spare__octets() const;
int size_of() const;
void log() const;
void log_match(const MSNetworkCapabilityV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MSNetworkCapabilityLV : public Base_Type {
  INTEGER field_lengthIndicator;
  MSNetworkCapabilityV field_msNetworkCapabilityV;
public:
  MSNetworkCapabilityLV();
  MSNetworkCapabilityLV(const INTEGER& par_lengthIndicator,
    const MSNetworkCapabilityV& par_msNetworkCapabilityV);
  MSNetworkCapabilityLV(const MSNetworkCapabilityLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MSNetworkCapabilityLV& operator=(const MSNetworkCapabilityLV& other_value);
  boolean operator==(const MSNetworkCapabilityLV& other_value) const;
  inline boolean operator!=(const MSNetworkCapabilityLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline MSNetworkCapabilityV& msNetworkCapabilityV()
    {return field_msNetworkCapabilityV;}
  inline const MSNetworkCapabilityV& msNetworkCapabilityV() const
    {return field_msNetworkCapabilityV;}
  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 MSNetworkCapabilityLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MSNetworkCapabilityLV_template *list_value;
} value_list;
struct {
MSNetworkCapabilityLV_template* precondition;
MSNetworkCapabilityLV_template* implied_template;
} implication_;
dynmatch_struct<MSNetworkCapabilityLV>* dyn_match;
};

void set_specific();
void copy_value(const MSNetworkCapabilityLV& other_value);
void copy_template(const MSNetworkCapabilityLV_template& other_value);

public:
MSNetworkCapabilityLV_template();
MSNetworkCapabilityLV_template(template_sel other_value);
MSNetworkCapabilityLV_template(const MSNetworkCapabilityLV& other_value);
MSNetworkCapabilityLV_template(const OPTIONAL<MSNetworkCapabilityLV>& other_value);
MSNetworkCapabilityLV_template(MSNetworkCapabilityLV_template* p_precondition, MSNetworkCapabilityLV_template* p_implied_template);
MSNetworkCapabilityLV_template(Dynamic_Match_Interface<MSNetworkCapabilityLV>* p_dyn_match);
MSNetworkCapabilityLV_template(const MSNetworkCapabilityLV_template& other_value);
~MSNetworkCapabilityLV_template();
MSNetworkCapabilityLV_template& operator=(template_sel other_value);
MSNetworkCapabilityLV_template& operator=(const MSNetworkCapabilityLV& other_value);
MSNetworkCapabilityLV_template& operator=(const OPTIONAL<MSNetworkCapabilityLV>& other_value);
MSNetworkCapabilityLV_template& operator=(const MSNetworkCapabilityLV_template& other_value);
boolean match(const MSNetworkCapabilityLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MSNetworkCapabilityLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MSNetworkCapabilityLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
MSNetworkCapabilityV_template& msNetworkCapabilityV();
const MSNetworkCapabilityV_template& msNetworkCapabilityV() const;
int size_of() const;
void log() const;
void log_match(const MSNetworkCapabilityLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MSNetworkCapabilityTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  MSNetworkCapabilityLV field_mSNetworkCapabilityLV;
public:
  MSNetworkCapabilityTLV();
  MSNetworkCapabilityTLV(const OCTETSTRING& par_elementIdentifier,
    const MSNetworkCapabilityLV& par_mSNetworkCapabilityLV);
  MSNetworkCapabilityTLV(const MSNetworkCapabilityTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MSNetworkCapabilityTLV& operator=(const MSNetworkCapabilityTLV& other_value);
  boolean operator==(const MSNetworkCapabilityTLV& other_value) const;
  inline boolean operator!=(const MSNetworkCapabilityTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline MSNetworkCapabilityLV& mSNetworkCapabilityLV()
    {return field_mSNetworkCapabilityLV;}
  inline const MSNetworkCapabilityLV& mSNetworkCapabilityLV() const
    {return field_mSNetworkCapabilityLV;}
  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 MSNetworkCapabilityTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MSNetworkCapabilityTLV_template *list_value;
} value_list;
struct {
MSNetworkCapabilityTLV_template* precondition;
MSNetworkCapabilityTLV_template* implied_template;
} implication_;
dynmatch_struct<MSNetworkCapabilityTLV>* dyn_match;
};

void set_specific();
void copy_value(const MSNetworkCapabilityTLV& other_value);
void copy_template(const MSNetworkCapabilityTLV_template& other_value);

public:
MSNetworkCapabilityTLV_template();
MSNetworkCapabilityTLV_template(template_sel other_value);
MSNetworkCapabilityTLV_template(const MSNetworkCapabilityTLV& other_value);
MSNetworkCapabilityTLV_template(const OPTIONAL<MSNetworkCapabilityTLV>& other_value);
MSNetworkCapabilityTLV_template(MSNetworkCapabilityTLV_template* p_precondition, MSNetworkCapabilityTLV_template* p_implied_template);
MSNetworkCapabilityTLV_template(Dynamic_Match_Interface<MSNetworkCapabilityTLV>* p_dyn_match);
MSNetworkCapabilityTLV_template(const MSNetworkCapabilityTLV_template& other_value);
~MSNetworkCapabilityTLV_template();
MSNetworkCapabilityTLV_template& operator=(template_sel other_value);
MSNetworkCapabilityTLV_template& operator=(const MSNetworkCapabilityTLV& other_value);
MSNetworkCapabilityTLV_template& operator=(const OPTIONAL<MSNetworkCapabilityTLV>& other_value);
MSNetworkCapabilityTLV_template& operator=(const MSNetworkCapabilityTLV_template& other_value);
boolean match(const MSNetworkCapabilityTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MSNetworkCapabilityTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MSNetworkCapabilityTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
MSNetworkCapabilityLV_template& mSNetworkCapabilityLV();
const MSNetworkCapabilityLV_template& mSNetworkCapabilityLV() const;
int size_of() const;
void log() const;
void log_match(const MSNetworkCapabilityTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MSRadioAccessCapabilityV : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
MSRACapabilityValuesRecord **value_elements;
} *val_ptr;

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

public:
  typedef MSRACapabilityValuesRecord of_type;
MSRadioAccessCapabilityV();
MSRadioAccessCapabilityV(null_type other_value);
MSRadioAccessCapabilityV(const MSRadioAccessCapabilityV& other_value);
~MSRadioAccessCapabilityV();

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

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

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

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

MSRadioAccessCapabilityV operator+(const MSRadioAccessCapabilityV& other_value) const;

MSRadioAccessCapabilityV substr(int index, int returncount) const;

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

MSRadioAccessCapabilityV replace(int index, int len, const MSRadioAccessCapabilityV_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 MSRadioAccessCapabilityV_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
MSRACapabilityValuesRecord_template **value_elements;
} single_value;
struct {
unsigned int n_values;
MSRadioAccessCapabilityV_template *list_value;
} value_list;
struct {
MSRadioAccessCapabilityV_template* precondition;
MSRadioAccessCapabilityV_template* implied_template;
} implication_;
dynmatch_struct<MSRadioAccessCapabilityV>* dyn_match;
};
void copy_value(const MSRadioAccessCapabilityV& other_value);
void copy_template(const MSRadioAccessCapabilityV_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:
MSRadioAccessCapabilityV_template();
MSRadioAccessCapabilityV_template(template_sel other_value);
MSRadioAccessCapabilityV_template(null_type other_value);
MSRadioAccessCapabilityV_template(const MSRadioAccessCapabilityV& other_value);
MSRadioAccessCapabilityV_template(const OPTIONAL<MSRadioAccessCapabilityV>& other_value);
MSRadioAccessCapabilityV_template(MSRadioAccessCapabilityV_template* p_precondition, MSRadioAccessCapabilityV_template* p_implied_template);
MSRadioAccessCapabilityV_template(Dynamic_Match_Interface<MSRadioAccessCapabilityV>* p_dyn_match);
MSRadioAccessCapabilityV_template(const MSRadioAccessCapabilityV_template& other_value);
~MSRadioAccessCapabilityV_template();

void clean_up();
MSRadioAccessCapabilityV_template& operator=(template_sel other_value);
MSRadioAccessCapabilityV_template& operator=(null_type other_value);
MSRadioAccessCapabilityV_template& operator=(const MSRadioAccessCapabilityV& other_value);
MSRadioAccessCapabilityV_template& operator=(const OPTIONAL<MSRadioAccessCapabilityV>& other_value);
MSRadioAccessCapabilityV_template& operator=(const MSRadioAccessCapabilityV_template& other_value);

MSRACapabilityValuesRecord_template& operator[](int index_value);
MSRACapabilityValuesRecord_template& operator[](const INTEGER& index_value);
const MSRACapabilityValuesRecord_template& operator[](int index_value) const;
const MSRACapabilityValuesRecord_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 MSRadioAccessCapabilityV& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
MSRadioAccessCapabilityV valueof() const;
MSRadioAccessCapabilityV substr(int index, int returncount) const;

MSRadioAccessCapabilityV replace(int index, int len, const MSRadioAccessCapabilityV_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
MSRadioAccessCapabilityV_template& list_item(unsigned int list_index);
void log() const;
void log_match(const MSRadioAccessCapabilityV& 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;
boolean get_istemplate_kind(const char* type) const;
};

class MSRACapabilityValues : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_mSRACapabilityValuesExclude1111 = 1, ALT_mSRACapabilityValues1111 = 2 };
private:
union_selection_type union_selection;
union {
MSRACapabilityValuesExclude1111 *field_mSRACapabilityValuesExclude1111;
MSRACapabilityValues1111 *field_mSRACapabilityValues1111;
};
void copy_value(const MSRACapabilityValues& other_value);

public:
MSRACapabilityValues();
MSRACapabilityValues(const MSRACapabilityValues& other_value);
~MSRACapabilityValues();
MSRACapabilityValues& operator=(const MSRACapabilityValues& other_value);
boolean operator==(const MSRACapabilityValues& other_value) const;
inline boolean operator!=(const MSRACapabilityValues& other_value) const { return !(*this == other_value); }
MSRACapabilityValuesExclude1111& mSRACapabilityValuesExclude1111();
const MSRACapabilityValuesExclude1111& mSRACapabilityValuesExclude1111() const;
MSRACapabilityValues1111& mSRACapabilityValues1111();
const MSRACapabilityValues1111& mSRACapabilityValues1111() 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 MSRACapabilityValues_template : public Base_Template {
union {
struct {
MSRACapabilityValues::union_selection_type union_selection;
union {
MSRACapabilityValuesExclude1111_template *field_mSRACapabilityValuesExclude1111;
MSRACapabilityValues1111_template *field_mSRACapabilityValues1111;
};
} single_value;
struct {
unsigned int n_values;
MSRACapabilityValues_template *list_value;
} value_list;
struct {
MSRACapabilityValues_template* precondition;
MSRACapabilityValues_template* implied_template;
} implication_;
dynmatch_struct<MSRACapabilityValues>* dyn_match;
};
void copy_value(const MSRACapabilityValues& other_value);

void copy_template(const MSRACapabilityValues_template& other_value);

public:
MSRACapabilityValues_template();
MSRACapabilityValues_template(template_sel other_value);
MSRACapabilityValues_template(const MSRACapabilityValues& other_value);
MSRACapabilityValues_template(const OPTIONAL<MSRACapabilityValues>& other_value);
MSRACapabilityValues_template(MSRACapabilityValues_template* p_precondition, MSRACapabilityValues_template* p_implied_template);
MSRACapabilityValues_template(Dynamic_Match_Interface<MSRACapabilityValues>* p_dyn_match);
MSRACapabilityValues_template(const MSRACapabilityValues_template& other_value);
~MSRACapabilityValues_template();
void clean_up();
MSRACapabilityValues_template& operator=(template_sel other_value);
MSRACapabilityValues_template& operator=(const MSRACapabilityValues& other_value);
MSRACapabilityValues_template& operator=(const OPTIONAL<MSRACapabilityValues>& other_value);
MSRACapabilityValues_template& operator=(const MSRACapabilityValues_template& other_value);
boolean match(const MSRACapabilityValues& other_value, boolean legacy = FALSE) const;
boolean is_value() const;MSRACapabilityValues valueof() const;
MSRACapabilityValues_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
MSRACapabilityValuesExclude1111_template& mSRACapabilityValuesExclude1111();
const MSRACapabilityValuesExclude1111_template& mSRACapabilityValuesExclude1111() const;
MSRACapabilityValues1111_template& mSRACapabilityValues1111();
const MSRACapabilityValues1111_template& mSRACapabilityValues1111() const;
boolean ischosen(MSRACapabilityValues::union_selection_type checked_selection) const;
void log() const;
void log_match(const MSRACapabilityValues& 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 AccessCapabilities : public Base_Type {
  BITSTRING field_rfPowerCapability;
  BITSTRING field_presenceBitA5;
  OPTIONAL< A5BITS > field_a5bits;
  BITSTRING field_esind;
  BITSTRING field_psbit;
  BITSTRING field_vgcs;
  BITSTRING field_vbs;
  BITSTRING field_presenceBitMultislot;
  OPTIONAL< MultislotCap > field_multislotcap;
  OPTIONAL< AccessCapAdditionsAfterRel97 > field_accessCapAdditionsAfterRel97;
public:
  AccessCapabilities();
  AccessCapabilities(const BITSTRING& par_rfPowerCapability,
    const BITSTRING& par_presenceBitA5,
    const OPTIONAL< A5BITS >& par_a5bits,
    const BITSTRING& par_esind,
    const BITSTRING& par_psbit,
    const BITSTRING& par_vgcs,
    const BITSTRING& par_vbs,
    const BITSTRING& par_presenceBitMultislot,
    const OPTIONAL< MultislotCap >& par_multislotcap,
    const OPTIONAL< AccessCapAdditionsAfterRel97 >& par_accessCapAdditionsAfterRel97);
  AccessCapabilities(const AccessCapabilities& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapabilities& operator=(const AccessCapabilities& other_value);
  boolean operator==(const AccessCapabilities& other_value) const;
  inline boolean operator!=(const AccessCapabilities& 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& rfPowerCapability()
    {return field_rfPowerCapability;}
  inline const BITSTRING& rfPowerCapability() const
    {return field_rfPowerCapability;}
  inline BITSTRING& presenceBitA5()
    {return field_presenceBitA5;}
  inline const BITSTRING& presenceBitA5() const
    {return field_presenceBitA5;}
  inline OPTIONAL< A5BITS >& a5bits()
    {return field_a5bits;}
  inline const OPTIONAL< A5BITS >& a5bits() const
    {return field_a5bits;}
  inline BITSTRING& esind()
    {return field_esind;}
  inline const BITSTRING& esind() const
    {return field_esind;}
  inline BITSTRING& psbit()
    {return field_psbit;}
  inline const BITSTRING& psbit() const
    {return field_psbit;}
  inline BITSTRING& vgcs()
    {return field_vgcs;}
  inline const BITSTRING& vgcs() const
    {return field_vgcs;}
  inline BITSTRING& vbs()
    {return field_vbs;}
  inline const BITSTRING& vbs() const
    {return field_vbs;}
  inline BITSTRING& presenceBitMultislot()
    {return field_presenceBitMultislot;}
  inline const BITSTRING& presenceBitMultislot() const
    {return field_presenceBitMultislot;}
  inline OPTIONAL< MultislotCap >& multislotcap()
    {return field_multislotcap;}
  inline const OPTIONAL< MultislotCap >& multislotcap() const
    {return field_multislotcap;}
  inline OPTIONAL< AccessCapAdditionsAfterRel97 >& accessCapAdditionsAfterRel97()
    {return field_accessCapAdditionsAfterRel97;}
  inline const OPTIONAL< AccessCapAdditionsAfterRel97 >& accessCapAdditionsAfterRel97() const
    {return field_accessCapAdditionsAfterRel97;}
  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 AccessCapabilities_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapabilities_template *list_value;
} value_list;
struct {
AccessCapabilities_template* precondition;
AccessCapabilities_template* implied_template;
} implication_;
dynmatch_struct<AccessCapabilities>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapabilities& other_value);
void copy_template(const AccessCapabilities_template& other_value);

public:
AccessCapabilities_template();
AccessCapabilities_template(template_sel other_value);
AccessCapabilities_template(const AccessCapabilities& other_value);
AccessCapabilities_template(const OPTIONAL<AccessCapabilities>& other_value);
AccessCapabilities_template(AccessCapabilities_template* p_precondition, AccessCapabilities_template* p_implied_template);
AccessCapabilities_template(Dynamic_Match_Interface<AccessCapabilities>* p_dyn_match);
AccessCapabilities_template(const AccessCapabilities_template& other_value);
~AccessCapabilities_template();
AccessCapabilities_template& operator=(template_sel other_value);
AccessCapabilities_template& operator=(const AccessCapabilities& other_value);
AccessCapabilities_template& operator=(const OPTIONAL<AccessCapabilities>& other_value);
AccessCapabilities_template& operator=(const AccessCapabilities_template& other_value);
boolean match(const AccessCapabilities& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapabilities valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapabilities_template& list_item(unsigned int list_index) const;
BITSTRING_template& rfPowerCapability();
const BITSTRING_template& rfPowerCapability() const;
BITSTRING_template& presenceBitA5();
const BITSTRING_template& presenceBitA5() const;
A5BITS_template& a5bits();
const A5BITS_template& a5bits() const;
BITSTRING_template& esind();
const BITSTRING_template& esind() const;
BITSTRING_template& psbit();
const BITSTRING_template& psbit() const;
BITSTRING_template& vgcs();
const BITSTRING_template& vgcs() const;
BITSTRING_template& vbs();
const BITSTRING_template& vbs() const;
BITSTRING_template& presenceBitMultislot();
const BITSTRING_template& presenceBitMultislot() const;
MultislotCap_template& multislotcap();
const MultislotCap_template& multislotcap() const;
AccessCapAdditionsAfterRel97_template& accessCapAdditionsAfterRel97();
const AccessCapAdditionsAfterRel97_template& accessCapAdditionsAfterRel97() const;
int size_of() const;
void log() const;
void log_match(const AccessCapabilities& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class A5BITS : public Base_Type {
  BITSTRING field_a51;
  BITSTRING field_a52;
  BITSTRING field_a53;
  BITSTRING field_a54;
  BITSTRING field_a55;
  BITSTRING field_a56;
  BITSTRING field_a57;
public:
  A5BITS();
  A5BITS(const BITSTRING& par_a51,
    const BITSTRING& par_a52,
    const BITSTRING& par_a53,
    const BITSTRING& par_a54,
    const BITSTRING& par_a55,
    const BITSTRING& par_a56,
    const BITSTRING& par_a57);
  A5BITS(const A5BITS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  A5BITS& operator=(const A5BITS& other_value);
  boolean operator==(const A5BITS& other_value) const;
  inline boolean operator!=(const A5BITS& 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& a51()
    {return field_a51;}
  inline const BITSTRING& a51() const
    {return field_a51;}
  inline BITSTRING& a52()
    {return field_a52;}
  inline const BITSTRING& a52() const
    {return field_a52;}
  inline BITSTRING& a53()
    {return field_a53;}
  inline const BITSTRING& a53() const
    {return field_a53;}
  inline BITSTRING& a54()
    {return field_a54;}
  inline const BITSTRING& a54() const
    {return field_a54;}
  inline BITSTRING& a55()
    {return field_a55;}
  inline const BITSTRING& a55() const
    {return field_a55;}
  inline BITSTRING& a56()
    {return field_a56;}
  inline const BITSTRING& a56() const
    {return field_a56;}
  inline BITSTRING& a57()
    {return field_a57;}
  inline const BITSTRING& a57() const
    {return field_a57;}
  inline int size_of() const
    {return 7;}
  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 A5BITS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
A5BITS_template *list_value;
} value_list;
struct {
A5BITS_template* precondition;
A5BITS_template* implied_template;
} implication_;
dynmatch_struct<A5BITS>* dyn_match;
};

void set_specific();
void copy_value(const A5BITS& other_value);
void copy_template(const A5BITS_template& other_value);

public:
A5BITS_template();
A5BITS_template(template_sel other_value);
A5BITS_template(const A5BITS& other_value);
A5BITS_template(const OPTIONAL<A5BITS>& other_value);
A5BITS_template(A5BITS_template* p_precondition, A5BITS_template* p_implied_template);
A5BITS_template(Dynamic_Match_Interface<A5BITS>* p_dyn_match);
A5BITS_template(const A5BITS_template& other_value);
~A5BITS_template();
A5BITS_template& operator=(template_sel other_value);
A5BITS_template& operator=(const A5BITS& other_value);
A5BITS_template& operator=(const OPTIONAL<A5BITS>& other_value);
A5BITS_template& operator=(const A5BITS_template& other_value);
boolean match(const A5BITS& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
A5BITS valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
A5BITS_template& list_item(unsigned int list_index) const;
BITSTRING_template& a51();
const BITSTRING_template& a51() const;
BITSTRING_template& a52();
const BITSTRING_template& a52() const;
BITSTRING_template& a53();
const BITSTRING_template& a53() const;
BITSTRING_template& a54();
const BITSTRING_template& a54() const;
BITSTRING_template& a55();
const BITSTRING_template& a55() const;
BITSTRING_template& a56();
const BITSTRING_template& a56() const;
BITSTRING_template& a57();
const BITSTRING_template& a57() const;
int size_of() const;
void log() const;
void log_match(const A5BITS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MultislotCap : public Base_Type {
  BITSTRING field_presenceBitHscsd;
  OPTIONAL< BITSTRING > field_hscsdmultislotclass;
  BITSTRING field_presenceBitGprs;
  OPTIONAL< MultislotCap__GPRS > field_gprsmultislot;
  BITSTRING field_presenceBitSms;
  OPTIONAL< MultislotCap__SMS > field_multislotCap__SMS;
  OPTIONAL< MultislotCapAdditionsAfterRel97 > field_multislotCapAdditionsAfterRel97;
public:
  MultislotCap();
  MultislotCap(const BITSTRING& par_presenceBitHscsd,
    const OPTIONAL< BITSTRING >& par_hscsdmultislotclass,
    const BITSTRING& par_presenceBitGprs,
    const OPTIONAL< MultislotCap__GPRS >& par_gprsmultislot,
    const BITSTRING& par_presenceBitSms,
    const OPTIONAL< MultislotCap__SMS >& par_multislotCap__SMS,
    const OPTIONAL< MultislotCapAdditionsAfterRel97 >& par_multislotCapAdditionsAfterRel97);
  MultislotCap(const MultislotCap& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MultislotCap& operator=(const MultislotCap& other_value);
  boolean operator==(const MultislotCap& other_value) const;
  inline boolean operator!=(const MultislotCap& 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& presenceBitHscsd()
    {return field_presenceBitHscsd;}
  inline const BITSTRING& presenceBitHscsd() const
    {return field_presenceBitHscsd;}
  inline OPTIONAL< BITSTRING >& hscsdmultislotclass()
    {return field_hscsdmultislotclass;}
  inline const OPTIONAL< BITSTRING >& hscsdmultislotclass() const
    {return field_hscsdmultislotclass;}
  inline BITSTRING& presenceBitGprs()
    {return field_presenceBitGprs;}
  inline const BITSTRING& presenceBitGprs() const
    {return field_presenceBitGprs;}
  inline OPTIONAL< MultislotCap__GPRS >& gprsmultislot()
    {return field_gprsmultislot;}
  inline const OPTIONAL< MultislotCap__GPRS >& gprsmultislot() const
    {return field_gprsmultislot;}
  inline BITSTRING& presenceBitSms()
    {return field_presenceBitSms;}
  inline const BITSTRING& presenceBitSms() const
    {return field_presenceBitSms;}
  inline OPTIONAL< MultislotCap__SMS >& multislotCap__SMS()
    {return field_multislotCap__SMS;}
  inline const OPTIONAL< MultislotCap__SMS >& multislotCap__SMS() const
    {return field_multislotCap__SMS;}
  inline OPTIONAL< MultislotCapAdditionsAfterRel97 >& multislotCapAdditionsAfterRel97()
    {return field_multislotCapAdditionsAfterRel97;}
  inline const OPTIONAL< MultislotCapAdditionsAfterRel97 >& multislotCapAdditionsAfterRel97() const
    {return field_multislotCapAdditionsAfterRel97;}
  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 MultislotCap_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MultislotCap_template *list_value;
} value_list;
struct {
MultislotCap_template* precondition;
MultislotCap_template* implied_template;
} implication_;
dynmatch_struct<MultislotCap>* dyn_match;
};

void set_specific();
void copy_value(const MultislotCap& other_value);
void copy_template(const MultislotCap_template& other_value);

public:
MultislotCap_template();
MultislotCap_template(template_sel other_value);
MultislotCap_template(const MultislotCap& other_value);
MultislotCap_template(const OPTIONAL<MultislotCap>& other_value);
MultislotCap_template(MultislotCap_template* p_precondition, MultislotCap_template* p_implied_template);
MultislotCap_template(Dynamic_Match_Interface<MultislotCap>* p_dyn_match);
MultislotCap_template(const MultislotCap_template& other_value);
~MultislotCap_template();
MultislotCap_template& operator=(template_sel other_value);
MultislotCap_template& operator=(const MultislotCap& other_value);
MultislotCap_template& operator=(const OPTIONAL<MultislotCap>& other_value);
MultislotCap_template& operator=(const MultislotCap_template& other_value);
boolean match(const MultislotCap& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MultislotCap valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MultislotCap_template& list_item(unsigned int list_index) const;
BITSTRING_template& presenceBitHscsd();
const BITSTRING_template& presenceBitHscsd() const;
BITSTRING_template& hscsdmultislotclass();
const BITSTRING_template& hscsdmultislotclass() const;
BITSTRING_template& presenceBitGprs();
const BITSTRING_template& presenceBitGprs() const;
MultislotCap__GPRS_template& gprsmultislot();
const MultislotCap__GPRS_template& gprsmultislot() const;
BITSTRING_template& presenceBitSms();
const BITSTRING_template& presenceBitSms() const;
MultislotCap__SMS_template& multislotCap__SMS();
const MultislotCap__SMS_template& multislotCap__SMS() const;
MultislotCapAdditionsAfterRel97_template& multislotCapAdditionsAfterRel97();
const MultislotCapAdditionsAfterRel97_template& multislotCapAdditionsAfterRel97() const;
int size_of() const;
void log() const;
void log_match(const MultislotCap& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MultislotCap__GPRS : public Base_Type {
  BITSTRING field_gprsmultislotclass;
  BITSTRING field_gprsextendeddynalloccap;
public:
  MultislotCap__GPRS();
  MultislotCap__GPRS(const BITSTRING& par_gprsmultislotclass,
    const BITSTRING& par_gprsextendeddynalloccap);
  MultislotCap__GPRS(const MultislotCap__GPRS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MultislotCap__GPRS& operator=(const MultislotCap__GPRS& other_value);
  boolean operator==(const MultislotCap__GPRS& other_value) const;
  inline boolean operator!=(const MultislotCap__GPRS& 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& gprsmultislotclass()
    {return field_gprsmultislotclass;}
  inline const BITSTRING& gprsmultislotclass() const
    {return field_gprsmultislotclass;}
  inline BITSTRING& gprsextendeddynalloccap()
    {return field_gprsextendeddynalloccap;}
  inline const BITSTRING& gprsextendeddynalloccap() const
    {return field_gprsextendeddynalloccap;}
  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 MultislotCap__GPRS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MultislotCap__GPRS_template *list_value;
} value_list;
struct {
MultislotCap__GPRS_template* precondition;
MultislotCap__GPRS_template* implied_template;
} implication_;
dynmatch_struct<MultislotCap__GPRS>* dyn_match;
};

void set_specific();
void copy_value(const MultislotCap__GPRS& other_value);
void copy_template(const MultislotCap__GPRS_template& other_value);

public:
MultislotCap__GPRS_template();
MultislotCap__GPRS_template(template_sel other_value);
MultislotCap__GPRS_template(const MultislotCap__GPRS& other_value);
MultislotCap__GPRS_template(const OPTIONAL<MultislotCap__GPRS>& other_value);
MultislotCap__GPRS_template(MultislotCap__GPRS_template* p_precondition, MultislotCap__GPRS_template* p_implied_template);
MultislotCap__GPRS_template(Dynamic_Match_Interface<MultislotCap__GPRS>* p_dyn_match);
MultislotCap__GPRS_template(const MultislotCap__GPRS_template& other_value);
~MultislotCap__GPRS_template();
MultislotCap__GPRS_template& operator=(template_sel other_value);
MultislotCap__GPRS_template& operator=(const MultislotCap__GPRS& other_value);
MultislotCap__GPRS_template& operator=(const OPTIONAL<MultislotCap__GPRS>& other_value);
MultislotCap__GPRS_template& operator=(const MultislotCap__GPRS_template& other_value);
boolean match(const MultislotCap__GPRS& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MultislotCap__GPRS valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MultislotCap__GPRS_template& list_item(unsigned int list_index) const;
BITSTRING_template& gprsmultislotclass();
const BITSTRING_template& gprsmultislotclass() const;
BITSTRING_template& gprsextendeddynalloccap();
const BITSTRING_template& gprsextendeddynalloccap() const;
int size_of() const;
void log() const;
void log_match(const MultislotCap__GPRS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MultislotCap__SMS : public Base_Type {
  BITSTRING field_smsValue;
  BITSTRING field_smValue;
public:
  MultislotCap__SMS();
  MultislotCap__SMS(const BITSTRING& par_smsValue,
    const BITSTRING& par_smValue);
  MultislotCap__SMS(const MultislotCap__SMS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MultislotCap__SMS& operator=(const MultislotCap__SMS& other_value);
  boolean operator==(const MultislotCap__SMS& other_value) const;
  inline boolean operator!=(const MultislotCap__SMS& 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& smsValue()
    {return field_smsValue;}
  inline const BITSTRING& smsValue() const
    {return field_smsValue;}
  inline BITSTRING& smValue()
    {return field_smValue;}
  inline const BITSTRING& smValue() const
    {return field_smValue;}
  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 MultislotCap__SMS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MultislotCap__SMS_template *list_value;
} value_list;
struct {
MultislotCap__SMS_template* precondition;
MultislotCap__SMS_template* implied_template;
} implication_;
dynmatch_struct<MultislotCap__SMS>* dyn_match;
};

void set_specific();
void copy_value(const MultislotCap__SMS& other_value);
void copy_template(const MultislotCap__SMS_template& other_value);

public:
MultislotCap__SMS_template();
MultislotCap__SMS_template(template_sel other_value);
MultislotCap__SMS_template(const MultislotCap__SMS& other_value);
MultislotCap__SMS_template(const OPTIONAL<MultislotCap__SMS>& other_value);
MultislotCap__SMS_template(MultislotCap__SMS_template* p_precondition, MultislotCap__SMS_template* p_implied_template);
MultislotCap__SMS_template(Dynamic_Match_Interface<MultislotCap__SMS>* p_dyn_match);
MultislotCap__SMS_template(const MultislotCap__SMS_template& other_value);
~MultislotCap__SMS_template();
MultislotCap__SMS_template& operator=(template_sel other_value);
MultislotCap__SMS_template& operator=(const MultislotCap__SMS& other_value);
MultislotCap__SMS_template& operator=(const OPTIONAL<MultislotCap__SMS>& other_value);
MultislotCap__SMS_template& operator=(const MultislotCap__SMS_template& other_value);
boolean match(const MultislotCap__SMS& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MultislotCap__SMS valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MultislotCap__SMS_template& list_item(unsigned int list_index) const;
BITSTRING_template& smsValue();
const BITSTRING_template& smsValue() const;
BITSTRING_template& smValue();
const BITSTRING_template& smValue() const;
int size_of() const;
void log() const;
void log_match(const MultislotCap__SMS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MultislotCapAdditionsAfterRel97 : public Base_Type {
  BITSTRING field_presenceBitEcsdmulti;
  OPTIONAL< BITSTRING > field_ecsdmultislotclass;
  BITSTRING field_presenceBitEgprsmulti;
  OPTIONAL< MultislotCap__EGPRS > field_multislotCap__EGPRS;
  BITSTRING field_presenceBitDtmGprsmulti;
  OPTIONAL< MultislotCap__dtmgprsmultislotsubclass > field_multislotCapdtmgprsmultislotsubclass;
public:
  MultislotCapAdditionsAfterRel97();
  MultislotCapAdditionsAfterRel97(const BITSTRING& par_presenceBitEcsdmulti,
    const OPTIONAL< BITSTRING >& par_ecsdmultislotclass,
    const BITSTRING& par_presenceBitEgprsmulti,
    const OPTIONAL< MultislotCap__EGPRS >& par_multislotCap__EGPRS,
    const BITSTRING& par_presenceBitDtmGprsmulti,
    const OPTIONAL< MultislotCap__dtmgprsmultislotsubclass >& par_multislotCapdtmgprsmultislotsubclass);
  MultislotCapAdditionsAfterRel97(const MultislotCapAdditionsAfterRel97& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MultislotCapAdditionsAfterRel97& operator=(const MultislotCapAdditionsAfterRel97& other_value);
  boolean operator==(const MultislotCapAdditionsAfterRel97& other_value) const;
  inline boolean operator!=(const MultislotCapAdditionsAfterRel97& 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& presenceBitEcsdmulti()
    {return field_presenceBitEcsdmulti;}
  inline const BITSTRING& presenceBitEcsdmulti() const
    {return field_presenceBitEcsdmulti;}
  inline OPTIONAL< BITSTRING >& ecsdmultislotclass()
    {return field_ecsdmultislotclass;}
  inline const OPTIONAL< BITSTRING >& ecsdmultislotclass() const
    {return field_ecsdmultislotclass;}
  inline BITSTRING& presenceBitEgprsmulti()
    {return field_presenceBitEgprsmulti;}
  inline const BITSTRING& presenceBitEgprsmulti() const
    {return field_presenceBitEgprsmulti;}
  inline OPTIONAL< MultislotCap__EGPRS >& multislotCap__EGPRS()
    {return field_multislotCap__EGPRS;}
  inline const OPTIONAL< MultislotCap__EGPRS >& multislotCap__EGPRS() const
    {return field_multislotCap__EGPRS;}
  inline BITSTRING& presenceBitDtmGprsmulti()
    {return field_presenceBitDtmGprsmulti;}
  inline const BITSTRING& presenceBitDtmGprsmulti() const
    {return field_presenceBitDtmGprsmulti;}
  inline OPTIONAL< MultislotCap__dtmgprsmultislotsubclass >& multislotCapdtmgprsmultislotsubclass()
    {return field_multislotCapdtmgprsmultislotsubclass;}
  inline const OPTIONAL< MultislotCap__dtmgprsmultislotsubclass >& multislotCapdtmgprsmultislotsubclass() const
    {return field_multislotCapdtmgprsmultislotsubclass;}
  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 MultislotCapAdditionsAfterRel97_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MultislotCapAdditionsAfterRel97_template *list_value;
} value_list;
struct {
MultislotCapAdditionsAfterRel97_template* precondition;
MultislotCapAdditionsAfterRel97_template* implied_template;
} implication_;
dynmatch_struct<MultislotCapAdditionsAfterRel97>* dyn_match;
};

void set_specific();
void copy_value(const MultislotCapAdditionsAfterRel97& other_value);
void copy_template(const MultislotCapAdditionsAfterRel97_template& other_value);

public:
MultislotCapAdditionsAfterRel97_template();
MultislotCapAdditionsAfterRel97_template(template_sel other_value);
MultislotCapAdditionsAfterRel97_template(const MultislotCapAdditionsAfterRel97& other_value);
MultislotCapAdditionsAfterRel97_template(const OPTIONAL<MultislotCapAdditionsAfterRel97>& other_value);
MultislotCapAdditionsAfterRel97_template(MultislotCapAdditionsAfterRel97_template* p_precondition, MultislotCapAdditionsAfterRel97_template* p_implied_template);
MultislotCapAdditionsAfterRel97_template(Dynamic_Match_Interface<MultislotCapAdditionsAfterRel97>* p_dyn_match);
MultislotCapAdditionsAfterRel97_template(const MultislotCapAdditionsAfterRel97_template& other_value);
~MultislotCapAdditionsAfterRel97_template();
MultislotCapAdditionsAfterRel97_template& operator=(template_sel other_value);
MultislotCapAdditionsAfterRel97_template& operator=(const MultislotCapAdditionsAfterRel97& other_value);
MultislotCapAdditionsAfterRel97_template& operator=(const OPTIONAL<MultislotCapAdditionsAfterRel97>& other_value);
MultislotCapAdditionsAfterRel97_template& operator=(const MultislotCapAdditionsAfterRel97_template& other_value);
boolean match(const MultislotCapAdditionsAfterRel97& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MultislotCapAdditionsAfterRel97 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MultislotCapAdditionsAfterRel97_template& list_item(unsigned int list_index) const;
BITSTRING_template& presenceBitEcsdmulti();
const BITSTRING_template& presenceBitEcsdmulti() const;
BITSTRING_template& ecsdmultislotclass();
const BITSTRING_template& ecsdmultislotclass() const;
BITSTRING_template& presenceBitEgprsmulti();
const BITSTRING_template& presenceBitEgprsmulti() const;
MultislotCap__EGPRS_template& multislotCap__EGPRS();
const MultislotCap__EGPRS_template& multislotCap__EGPRS() const;
BITSTRING_template& presenceBitDtmGprsmulti();
const BITSTRING_template& presenceBitDtmGprsmulti() const;
MultislotCap__dtmgprsmultislotsubclass_template& multislotCapdtmgprsmultislotsubclass();
const MultislotCap__dtmgprsmultislotsubclass_template& multislotCapdtmgprsmultislotsubclass() const;
int size_of() const;
void log() const;
void log_match(const MultislotCapAdditionsAfterRel97& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MultislotCap__EGPRS : public Base_Type {
  BITSTRING field_egprsmultislotclass;
  BITSTRING field_egprsextendeddynalloccap;
public:
  MultislotCap__EGPRS();
  MultislotCap__EGPRS(const BITSTRING& par_egprsmultislotclass,
    const BITSTRING& par_egprsextendeddynalloccap);
  MultislotCap__EGPRS(const MultislotCap__EGPRS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MultislotCap__EGPRS& operator=(const MultislotCap__EGPRS& other_value);
  boolean operator==(const MultislotCap__EGPRS& other_value) const;
  inline boolean operator!=(const MultislotCap__EGPRS& 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& egprsmultislotclass()
    {return field_egprsmultislotclass;}
  inline const BITSTRING& egprsmultislotclass() const
    {return field_egprsmultislotclass;}
  inline BITSTRING& egprsextendeddynalloccap()
    {return field_egprsextendeddynalloccap;}
  inline const BITSTRING& egprsextendeddynalloccap() const
    {return field_egprsextendeddynalloccap;}
  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 MultislotCap__EGPRS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MultislotCap__EGPRS_template *list_value;
} value_list;
struct {
MultislotCap__EGPRS_template* precondition;
MultislotCap__EGPRS_template* implied_template;
} implication_;
dynmatch_struct<MultislotCap__EGPRS>* dyn_match;
};

void set_specific();
void copy_value(const MultislotCap__EGPRS& other_value);
void copy_template(const MultislotCap__EGPRS_template& other_value);

public:
MultislotCap__EGPRS_template();
MultislotCap__EGPRS_template(template_sel other_value);
MultislotCap__EGPRS_template(const MultislotCap__EGPRS& other_value);
MultislotCap__EGPRS_template(const OPTIONAL<MultislotCap__EGPRS>& other_value);
MultislotCap__EGPRS_template(MultislotCap__EGPRS_template* p_precondition, MultislotCap__EGPRS_template* p_implied_template);
MultislotCap__EGPRS_template(Dynamic_Match_Interface<MultislotCap__EGPRS>* p_dyn_match);
MultislotCap__EGPRS_template(const MultislotCap__EGPRS_template& other_value);
~MultislotCap__EGPRS_template();
MultislotCap__EGPRS_template& operator=(template_sel other_value);
MultislotCap__EGPRS_template& operator=(const MultislotCap__EGPRS& other_value);
MultislotCap__EGPRS_template& operator=(const OPTIONAL<MultislotCap__EGPRS>& other_value);
MultislotCap__EGPRS_template& operator=(const MultislotCap__EGPRS_template& other_value);
boolean match(const MultislotCap__EGPRS& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MultislotCap__EGPRS valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MultislotCap__EGPRS_template& list_item(unsigned int list_index) const;
BITSTRING_template& egprsmultislotclass();
const BITSTRING_template& egprsmultislotclass() const;
BITSTRING_template& egprsextendeddynalloccap();
const BITSTRING_template& egprsextendeddynalloccap() const;
int size_of() const;
void log() const;
void log_match(const MultislotCap__EGPRS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MultislotCap__dtmgprsmultislotsubclass : public Base_Type {
  BITSTRING field_dtmgprsmultislotsubclass;
  BITSTRING field_singleSlotDTM;
  BITSTRING field_presenceBitDTM__EGPRSMultiSlot;
  OPTIONAL< BITSTRING > field_dTM__EGPRSMultiSlot;
public:
  MultislotCap__dtmgprsmultislotsubclass();
  MultislotCap__dtmgprsmultislotsubclass(const BITSTRING& par_dtmgprsmultislotsubclass,
    const BITSTRING& par_singleSlotDTM,
    const BITSTRING& par_presenceBitDTM__EGPRSMultiSlot,
    const OPTIONAL< BITSTRING >& par_dTM__EGPRSMultiSlot);
  MultislotCap__dtmgprsmultislotsubclass(const MultislotCap__dtmgprsmultislotsubclass& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MultislotCap__dtmgprsmultislotsubclass& operator=(const MultislotCap__dtmgprsmultislotsubclass& other_value);
  boolean operator==(const MultislotCap__dtmgprsmultislotsubclass& other_value) const;
  inline boolean operator!=(const MultislotCap__dtmgprsmultislotsubclass& 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& dtmgprsmultislotsubclass()
    {return field_dtmgprsmultislotsubclass;}
  inline const BITSTRING& dtmgprsmultislotsubclass() const
    {return field_dtmgprsmultislotsubclass;}
  inline BITSTRING& singleSlotDTM()
    {return field_singleSlotDTM;}
  inline const BITSTRING& singleSlotDTM() const
    {return field_singleSlotDTM;}
  inline BITSTRING& presenceBitDTM__EGPRSMultiSlot()
    {return field_presenceBitDTM__EGPRSMultiSlot;}
  inline const BITSTRING& presenceBitDTM__EGPRSMultiSlot() const
    {return field_presenceBitDTM__EGPRSMultiSlot;}
  inline OPTIONAL< BITSTRING >& dTM__EGPRSMultiSlot()
    {return field_dTM__EGPRSMultiSlot;}
  inline const OPTIONAL< BITSTRING >& dTM__EGPRSMultiSlot() const
    {return field_dTM__EGPRSMultiSlot;}
  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 MultislotCap__dtmgprsmultislotsubclass_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MultislotCap__dtmgprsmultislotsubclass_template *list_value;
} value_list;
struct {
MultislotCap__dtmgprsmultislotsubclass_template* precondition;
MultislotCap__dtmgprsmultislotsubclass_template* implied_template;
} implication_;
dynmatch_struct<MultislotCap__dtmgprsmultislotsubclass>* dyn_match;
};

void set_specific();
void copy_value(const MultislotCap__dtmgprsmultislotsubclass& other_value);
void copy_template(const MultislotCap__dtmgprsmultislotsubclass_template& other_value);

public:
MultislotCap__dtmgprsmultislotsubclass_template();
MultislotCap__dtmgprsmultislotsubclass_template(template_sel other_value);
MultislotCap__dtmgprsmultislotsubclass_template(const MultislotCap__dtmgprsmultislotsubclass& other_value);
MultislotCap__dtmgprsmultislotsubclass_template(const OPTIONAL<MultislotCap__dtmgprsmultislotsubclass>& other_value);
MultislotCap__dtmgprsmultislotsubclass_template(MultislotCap__dtmgprsmultislotsubclass_template* p_precondition, MultislotCap__dtmgprsmultislotsubclass_template* p_implied_template);
MultislotCap__dtmgprsmultislotsubclass_template(Dynamic_Match_Interface<MultislotCap__dtmgprsmultislotsubclass>* p_dyn_match);
MultislotCap__dtmgprsmultislotsubclass_template(const MultislotCap__dtmgprsmultislotsubclass_template& other_value);
~MultislotCap__dtmgprsmultislotsubclass_template();
MultislotCap__dtmgprsmultislotsubclass_template& operator=(template_sel other_value);
MultislotCap__dtmgprsmultislotsubclass_template& operator=(const MultislotCap__dtmgprsmultislotsubclass& other_value);
MultislotCap__dtmgprsmultislotsubclass_template& operator=(const OPTIONAL<MultislotCap__dtmgprsmultislotsubclass>& other_value);
MultislotCap__dtmgprsmultislotsubclass_template& operator=(const MultislotCap__dtmgprsmultislotsubclass_template& other_value);
boolean match(const MultislotCap__dtmgprsmultislotsubclass& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MultislotCap__dtmgprsmultislotsubclass valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MultislotCap__dtmgprsmultislotsubclass_template& list_item(unsigned int list_index) const;
BITSTRING_template& dtmgprsmultislotsubclass();
const BITSTRING_template& dtmgprsmultislotsubclass() const;
BITSTRING_template& singleSlotDTM();
const BITSTRING_template& singleSlotDTM() const;
BITSTRING_template& presenceBitDTM__EGPRSMultiSlot();
const BITSTRING_template& presenceBitDTM__EGPRSMultiSlot() const;
BITSTRING_template& dTM__EGPRSMultiSlot();
const BITSTRING_template& dTM__EGPRSMultiSlot() const;
int size_of() const;
void log() const;
void log_match(const MultislotCap__dtmgprsmultislotsubclass& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel99 : public Base_Type {
  BITSTRING field_presenceBitPskpow;
  OPTIONAL< BITSTRING > field_pskpowercap;
  BITSTRING field_compactIntMeasurCap;
  BITSTRING field_revisionLevelInd;
  BITSTRING field_umtsfddRadAccTechCap;
  BITSTRING field_umtstddRadAccTechCap;
  BITSTRING field_cdma2kRadAccTechCap;
public:
  AccessCapAdditionsRel99();
  AccessCapAdditionsRel99(const BITSTRING& par_presenceBitPskpow,
    const OPTIONAL< BITSTRING >& par_pskpowercap,
    const BITSTRING& par_compactIntMeasurCap,
    const BITSTRING& par_revisionLevelInd,
    const BITSTRING& par_umtsfddRadAccTechCap,
    const BITSTRING& par_umtstddRadAccTechCap,
    const BITSTRING& par_cdma2kRadAccTechCap);
  AccessCapAdditionsRel99(const AccessCapAdditionsRel99& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel99& operator=(const AccessCapAdditionsRel99& other_value);
  boolean operator==(const AccessCapAdditionsRel99& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel99& 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& presenceBitPskpow()
    {return field_presenceBitPskpow;}
  inline const BITSTRING& presenceBitPskpow() const
    {return field_presenceBitPskpow;}
  inline OPTIONAL< BITSTRING >& pskpowercap()
    {return field_pskpowercap;}
  inline const OPTIONAL< BITSTRING >& pskpowercap() const
    {return field_pskpowercap;}
  inline BITSTRING& compactIntMeasurCap()
    {return field_compactIntMeasurCap;}
  inline const BITSTRING& compactIntMeasurCap() const
    {return field_compactIntMeasurCap;}
  inline BITSTRING& revisionLevelInd()
    {return field_revisionLevelInd;}
  inline const BITSTRING& revisionLevelInd() const
    {return field_revisionLevelInd;}
  inline BITSTRING& umtsfddRadAccTechCap()
    {return field_umtsfddRadAccTechCap;}
  inline const BITSTRING& umtsfddRadAccTechCap() const
    {return field_umtsfddRadAccTechCap;}
  inline BITSTRING& umtstddRadAccTechCap()
    {return field_umtstddRadAccTechCap;}
  inline const BITSTRING& umtstddRadAccTechCap() const
    {return field_umtstddRadAccTechCap;}
  inline BITSTRING& cdma2kRadAccTechCap()
    {return field_cdma2kRadAccTechCap;}
  inline const BITSTRING& cdma2kRadAccTechCap() const
    {return field_cdma2kRadAccTechCap;}
  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 AccessCapAdditionsRel99_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel99_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel99_template* precondition;
AccessCapAdditionsRel99_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel99>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel99& other_value);
void copy_template(const AccessCapAdditionsRel99_template& other_value);

public:
AccessCapAdditionsRel99_template();
AccessCapAdditionsRel99_template(template_sel other_value);
AccessCapAdditionsRel99_template(const AccessCapAdditionsRel99& other_value);
AccessCapAdditionsRel99_template(const OPTIONAL<AccessCapAdditionsRel99>& other_value);
AccessCapAdditionsRel99_template(AccessCapAdditionsRel99_template* p_precondition, AccessCapAdditionsRel99_template* p_implied_template);
AccessCapAdditionsRel99_template(Dynamic_Match_Interface<AccessCapAdditionsRel99>* p_dyn_match);
AccessCapAdditionsRel99_template(const AccessCapAdditionsRel99_template& other_value);
~AccessCapAdditionsRel99_template();
AccessCapAdditionsRel99_template& operator=(template_sel other_value);
AccessCapAdditionsRel99_template& operator=(const AccessCapAdditionsRel99& other_value);
AccessCapAdditionsRel99_template& operator=(const OPTIONAL<AccessCapAdditionsRel99>& other_value);
AccessCapAdditionsRel99_template& operator=(const AccessCapAdditionsRel99_template& other_value);
boolean match(const AccessCapAdditionsRel99& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel99 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel99_template& list_item(unsigned int list_index) const;
BITSTRING_template& presenceBitPskpow();
const BITSTRING_template& presenceBitPskpow() const;
BITSTRING_template& pskpowercap();
const BITSTRING_template& pskpowercap() const;
BITSTRING_template& compactIntMeasurCap();
const BITSTRING_template& compactIntMeasurCap() const;
BITSTRING_template& revisionLevelInd();
const BITSTRING_template& revisionLevelInd() const;
BITSTRING_template& umtsfddRadAccTechCap();
const BITSTRING_template& umtsfddRadAccTechCap() const;
BITSTRING_template& umtstddRadAccTechCap();
const BITSTRING_template& umtstddRadAccTechCap() const;
BITSTRING_template& cdma2kRadAccTechCap();
const BITSTRING_template& cdma2kRadAccTechCap() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel99& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel97 : public Base_Type {
  AccessCapAdditionsRel99 field_accessCapAdditionsRel99;
  OPTIONAL< AccessCapAdditionsAfterRel99 > field_accessCapAdditionsAfterRel99;
public:
  AccessCapAdditionsAfterRel97();
  AccessCapAdditionsAfterRel97(const AccessCapAdditionsRel99& par_accessCapAdditionsRel99,
    const OPTIONAL< AccessCapAdditionsAfterRel99 >& par_accessCapAdditionsAfterRel99);
  AccessCapAdditionsAfterRel97(const AccessCapAdditionsAfterRel97& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel97& operator=(const AccessCapAdditionsAfterRel97& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel97& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel97& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel99& accessCapAdditionsRel99()
    {return field_accessCapAdditionsRel99;}
  inline const AccessCapAdditionsRel99& accessCapAdditionsRel99() const
    {return field_accessCapAdditionsRel99;}
  inline OPTIONAL< AccessCapAdditionsAfterRel99 >& accessCapAdditionsAfterRel99()
    {return field_accessCapAdditionsAfterRel99;}
  inline const OPTIONAL< AccessCapAdditionsAfterRel99 >& accessCapAdditionsAfterRel99() const
    {return field_accessCapAdditionsAfterRel99;}
  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 AccessCapAdditionsAfterRel97_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel97_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel97_template* precondition;
AccessCapAdditionsAfterRel97_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel97>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel97& other_value);
void copy_template(const AccessCapAdditionsAfterRel97_template& other_value);

public:
AccessCapAdditionsAfterRel97_template();
AccessCapAdditionsAfterRel97_template(template_sel other_value);
AccessCapAdditionsAfterRel97_template(const AccessCapAdditionsAfterRel97& other_value);
AccessCapAdditionsAfterRel97_template(const OPTIONAL<AccessCapAdditionsAfterRel97>& other_value);
AccessCapAdditionsAfterRel97_template(AccessCapAdditionsAfterRel97_template* p_precondition, AccessCapAdditionsAfterRel97_template* p_implied_template);
AccessCapAdditionsAfterRel97_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel97>* p_dyn_match);
AccessCapAdditionsAfterRel97_template(const AccessCapAdditionsAfterRel97_template& other_value);
~AccessCapAdditionsAfterRel97_template();
AccessCapAdditionsAfterRel97_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel97_template& operator=(const AccessCapAdditionsAfterRel97& other_value);
AccessCapAdditionsAfterRel97_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel97>& other_value);
AccessCapAdditionsAfterRel97_template& operator=(const AccessCapAdditionsAfterRel97_template& other_value);
boolean match(const AccessCapAdditionsAfterRel97& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel97 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel97_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel99_template& accessCapAdditionsRel99();
const AccessCapAdditionsRel99_template& accessCapAdditionsRel99() const;
AccessCapAdditionsAfterRel99_template& accessCapAdditionsAfterRel99();
const AccessCapAdditionsAfterRel99_template& accessCapAdditionsAfterRel99() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel97& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel4 : public Base_Type {
  BITSTRING field_umts128RadAccTechCap;
  BITSTRING field_geranFeaturePackage;
  BITSTRING field_presenceBitExtendedDTM;
  OPTIONAL< ExtendedDTM > field_extendedDTM;
  BITSTRING field_modulationBasedMultislotClass;
public:
  AccessCapAdditionsRel4();
  AccessCapAdditionsRel4(const BITSTRING& par_umts128RadAccTechCap,
    const BITSTRING& par_geranFeaturePackage,
    const BITSTRING& par_presenceBitExtendedDTM,
    const OPTIONAL< ExtendedDTM >& par_extendedDTM,
    const BITSTRING& par_modulationBasedMultislotClass);
  AccessCapAdditionsRel4(const AccessCapAdditionsRel4& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel4& operator=(const AccessCapAdditionsRel4& other_value);
  boolean operator==(const AccessCapAdditionsRel4& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel4& 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& umts128RadAccTechCap()
    {return field_umts128RadAccTechCap;}
  inline const BITSTRING& umts128RadAccTechCap() const
    {return field_umts128RadAccTechCap;}
  inline BITSTRING& geranFeaturePackage()
    {return field_geranFeaturePackage;}
  inline const BITSTRING& geranFeaturePackage() const
    {return field_geranFeaturePackage;}
  inline BITSTRING& presenceBitExtendedDTM()
    {return field_presenceBitExtendedDTM;}
  inline const BITSTRING& presenceBitExtendedDTM() const
    {return field_presenceBitExtendedDTM;}
  inline OPTIONAL< ExtendedDTM >& extendedDTM()
    {return field_extendedDTM;}
  inline const OPTIONAL< ExtendedDTM >& extendedDTM() const
    {return field_extendedDTM;}
  inline BITSTRING& modulationBasedMultislotClass()
    {return field_modulationBasedMultislotClass;}
  inline const BITSTRING& modulationBasedMultislotClass() const
    {return field_modulationBasedMultislotClass;}
  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 AccessCapAdditionsRel4_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel4_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel4_template* precondition;
AccessCapAdditionsRel4_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel4>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel4& other_value);
void copy_template(const AccessCapAdditionsRel4_template& other_value);

public:
AccessCapAdditionsRel4_template();
AccessCapAdditionsRel4_template(template_sel other_value);
AccessCapAdditionsRel4_template(const AccessCapAdditionsRel4& other_value);
AccessCapAdditionsRel4_template(const OPTIONAL<AccessCapAdditionsRel4>& other_value);
AccessCapAdditionsRel4_template(AccessCapAdditionsRel4_template* p_precondition, AccessCapAdditionsRel4_template* p_implied_template);
AccessCapAdditionsRel4_template(Dynamic_Match_Interface<AccessCapAdditionsRel4>* p_dyn_match);
AccessCapAdditionsRel4_template(const AccessCapAdditionsRel4_template& other_value);
~AccessCapAdditionsRel4_template();
AccessCapAdditionsRel4_template& operator=(template_sel other_value);
AccessCapAdditionsRel4_template& operator=(const AccessCapAdditionsRel4& other_value);
AccessCapAdditionsRel4_template& operator=(const OPTIONAL<AccessCapAdditionsRel4>& other_value);
AccessCapAdditionsRel4_template& operator=(const AccessCapAdditionsRel4_template& other_value);
boolean match(const AccessCapAdditionsRel4& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel4 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel4_template& list_item(unsigned int list_index) const;
BITSTRING_template& umts128RadAccTechCap();
const BITSTRING_template& umts128RadAccTechCap() const;
BITSTRING_template& geranFeaturePackage();
const BITSTRING_template& geranFeaturePackage() const;
BITSTRING_template& presenceBitExtendedDTM();
const BITSTRING_template& presenceBitExtendedDTM() const;
ExtendedDTM_template& extendedDTM();
const ExtendedDTM_template& extendedDTM() const;
BITSTRING_template& modulationBasedMultislotClass();
const BITSTRING_template& modulationBasedMultislotClass() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel4& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ExtendedDTM : public Base_Type {
  BITSTRING field_ExtendedDTM__GPRSMultislot;
  BITSTRING field_ExtendedDTM__EGPRSMultislot;
public:
  ExtendedDTM();
  ExtendedDTM(const BITSTRING& par_ExtendedDTM__GPRSMultislot,
    const BITSTRING& par_ExtendedDTM__EGPRSMultislot);
  ExtendedDTM(const ExtendedDTM& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ExtendedDTM& operator=(const ExtendedDTM& other_value);
  boolean operator==(const ExtendedDTM& other_value) const;
  inline boolean operator!=(const ExtendedDTM& 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& ExtendedDTM__GPRSMultislot()
    {return field_ExtendedDTM__GPRSMultislot;}
  inline const BITSTRING& ExtendedDTM__GPRSMultislot() const
    {return field_ExtendedDTM__GPRSMultislot;}
  inline BITSTRING& ExtendedDTM__EGPRSMultislot()
    {return field_ExtendedDTM__EGPRSMultislot;}
  inline const BITSTRING& ExtendedDTM__EGPRSMultislot() const
    {return field_ExtendedDTM__EGPRSMultislot;}
  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 ExtendedDTM_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ExtendedDTM_template *list_value;
} value_list;
struct {
ExtendedDTM_template* precondition;
ExtendedDTM_template* implied_template;
} implication_;
dynmatch_struct<ExtendedDTM>* dyn_match;
};

void set_specific();
void copy_value(const ExtendedDTM& other_value);
void copy_template(const ExtendedDTM_template& other_value);

public:
ExtendedDTM_template();
ExtendedDTM_template(template_sel other_value);
ExtendedDTM_template(const ExtendedDTM& other_value);
ExtendedDTM_template(const OPTIONAL<ExtendedDTM>& other_value);
ExtendedDTM_template(ExtendedDTM_template* p_precondition, ExtendedDTM_template* p_implied_template);
ExtendedDTM_template(Dynamic_Match_Interface<ExtendedDTM>* p_dyn_match);
ExtendedDTM_template(const ExtendedDTM_template& other_value);
~ExtendedDTM_template();
ExtendedDTM_template& operator=(template_sel other_value);
ExtendedDTM_template& operator=(const ExtendedDTM& other_value);
ExtendedDTM_template& operator=(const OPTIONAL<ExtendedDTM>& other_value);
ExtendedDTM_template& operator=(const ExtendedDTM_template& other_value);
boolean match(const ExtendedDTM& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ExtendedDTM valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ExtendedDTM_template& list_item(unsigned int list_index) const;
BITSTRING_template& ExtendedDTM__GPRSMultislot();
const BITSTRING_template& ExtendedDTM__GPRSMultislot() const;
BITSTRING_template& ExtendedDTM__EGPRSMultislot();
const BITSTRING_template& ExtendedDTM__EGPRSMultislot() const;
int size_of() const;
void log() const;
void log_match(const ExtendedDTM& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel99 : public Base_Type {
  AccessCapAdditionsRel4 field_accessCapAdditionsRel4;
  OPTIONAL< AccessCapAdditionsAfterRel4 > field_accessCapAdditionsAfterRel4;
public:
  AccessCapAdditionsAfterRel99();
  AccessCapAdditionsAfterRel99(const AccessCapAdditionsRel4& par_accessCapAdditionsRel4,
    const OPTIONAL< AccessCapAdditionsAfterRel4 >& par_accessCapAdditionsAfterRel4);
  AccessCapAdditionsAfterRel99(const AccessCapAdditionsAfterRel99& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel99& operator=(const AccessCapAdditionsAfterRel99& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel99& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel99& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel4& accessCapAdditionsRel4()
    {return field_accessCapAdditionsRel4;}
  inline const AccessCapAdditionsRel4& accessCapAdditionsRel4() const
    {return field_accessCapAdditionsRel4;}
  inline OPTIONAL< AccessCapAdditionsAfterRel4 >& accessCapAdditionsAfterRel4()
    {return field_accessCapAdditionsAfterRel4;}
  inline const OPTIONAL< AccessCapAdditionsAfterRel4 >& accessCapAdditionsAfterRel4() const
    {return field_accessCapAdditionsAfterRel4;}
  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 AccessCapAdditionsAfterRel99_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel99_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel99_template* precondition;
AccessCapAdditionsAfterRel99_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel99>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel99& other_value);
void copy_template(const AccessCapAdditionsAfterRel99_template& other_value);

public:
AccessCapAdditionsAfterRel99_template();
AccessCapAdditionsAfterRel99_template(template_sel other_value);
AccessCapAdditionsAfterRel99_template(const AccessCapAdditionsAfterRel99& other_value);
AccessCapAdditionsAfterRel99_template(const OPTIONAL<AccessCapAdditionsAfterRel99>& other_value);
AccessCapAdditionsAfterRel99_template(AccessCapAdditionsAfterRel99_template* p_precondition, AccessCapAdditionsAfterRel99_template* p_implied_template);
AccessCapAdditionsAfterRel99_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel99>* p_dyn_match);
AccessCapAdditionsAfterRel99_template(const AccessCapAdditionsAfterRel99_template& other_value);
~AccessCapAdditionsAfterRel99_template();
AccessCapAdditionsAfterRel99_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel99_template& operator=(const AccessCapAdditionsAfterRel99& other_value);
AccessCapAdditionsAfterRel99_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel99>& other_value);
AccessCapAdditionsAfterRel99_template& operator=(const AccessCapAdditionsAfterRel99_template& other_value);
boolean match(const AccessCapAdditionsAfterRel99& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel99 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel99_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel4_template& accessCapAdditionsRel4();
const AccessCapAdditionsRel4_template& accessCapAdditionsRel4() const;
AccessCapAdditionsAfterRel4_template& accessCapAdditionsAfterRel4();
const AccessCapAdditionsAfterRel4_template& accessCapAdditionsAfterRel4() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel99& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel5 : public Base_Type {
  BITSTRING field_presenceBitHighMultislotCapability;
  OPTIONAL< BITSTRING > field_highMultislotCapability;
  BITSTRING field_presenceBitGeranIuModeCapability;
  BITSTRING field_gMSKMultislotPowerProfile;
  BITSTRING field_eightPSKMultislotPowerProfile;
public:
  AccessCapAdditionsRel5();
  AccessCapAdditionsRel5(const BITSTRING& par_presenceBitHighMultislotCapability,
    const OPTIONAL< BITSTRING >& par_highMultislotCapability,
    const BITSTRING& par_presenceBitGeranIuModeCapability,
    const BITSTRING& par_gMSKMultislotPowerProfile,
    const BITSTRING& par_eightPSKMultislotPowerProfile);
  AccessCapAdditionsRel5(const AccessCapAdditionsRel5& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel5& operator=(const AccessCapAdditionsRel5& other_value);
  boolean operator==(const AccessCapAdditionsRel5& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel5& 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& presenceBitHighMultislotCapability()
    {return field_presenceBitHighMultislotCapability;}
  inline const BITSTRING& presenceBitHighMultislotCapability() const
    {return field_presenceBitHighMultislotCapability;}
  inline OPTIONAL< BITSTRING >& highMultislotCapability()
    {return field_highMultislotCapability;}
  inline const OPTIONAL< BITSTRING >& highMultislotCapability() const
    {return field_highMultislotCapability;}
  inline BITSTRING& presenceBitGeranIuModeCapability()
    {return field_presenceBitGeranIuModeCapability;}
  inline const BITSTRING& presenceBitGeranIuModeCapability() const
    {return field_presenceBitGeranIuModeCapability;}
  inline BITSTRING& gMSKMultislotPowerProfile()
    {return field_gMSKMultislotPowerProfile;}
  inline const BITSTRING& gMSKMultislotPowerProfile() const
    {return field_gMSKMultislotPowerProfile;}
  inline BITSTRING& eightPSKMultislotPowerProfile()
    {return field_eightPSKMultislotPowerProfile;}
  inline const BITSTRING& eightPSKMultislotPowerProfile() const
    {return field_eightPSKMultislotPowerProfile;}
  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 AccessCapAdditionsRel5_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel5_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel5_template* precondition;
AccessCapAdditionsRel5_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel5>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel5& other_value);
void copy_template(const AccessCapAdditionsRel5_template& other_value);

public:
AccessCapAdditionsRel5_template();
AccessCapAdditionsRel5_template(template_sel other_value);
AccessCapAdditionsRel5_template(const AccessCapAdditionsRel5& other_value);
AccessCapAdditionsRel5_template(const OPTIONAL<AccessCapAdditionsRel5>& other_value);
AccessCapAdditionsRel5_template(AccessCapAdditionsRel5_template* p_precondition, AccessCapAdditionsRel5_template* p_implied_template);
AccessCapAdditionsRel5_template(Dynamic_Match_Interface<AccessCapAdditionsRel5>* p_dyn_match);
AccessCapAdditionsRel5_template(const AccessCapAdditionsRel5_template& other_value);
~AccessCapAdditionsRel5_template();
AccessCapAdditionsRel5_template& operator=(template_sel other_value);
AccessCapAdditionsRel5_template& operator=(const AccessCapAdditionsRel5& other_value);
AccessCapAdditionsRel5_template& operator=(const OPTIONAL<AccessCapAdditionsRel5>& other_value);
AccessCapAdditionsRel5_template& operator=(const AccessCapAdditionsRel5_template& other_value);
boolean match(const AccessCapAdditionsRel5& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel5 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel5_template& list_item(unsigned int list_index) const;
BITSTRING_template& presenceBitHighMultislotCapability();
const BITSTRING_template& presenceBitHighMultislotCapability() const;
BITSTRING_template& highMultislotCapability();
const BITSTRING_template& highMultislotCapability() const;
BITSTRING_template& presenceBitGeranIuModeCapability();
const BITSTRING_template& presenceBitGeranIuModeCapability() const;
BITSTRING_template& gMSKMultislotPowerProfile();
const BITSTRING_template& gMSKMultislotPowerProfile() const;
BITSTRING_template& eightPSKMultislotPowerProfile();
const BITSTRING_template& eightPSKMultislotPowerProfile() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel5& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel4 : public Base_Type {
  AccessCapAdditionsRel5 field_accessCapAdditionsRel5;
  OPTIONAL< AccessCapAdditionsAfterRel5 > field_accessCapAdditionsAfterRel5;
public:
  AccessCapAdditionsAfterRel4();
  AccessCapAdditionsAfterRel4(const AccessCapAdditionsRel5& par_accessCapAdditionsRel5,
    const OPTIONAL< AccessCapAdditionsAfterRel5 >& par_accessCapAdditionsAfterRel5);
  AccessCapAdditionsAfterRel4(const AccessCapAdditionsAfterRel4& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel4& operator=(const AccessCapAdditionsAfterRel4& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel4& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel4& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel5& accessCapAdditionsRel5()
    {return field_accessCapAdditionsRel5;}
  inline const AccessCapAdditionsRel5& accessCapAdditionsRel5() const
    {return field_accessCapAdditionsRel5;}
  inline OPTIONAL< AccessCapAdditionsAfterRel5 >& accessCapAdditionsAfterRel5()
    {return field_accessCapAdditionsAfterRel5;}
  inline const OPTIONAL< AccessCapAdditionsAfterRel5 >& accessCapAdditionsAfterRel5() const
    {return field_accessCapAdditionsAfterRel5;}
  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 AccessCapAdditionsAfterRel4_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel4_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel4_template* precondition;
AccessCapAdditionsAfterRel4_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel4>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel4& other_value);
void copy_template(const AccessCapAdditionsAfterRel4_template& other_value);

public:
AccessCapAdditionsAfterRel4_template();
AccessCapAdditionsAfterRel4_template(template_sel other_value);
AccessCapAdditionsAfterRel4_template(const AccessCapAdditionsAfterRel4& other_value);
AccessCapAdditionsAfterRel4_template(const OPTIONAL<AccessCapAdditionsAfterRel4>& other_value);
AccessCapAdditionsAfterRel4_template(AccessCapAdditionsAfterRel4_template* p_precondition, AccessCapAdditionsAfterRel4_template* p_implied_template);
AccessCapAdditionsAfterRel4_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel4>* p_dyn_match);
AccessCapAdditionsAfterRel4_template(const AccessCapAdditionsAfterRel4_template& other_value);
~AccessCapAdditionsAfterRel4_template();
AccessCapAdditionsAfterRel4_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel4_template& operator=(const AccessCapAdditionsAfterRel4& other_value);
AccessCapAdditionsAfterRel4_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel4>& other_value);
AccessCapAdditionsAfterRel4_template& operator=(const AccessCapAdditionsAfterRel4_template& other_value);
boolean match(const AccessCapAdditionsAfterRel4& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel4 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel4_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel5_template& accessCapAdditionsRel5();
const AccessCapAdditionsRel5_template& accessCapAdditionsRel5() const;
AccessCapAdditionsAfterRel5_template& accessCapAdditionsAfterRel5();
const AccessCapAdditionsAfterRel5_template& accessCapAdditionsAfterRel5() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel4& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel6 : public Base_Type {
  BITSTRING field_multipleTBFCapability;
  BITSTRING field_downlinkAdvancedReceiverPerformance;
  BITSTRING field_extendedRLCMACCtrlMsgSegmentationCap;
  BITSTRING field_dTMEnhancementsCapability;
  BITSTRING field_presenceBitDTMGPRSHighMultiSlotClass;
  OPTIONAL< DTMGPRSHighMultiSlotClass > field_dTMGPRSHighMultiSlotClass;
  BITSTRING field_pSHandoverCapability;
public:
  AccessCapAdditionsRel6();
  AccessCapAdditionsRel6(const BITSTRING& par_multipleTBFCapability,
    const BITSTRING& par_downlinkAdvancedReceiverPerformance,
    const BITSTRING& par_extendedRLCMACCtrlMsgSegmentationCap,
    const BITSTRING& par_dTMEnhancementsCapability,
    const BITSTRING& par_presenceBitDTMGPRSHighMultiSlotClass,
    const OPTIONAL< DTMGPRSHighMultiSlotClass >& par_dTMGPRSHighMultiSlotClass,
    const BITSTRING& par_pSHandoverCapability);
  AccessCapAdditionsRel6(const AccessCapAdditionsRel6& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel6& operator=(const AccessCapAdditionsRel6& other_value);
  boolean operator==(const AccessCapAdditionsRel6& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel6& 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& multipleTBFCapability()
    {return field_multipleTBFCapability;}
  inline const BITSTRING& multipleTBFCapability() const
    {return field_multipleTBFCapability;}
  inline BITSTRING& downlinkAdvancedReceiverPerformance()
    {return field_downlinkAdvancedReceiverPerformance;}
  inline const BITSTRING& downlinkAdvancedReceiverPerformance() const
    {return field_downlinkAdvancedReceiverPerformance;}
  inline BITSTRING& extendedRLCMACCtrlMsgSegmentationCap()
    {return field_extendedRLCMACCtrlMsgSegmentationCap;}
  inline const BITSTRING& extendedRLCMACCtrlMsgSegmentationCap() const
    {return field_extendedRLCMACCtrlMsgSegmentationCap;}
  inline BITSTRING& dTMEnhancementsCapability()
    {return field_dTMEnhancementsCapability;}
  inline const BITSTRING& dTMEnhancementsCapability() const
    {return field_dTMEnhancementsCapability;}
  inline BITSTRING& presenceBitDTMGPRSHighMultiSlotClass()
    {return field_presenceBitDTMGPRSHighMultiSlotClass;}
  inline const BITSTRING& presenceBitDTMGPRSHighMultiSlotClass() const
    {return field_presenceBitDTMGPRSHighMultiSlotClass;}
  inline OPTIONAL< DTMGPRSHighMultiSlotClass >& dTMGPRSHighMultiSlotClass()
    {return field_dTMGPRSHighMultiSlotClass;}
  inline const OPTIONAL< DTMGPRSHighMultiSlotClass >& dTMGPRSHighMultiSlotClass() const
    {return field_dTMGPRSHighMultiSlotClass;}
  inline BITSTRING& pSHandoverCapability()
    {return field_pSHandoverCapability;}
  inline const BITSTRING& pSHandoverCapability() const
    {return field_pSHandoverCapability;}
  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 AccessCapAdditionsRel6_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel6_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel6_template* precondition;
AccessCapAdditionsRel6_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel6>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel6& other_value);
void copy_template(const AccessCapAdditionsRel6_template& other_value);

public:
AccessCapAdditionsRel6_template();
AccessCapAdditionsRel6_template(template_sel other_value);
AccessCapAdditionsRel6_template(const AccessCapAdditionsRel6& other_value);
AccessCapAdditionsRel6_template(const OPTIONAL<AccessCapAdditionsRel6>& other_value);
AccessCapAdditionsRel6_template(AccessCapAdditionsRel6_template* p_precondition, AccessCapAdditionsRel6_template* p_implied_template);
AccessCapAdditionsRel6_template(Dynamic_Match_Interface<AccessCapAdditionsRel6>* p_dyn_match);
AccessCapAdditionsRel6_template(const AccessCapAdditionsRel6_template& other_value);
~AccessCapAdditionsRel6_template();
AccessCapAdditionsRel6_template& operator=(template_sel other_value);
AccessCapAdditionsRel6_template& operator=(const AccessCapAdditionsRel6& other_value);
AccessCapAdditionsRel6_template& operator=(const OPTIONAL<AccessCapAdditionsRel6>& other_value);
AccessCapAdditionsRel6_template& operator=(const AccessCapAdditionsRel6_template& other_value);
boolean match(const AccessCapAdditionsRel6& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel6 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel6_template& list_item(unsigned int list_index) const;
BITSTRING_template& multipleTBFCapability();
const BITSTRING_template& multipleTBFCapability() const;
BITSTRING_template& downlinkAdvancedReceiverPerformance();
const BITSTRING_template& downlinkAdvancedReceiverPerformance() const;
BITSTRING_template& extendedRLCMACCtrlMsgSegmentationCap();
const BITSTRING_template& extendedRLCMACCtrlMsgSegmentationCap() const;
BITSTRING_template& dTMEnhancementsCapability();
const BITSTRING_template& dTMEnhancementsCapability() const;
BITSTRING_template& presenceBitDTMGPRSHighMultiSlotClass();
const BITSTRING_template& presenceBitDTMGPRSHighMultiSlotClass() const;
DTMGPRSHighMultiSlotClass_template& dTMGPRSHighMultiSlotClass();
const DTMGPRSHighMultiSlotClass_template& dTMGPRSHighMultiSlotClass() const;
BITSTRING_template& pSHandoverCapability();
const BITSTRING_template& pSHandoverCapability() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel6& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class DTMGPRSHighMultiSlotClass : public Base_Type {
  BITSTRING field_dTMGPRSHighMultiSlotClassValue;
  BITSTRING field_presenceBitDTMEGPRSHighMultiSlotClass;
  OPTIONAL< BITSTRING > field_dTMEGPRSHighMultiSlotClassValue;
public:
  DTMGPRSHighMultiSlotClass();
  DTMGPRSHighMultiSlotClass(const BITSTRING& par_dTMGPRSHighMultiSlotClassValue,
    const BITSTRING& par_presenceBitDTMEGPRSHighMultiSlotClass,
    const OPTIONAL< BITSTRING >& par_dTMEGPRSHighMultiSlotClassValue);
  DTMGPRSHighMultiSlotClass(const DTMGPRSHighMultiSlotClass& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DTMGPRSHighMultiSlotClass& operator=(const DTMGPRSHighMultiSlotClass& other_value);
  boolean operator==(const DTMGPRSHighMultiSlotClass& other_value) const;
  inline boolean operator!=(const DTMGPRSHighMultiSlotClass& 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& dTMGPRSHighMultiSlotClassValue()
    {return field_dTMGPRSHighMultiSlotClassValue;}
  inline const BITSTRING& dTMGPRSHighMultiSlotClassValue() const
    {return field_dTMGPRSHighMultiSlotClassValue;}
  inline BITSTRING& presenceBitDTMEGPRSHighMultiSlotClass()
    {return field_presenceBitDTMEGPRSHighMultiSlotClass;}
  inline const BITSTRING& presenceBitDTMEGPRSHighMultiSlotClass() const
    {return field_presenceBitDTMEGPRSHighMultiSlotClass;}
  inline OPTIONAL< BITSTRING >& dTMEGPRSHighMultiSlotClassValue()
    {return field_dTMEGPRSHighMultiSlotClassValue;}
  inline const OPTIONAL< BITSTRING >& dTMEGPRSHighMultiSlotClassValue() const
    {return field_dTMEGPRSHighMultiSlotClassValue;}
  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 DTMGPRSHighMultiSlotClass_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DTMGPRSHighMultiSlotClass_template *list_value;
} value_list;
struct {
DTMGPRSHighMultiSlotClass_template* precondition;
DTMGPRSHighMultiSlotClass_template* implied_template;
} implication_;
dynmatch_struct<DTMGPRSHighMultiSlotClass>* dyn_match;
};

void set_specific();
void copy_value(const DTMGPRSHighMultiSlotClass& other_value);
void copy_template(const DTMGPRSHighMultiSlotClass_template& other_value);

public:
DTMGPRSHighMultiSlotClass_template();
DTMGPRSHighMultiSlotClass_template(template_sel other_value);
DTMGPRSHighMultiSlotClass_template(const DTMGPRSHighMultiSlotClass& other_value);
DTMGPRSHighMultiSlotClass_template(const OPTIONAL<DTMGPRSHighMultiSlotClass>& other_value);
DTMGPRSHighMultiSlotClass_template(DTMGPRSHighMultiSlotClass_template* p_precondition, DTMGPRSHighMultiSlotClass_template* p_implied_template);
DTMGPRSHighMultiSlotClass_template(Dynamic_Match_Interface<DTMGPRSHighMultiSlotClass>* p_dyn_match);
DTMGPRSHighMultiSlotClass_template(const DTMGPRSHighMultiSlotClass_template& other_value);
~DTMGPRSHighMultiSlotClass_template();
DTMGPRSHighMultiSlotClass_template& operator=(template_sel other_value);
DTMGPRSHighMultiSlotClass_template& operator=(const DTMGPRSHighMultiSlotClass& other_value);
DTMGPRSHighMultiSlotClass_template& operator=(const OPTIONAL<DTMGPRSHighMultiSlotClass>& other_value);
DTMGPRSHighMultiSlotClass_template& operator=(const DTMGPRSHighMultiSlotClass_template& other_value);
boolean match(const DTMGPRSHighMultiSlotClass& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DTMGPRSHighMultiSlotClass valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DTMGPRSHighMultiSlotClass_template& list_item(unsigned int list_index) const;
BITSTRING_template& dTMGPRSHighMultiSlotClassValue();
const BITSTRING_template& dTMGPRSHighMultiSlotClassValue() const;
BITSTRING_template& presenceBitDTMEGPRSHighMultiSlotClass();
const BITSTRING_template& presenceBitDTMEGPRSHighMultiSlotClass() const;
BITSTRING_template& dTMEGPRSHighMultiSlotClassValue();
const BITSTRING_template& dTMEGPRSHighMultiSlotClassValue() const;
int size_of() const;
void log() const;
void log_match(const DTMGPRSHighMultiSlotClass& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel5 : public Base_Type {
  AccessCapAdditionsRel6 field_accessCapAdditionsRel6;
  OPTIONAL< AccessCapAdditionsAfterRel6 > field_accessCapAdditionsAfterRel6;
public:
  AccessCapAdditionsAfterRel5();
  AccessCapAdditionsAfterRel5(const AccessCapAdditionsRel6& par_accessCapAdditionsRel6,
    const OPTIONAL< AccessCapAdditionsAfterRel6 >& par_accessCapAdditionsAfterRel6);
  AccessCapAdditionsAfterRel5(const AccessCapAdditionsAfterRel5& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel5& operator=(const AccessCapAdditionsAfterRel5& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel5& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel5& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel6& accessCapAdditionsRel6()
    {return field_accessCapAdditionsRel6;}
  inline const AccessCapAdditionsRel6& accessCapAdditionsRel6() const
    {return field_accessCapAdditionsRel6;}
  inline OPTIONAL< AccessCapAdditionsAfterRel6 >& accessCapAdditionsAfterRel6()
    {return field_accessCapAdditionsAfterRel6;}
  inline const OPTIONAL< AccessCapAdditionsAfterRel6 >& accessCapAdditionsAfterRel6() const
    {return field_accessCapAdditionsAfterRel6;}
  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 AccessCapAdditionsAfterRel5_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel5_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel5_template* precondition;
AccessCapAdditionsAfterRel5_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel5>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel5& other_value);
void copy_template(const AccessCapAdditionsAfterRel5_template& other_value);

public:
AccessCapAdditionsAfterRel5_template();
AccessCapAdditionsAfterRel5_template(template_sel other_value);
AccessCapAdditionsAfterRel5_template(const AccessCapAdditionsAfterRel5& other_value);
AccessCapAdditionsAfterRel5_template(const OPTIONAL<AccessCapAdditionsAfterRel5>& other_value);
AccessCapAdditionsAfterRel5_template(AccessCapAdditionsAfterRel5_template* p_precondition, AccessCapAdditionsAfterRel5_template* p_implied_template);
AccessCapAdditionsAfterRel5_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel5>* p_dyn_match);
AccessCapAdditionsAfterRel5_template(const AccessCapAdditionsAfterRel5_template& other_value);
~AccessCapAdditionsAfterRel5_template();
AccessCapAdditionsAfterRel5_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel5_template& operator=(const AccessCapAdditionsAfterRel5& other_value);
AccessCapAdditionsAfterRel5_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel5>& other_value);
AccessCapAdditionsAfterRel5_template& operator=(const AccessCapAdditionsAfterRel5_template& other_value);
boolean match(const AccessCapAdditionsAfterRel5& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel5 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel5_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel6_template& accessCapAdditionsRel6();
const AccessCapAdditionsRel6_template& accessCapAdditionsRel6() const;
AccessCapAdditionsAfterRel6_template& accessCapAdditionsAfterRel6();
const AccessCapAdditionsAfterRel6_template& accessCapAdditionsAfterRel6() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel5& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel7 : public Base_Type {
  BITSTRING field_dTMHandoverCapability;
  BITSTRING field_presenceBitDownlinkDualCarrier;
  OPTIONAL< DownlinkDualCarrier > field_downlinkDualCarrier;
  BITSTRING field_flexibleTimeslotAssignment;
  BITSTRING field_gANPSHandoverCapability;
  BITSTRING field_rLCNonPersistentMode;
  BITSTRING field_reducedLatencyCapability;
  BITSTRING field_uplinkEGPRS2;
  BITSTRING field_downlinkEGPRS2;
public:
  AccessCapAdditionsRel7();
  AccessCapAdditionsRel7(const BITSTRING& par_dTMHandoverCapability,
    const BITSTRING& par_presenceBitDownlinkDualCarrier,
    const OPTIONAL< DownlinkDualCarrier >& par_downlinkDualCarrier,
    const BITSTRING& par_flexibleTimeslotAssignment,
    const BITSTRING& par_gANPSHandoverCapability,
    const BITSTRING& par_rLCNonPersistentMode,
    const BITSTRING& par_reducedLatencyCapability,
    const BITSTRING& par_uplinkEGPRS2,
    const BITSTRING& par_downlinkEGPRS2);
  AccessCapAdditionsRel7(const AccessCapAdditionsRel7& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel7& operator=(const AccessCapAdditionsRel7& other_value);
  boolean operator==(const AccessCapAdditionsRel7& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel7& 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& dTMHandoverCapability()
    {return field_dTMHandoverCapability;}
  inline const BITSTRING& dTMHandoverCapability() const
    {return field_dTMHandoverCapability;}
  inline BITSTRING& presenceBitDownlinkDualCarrier()
    {return field_presenceBitDownlinkDualCarrier;}
  inline const BITSTRING& presenceBitDownlinkDualCarrier() const
    {return field_presenceBitDownlinkDualCarrier;}
  inline OPTIONAL< DownlinkDualCarrier >& downlinkDualCarrier()
    {return field_downlinkDualCarrier;}
  inline const OPTIONAL< DownlinkDualCarrier >& downlinkDualCarrier() const
    {return field_downlinkDualCarrier;}
  inline BITSTRING& flexibleTimeslotAssignment()
    {return field_flexibleTimeslotAssignment;}
  inline const BITSTRING& flexibleTimeslotAssignment() const
    {return field_flexibleTimeslotAssignment;}
  inline BITSTRING& gANPSHandoverCapability()
    {return field_gANPSHandoverCapability;}
  inline const BITSTRING& gANPSHandoverCapability() const
    {return field_gANPSHandoverCapability;}
  inline BITSTRING& rLCNonPersistentMode()
    {return field_rLCNonPersistentMode;}
  inline const BITSTRING& rLCNonPersistentMode() const
    {return field_rLCNonPersistentMode;}
  inline BITSTRING& reducedLatencyCapability()
    {return field_reducedLatencyCapability;}
  inline const BITSTRING& reducedLatencyCapability() const
    {return field_reducedLatencyCapability;}
  inline BITSTRING& uplinkEGPRS2()
    {return field_uplinkEGPRS2;}
  inline const BITSTRING& uplinkEGPRS2() const
    {return field_uplinkEGPRS2;}
  inline BITSTRING& downlinkEGPRS2()
    {return field_downlinkEGPRS2;}
  inline const BITSTRING& downlinkEGPRS2() const
    {return field_downlinkEGPRS2;}
  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 AccessCapAdditionsRel7_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel7_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel7_template* precondition;
AccessCapAdditionsRel7_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel7>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel7& other_value);
void copy_template(const AccessCapAdditionsRel7_template& other_value);

public:
AccessCapAdditionsRel7_template();
AccessCapAdditionsRel7_template(template_sel other_value);
AccessCapAdditionsRel7_template(const AccessCapAdditionsRel7& other_value);
AccessCapAdditionsRel7_template(const OPTIONAL<AccessCapAdditionsRel7>& other_value);
AccessCapAdditionsRel7_template(AccessCapAdditionsRel7_template* p_precondition, AccessCapAdditionsRel7_template* p_implied_template);
AccessCapAdditionsRel7_template(Dynamic_Match_Interface<AccessCapAdditionsRel7>* p_dyn_match);
AccessCapAdditionsRel7_template(const AccessCapAdditionsRel7_template& other_value);
~AccessCapAdditionsRel7_template();
AccessCapAdditionsRel7_template& operator=(template_sel other_value);
AccessCapAdditionsRel7_template& operator=(const AccessCapAdditionsRel7& other_value);
AccessCapAdditionsRel7_template& operator=(const OPTIONAL<AccessCapAdditionsRel7>& other_value);
AccessCapAdditionsRel7_template& operator=(const AccessCapAdditionsRel7_template& other_value);
boolean match(const AccessCapAdditionsRel7& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel7 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel7_template& list_item(unsigned int list_index) const;
BITSTRING_template& dTMHandoverCapability();
const BITSTRING_template& dTMHandoverCapability() const;
BITSTRING_template& presenceBitDownlinkDualCarrier();
const BITSTRING_template& presenceBitDownlinkDualCarrier() const;
DownlinkDualCarrier_template& downlinkDualCarrier();
const DownlinkDualCarrier_template& downlinkDualCarrier() const;
BITSTRING_template& flexibleTimeslotAssignment();
const BITSTRING_template& flexibleTimeslotAssignment() const;
BITSTRING_template& gANPSHandoverCapability();
const BITSTRING_template& gANPSHandoverCapability() const;
BITSTRING_template& rLCNonPersistentMode();
const BITSTRING_template& rLCNonPersistentMode() const;
BITSTRING_template& reducedLatencyCapability();
const BITSTRING_template& reducedLatencyCapability() const;
BITSTRING_template& uplinkEGPRS2();
const BITSTRING_template& uplinkEGPRS2() const;
BITSTRING_template& downlinkEGPRS2();
const BITSTRING_template& downlinkEGPRS2() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel7& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class DownlinkDualCarrier : public Base_Type {
  BITSTRING field_multislotCapReductionforDownLinkDualCarrier;
  BITSTRING field_downlinkDualCarrierforDTMCapability;
public:
  DownlinkDualCarrier();
  DownlinkDualCarrier(const BITSTRING& par_multislotCapReductionforDownLinkDualCarrier,
    const BITSTRING& par_downlinkDualCarrierforDTMCapability);
  DownlinkDualCarrier(const DownlinkDualCarrier& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DownlinkDualCarrier& operator=(const DownlinkDualCarrier& other_value);
  boolean operator==(const DownlinkDualCarrier& other_value) const;
  inline boolean operator!=(const DownlinkDualCarrier& 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& multislotCapReductionforDownLinkDualCarrier()
    {return field_multislotCapReductionforDownLinkDualCarrier;}
  inline const BITSTRING& multislotCapReductionforDownLinkDualCarrier() const
    {return field_multislotCapReductionforDownLinkDualCarrier;}
  inline BITSTRING& downlinkDualCarrierforDTMCapability()
    {return field_downlinkDualCarrierforDTMCapability;}
  inline const BITSTRING& downlinkDualCarrierforDTMCapability() const
    {return field_downlinkDualCarrierforDTMCapability;}
  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 DownlinkDualCarrier_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DownlinkDualCarrier_template *list_value;
} value_list;
struct {
DownlinkDualCarrier_template* precondition;
DownlinkDualCarrier_template* implied_template;
} implication_;
dynmatch_struct<DownlinkDualCarrier>* dyn_match;
};

void set_specific();
void copy_value(const DownlinkDualCarrier& other_value);
void copy_template(const DownlinkDualCarrier_template& other_value);

public:
DownlinkDualCarrier_template();
DownlinkDualCarrier_template(template_sel other_value);
DownlinkDualCarrier_template(const DownlinkDualCarrier& other_value);
DownlinkDualCarrier_template(const OPTIONAL<DownlinkDualCarrier>& other_value);
DownlinkDualCarrier_template(DownlinkDualCarrier_template* p_precondition, DownlinkDualCarrier_template* p_implied_template);
DownlinkDualCarrier_template(Dynamic_Match_Interface<DownlinkDualCarrier>* p_dyn_match);
DownlinkDualCarrier_template(const DownlinkDualCarrier_template& other_value);
~DownlinkDualCarrier_template();
DownlinkDualCarrier_template& operator=(template_sel other_value);
DownlinkDualCarrier_template& operator=(const DownlinkDualCarrier& other_value);
DownlinkDualCarrier_template& operator=(const OPTIONAL<DownlinkDualCarrier>& other_value);
DownlinkDualCarrier_template& operator=(const DownlinkDualCarrier_template& other_value);
boolean match(const DownlinkDualCarrier& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DownlinkDualCarrier valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DownlinkDualCarrier_template& list_item(unsigned int list_index) const;
BITSTRING_template& multislotCapReductionforDownLinkDualCarrier();
const BITSTRING_template& multislotCapReductionforDownLinkDualCarrier() const;
BITSTRING_template& downlinkDualCarrierforDTMCapability();
const BITSTRING_template& downlinkDualCarrierforDTMCapability() const;
int size_of() const;
void log() const;
void log_match(const DownlinkDualCarrier& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel6 : public Base_Type {
  AccessCapAdditionsRel7 field_accessCapAdditionsRel7;
  OPTIONAL< AccessCapAdditionsAfterRel7 > field_accessCapAdditionsAfterRel7;
public:
  AccessCapAdditionsAfterRel6();
  AccessCapAdditionsAfterRel6(const AccessCapAdditionsRel7& par_accessCapAdditionsRel7,
    const OPTIONAL< AccessCapAdditionsAfterRel7 >& par_accessCapAdditionsAfterRel7);
  AccessCapAdditionsAfterRel6(const AccessCapAdditionsAfterRel6& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel6& operator=(const AccessCapAdditionsAfterRel6& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel6& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel6& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel7& accessCapAdditionsRel7()
    {return field_accessCapAdditionsRel7;}
  inline const AccessCapAdditionsRel7& accessCapAdditionsRel7() const
    {return field_accessCapAdditionsRel7;}
  inline OPTIONAL< AccessCapAdditionsAfterRel7 >& accessCapAdditionsAfterRel7()
    {return field_accessCapAdditionsAfterRel7;}
  inline const OPTIONAL< AccessCapAdditionsAfterRel7 >& accessCapAdditionsAfterRel7() const
    {return field_accessCapAdditionsAfterRel7;}
  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 AccessCapAdditionsAfterRel6_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel6_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel6_template* precondition;
AccessCapAdditionsAfterRel6_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel6>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel6& other_value);
void copy_template(const AccessCapAdditionsAfterRel6_template& other_value);

public:
AccessCapAdditionsAfterRel6_template();
AccessCapAdditionsAfterRel6_template(template_sel other_value);
AccessCapAdditionsAfterRel6_template(const AccessCapAdditionsAfterRel6& other_value);
AccessCapAdditionsAfterRel6_template(const OPTIONAL<AccessCapAdditionsAfterRel6>& other_value);
AccessCapAdditionsAfterRel6_template(AccessCapAdditionsAfterRel6_template* p_precondition, AccessCapAdditionsAfterRel6_template* p_implied_template);
AccessCapAdditionsAfterRel6_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel6>* p_dyn_match);
AccessCapAdditionsAfterRel6_template(const AccessCapAdditionsAfterRel6_template& other_value);
~AccessCapAdditionsAfterRel6_template();
AccessCapAdditionsAfterRel6_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel6_template& operator=(const AccessCapAdditionsAfterRel6& other_value);
AccessCapAdditionsAfterRel6_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel6>& other_value);
AccessCapAdditionsAfterRel6_template& operator=(const AccessCapAdditionsAfterRel6_template& other_value);
boolean match(const AccessCapAdditionsAfterRel6& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel6 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel6_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel7_template& accessCapAdditionsRel7();
const AccessCapAdditionsRel7_template& accessCapAdditionsRel7() const;
AccessCapAdditionsAfterRel7_template& accessCapAdditionsAfterRel7();
const AccessCapAdditionsAfterRel7_template& accessCapAdditionsAfterRel7() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel6& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel8 : public Base_Type {
  BITSTRING field_eUTRAFDDsupport;
  BITSTRING field_eUTRATDDsupport;
  BITSTRING field_gERANToEUTRASupportInGERANPacketTransferMode;
  BITSTRING field_priorityBasedReselectionSupport;
public:
  AccessCapAdditionsRel8();
  AccessCapAdditionsRel8(const BITSTRING& par_eUTRAFDDsupport,
    const BITSTRING& par_eUTRATDDsupport,
    const BITSTRING& par_gERANToEUTRASupportInGERANPacketTransferMode,
    const BITSTRING& par_priorityBasedReselectionSupport);
  AccessCapAdditionsRel8(const AccessCapAdditionsRel8& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel8& operator=(const AccessCapAdditionsRel8& other_value);
  boolean operator==(const AccessCapAdditionsRel8& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel8& 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& eUTRAFDDsupport()
    {return field_eUTRAFDDsupport;}
  inline const BITSTRING& eUTRAFDDsupport() const
    {return field_eUTRAFDDsupport;}
  inline BITSTRING& eUTRATDDsupport()
    {return field_eUTRATDDsupport;}
  inline const BITSTRING& eUTRATDDsupport() const
    {return field_eUTRATDDsupport;}
  inline BITSTRING& gERANToEUTRASupportInGERANPacketTransferMode()
    {return field_gERANToEUTRASupportInGERANPacketTransferMode;}
  inline const BITSTRING& gERANToEUTRASupportInGERANPacketTransferMode() const
    {return field_gERANToEUTRASupportInGERANPacketTransferMode;}
  inline BITSTRING& priorityBasedReselectionSupport()
    {return field_priorityBasedReselectionSupport;}
  inline const BITSTRING& priorityBasedReselectionSupport() const
    {return field_priorityBasedReselectionSupport;}
  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 AccessCapAdditionsRel8_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel8_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel8_template* precondition;
AccessCapAdditionsRel8_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel8>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel8& other_value);
void copy_template(const AccessCapAdditionsRel8_template& other_value);

public:
AccessCapAdditionsRel8_template();
AccessCapAdditionsRel8_template(template_sel other_value);
AccessCapAdditionsRel8_template(const AccessCapAdditionsRel8& other_value);
AccessCapAdditionsRel8_template(const OPTIONAL<AccessCapAdditionsRel8>& other_value);
AccessCapAdditionsRel8_template(AccessCapAdditionsRel8_template* p_precondition, AccessCapAdditionsRel8_template* p_implied_template);
AccessCapAdditionsRel8_template(Dynamic_Match_Interface<AccessCapAdditionsRel8>* p_dyn_match);
AccessCapAdditionsRel8_template(const AccessCapAdditionsRel8_template& other_value);
~AccessCapAdditionsRel8_template();
AccessCapAdditionsRel8_template& operator=(template_sel other_value);
AccessCapAdditionsRel8_template& operator=(const AccessCapAdditionsRel8& other_value);
AccessCapAdditionsRel8_template& operator=(const OPTIONAL<AccessCapAdditionsRel8>& other_value);
AccessCapAdditionsRel8_template& operator=(const AccessCapAdditionsRel8_template& other_value);
boolean match(const AccessCapAdditionsRel8& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel8 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel8_template& list_item(unsigned int list_index) const;
BITSTRING_template& eUTRAFDDsupport();
const BITSTRING_template& eUTRAFDDsupport() const;
BITSTRING_template& eUTRATDDsupport();
const BITSTRING_template& eUTRATDDsupport() const;
BITSTRING_template& gERANToEUTRASupportInGERANPacketTransferMode();
const BITSTRING_template& gERANToEUTRASupportInGERANPacketTransferMode() const;
BITSTRING_template& priorityBasedReselectionSupport();
const BITSTRING_template& priorityBasedReselectionSupport() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel8& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class EnhancedFlexTimeslotAssignment : public Base_Type {
  BITSTRING field_presenceBitalternativeEFTAMultislotClass;
  BITSTRING field_alternativeEFTAMultislotClass;
  BITSTRING field_eFTAMultislotCapabilityReductionforDownlinkDualCarrier;
public:
  EnhancedFlexTimeslotAssignment();
  EnhancedFlexTimeslotAssignment(const BITSTRING& par_presenceBitalternativeEFTAMultislotClass,
    const BITSTRING& par_alternativeEFTAMultislotClass,
    const BITSTRING& par_eFTAMultislotCapabilityReductionforDownlinkDualCarrier);
  EnhancedFlexTimeslotAssignment(const EnhancedFlexTimeslotAssignment& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  EnhancedFlexTimeslotAssignment& operator=(const EnhancedFlexTimeslotAssignment& other_value);
  boolean operator==(const EnhancedFlexTimeslotAssignment& other_value) const;
  inline boolean operator!=(const EnhancedFlexTimeslotAssignment& 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& presenceBitalternativeEFTAMultislotClass()
    {return field_presenceBitalternativeEFTAMultislotClass;}
  inline const BITSTRING& presenceBitalternativeEFTAMultislotClass() const
    {return field_presenceBitalternativeEFTAMultislotClass;}
  inline BITSTRING& alternativeEFTAMultislotClass()
    {return field_alternativeEFTAMultislotClass;}
  inline const BITSTRING& alternativeEFTAMultislotClass() const
    {return field_alternativeEFTAMultislotClass;}
  inline BITSTRING& eFTAMultislotCapabilityReductionforDownlinkDualCarrier()
    {return field_eFTAMultislotCapabilityReductionforDownlinkDualCarrier;}
  inline const BITSTRING& eFTAMultislotCapabilityReductionforDownlinkDualCarrier() const
    {return field_eFTAMultislotCapabilityReductionforDownlinkDualCarrier;}
  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 EnhancedFlexTimeslotAssignment_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
EnhancedFlexTimeslotAssignment_template *list_value;
} value_list;
struct {
EnhancedFlexTimeslotAssignment_template* precondition;
EnhancedFlexTimeslotAssignment_template* implied_template;
} implication_;
dynmatch_struct<EnhancedFlexTimeslotAssignment>* dyn_match;
};

void set_specific();
void copy_value(const EnhancedFlexTimeslotAssignment& other_value);
void copy_template(const EnhancedFlexTimeslotAssignment_template& other_value);

public:
EnhancedFlexTimeslotAssignment_template();
EnhancedFlexTimeslotAssignment_template(template_sel other_value);
EnhancedFlexTimeslotAssignment_template(const EnhancedFlexTimeslotAssignment& other_value);
EnhancedFlexTimeslotAssignment_template(const OPTIONAL<EnhancedFlexTimeslotAssignment>& other_value);
EnhancedFlexTimeslotAssignment_template(EnhancedFlexTimeslotAssignment_template* p_precondition, EnhancedFlexTimeslotAssignment_template* p_implied_template);
EnhancedFlexTimeslotAssignment_template(Dynamic_Match_Interface<EnhancedFlexTimeslotAssignment>* p_dyn_match);
EnhancedFlexTimeslotAssignment_template(const EnhancedFlexTimeslotAssignment_template& other_value);
~EnhancedFlexTimeslotAssignment_template();
EnhancedFlexTimeslotAssignment_template& operator=(template_sel other_value);
EnhancedFlexTimeslotAssignment_template& operator=(const EnhancedFlexTimeslotAssignment& other_value);
EnhancedFlexTimeslotAssignment_template& operator=(const OPTIONAL<EnhancedFlexTimeslotAssignment>& other_value);
EnhancedFlexTimeslotAssignment_template& operator=(const EnhancedFlexTimeslotAssignment_template& other_value);
boolean match(const EnhancedFlexTimeslotAssignment& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
EnhancedFlexTimeslotAssignment valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
EnhancedFlexTimeslotAssignment_template& list_item(unsigned int list_index) const;
BITSTRING_template& presenceBitalternativeEFTAMultislotClass();
const BITSTRING_template& presenceBitalternativeEFTAMultislotClass() const;
BITSTRING_template& alternativeEFTAMultislotClass();
const BITSTRING_template& alternativeEFTAMultislotClass() const;
BITSTRING_template& eFTAMultislotCapabilityReductionforDownlinkDualCarrier();
const BITSTRING_template& eFTAMultislotCapabilityReductionforDownlinkDualCarrier() const;
int size_of() const;
void log() const;
void log_match(const EnhancedFlexTimeslotAssignment& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel9 : public Base_Type {
  EnhancedFlexTimeslotAssignment field_enhancedFlexTimeslotAssignment;
  BITSTRING field_indicationofUpperLayerPDUStartCapabilityforRLCUM;
  BITSTRING field_eMSTCapability;
  BITSTRING field_mTTICapability;
  BITSTRING field_uTRACSGCellsReporting;
  BITSTRING field_eUTRACSGCellsReporting;
public:
  AccessCapAdditionsRel9();
  AccessCapAdditionsRel9(const EnhancedFlexTimeslotAssignment& par_enhancedFlexTimeslotAssignment,
    const BITSTRING& par_indicationofUpperLayerPDUStartCapabilityforRLCUM,
    const BITSTRING& par_eMSTCapability,
    const BITSTRING& par_mTTICapability,
    const BITSTRING& par_uTRACSGCellsReporting,
    const BITSTRING& par_eUTRACSGCellsReporting);
  AccessCapAdditionsRel9(const AccessCapAdditionsRel9& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel9& operator=(const AccessCapAdditionsRel9& other_value);
  boolean operator==(const AccessCapAdditionsRel9& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel9& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline EnhancedFlexTimeslotAssignment& enhancedFlexTimeslotAssignment()
    {return field_enhancedFlexTimeslotAssignment;}
  inline const EnhancedFlexTimeslotAssignment& enhancedFlexTimeslotAssignment() const
    {return field_enhancedFlexTimeslotAssignment;}
  inline BITSTRING& indicationofUpperLayerPDUStartCapabilityforRLCUM()
    {return field_indicationofUpperLayerPDUStartCapabilityforRLCUM;}
  inline const BITSTRING& indicationofUpperLayerPDUStartCapabilityforRLCUM() const
    {return field_indicationofUpperLayerPDUStartCapabilityforRLCUM;}
  inline BITSTRING& eMSTCapability()
    {return field_eMSTCapability;}
  inline const BITSTRING& eMSTCapability() const
    {return field_eMSTCapability;}
  inline BITSTRING& mTTICapability()
    {return field_mTTICapability;}
  inline const BITSTRING& mTTICapability() const
    {return field_mTTICapability;}
  inline BITSTRING& uTRACSGCellsReporting()
    {return field_uTRACSGCellsReporting;}
  inline const BITSTRING& uTRACSGCellsReporting() const
    {return field_uTRACSGCellsReporting;}
  inline BITSTRING& eUTRACSGCellsReporting()
    {return field_eUTRACSGCellsReporting;}
  inline const BITSTRING& eUTRACSGCellsReporting() const
    {return field_eUTRACSGCellsReporting;}
  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 AccessCapAdditionsRel9_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel9_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel9_template* precondition;
AccessCapAdditionsRel9_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel9>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel9& other_value);
void copy_template(const AccessCapAdditionsRel9_template& other_value);

public:
AccessCapAdditionsRel9_template();
AccessCapAdditionsRel9_template(template_sel other_value);
AccessCapAdditionsRel9_template(const AccessCapAdditionsRel9& other_value);
AccessCapAdditionsRel9_template(const OPTIONAL<AccessCapAdditionsRel9>& other_value);
AccessCapAdditionsRel9_template(AccessCapAdditionsRel9_template* p_precondition, AccessCapAdditionsRel9_template* p_implied_template);
AccessCapAdditionsRel9_template(Dynamic_Match_Interface<AccessCapAdditionsRel9>* p_dyn_match);
AccessCapAdditionsRel9_template(const AccessCapAdditionsRel9_template& other_value);
~AccessCapAdditionsRel9_template();
AccessCapAdditionsRel9_template& operator=(template_sel other_value);
AccessCapAdditionsRel9_template& operator=(const AccessCapAdditionsRel9& other_value);
AccessCapAdditionsRel9_template& operator=(const OPTIONAL<AccessCapAdditionsRel9>& other_value);
AccessCapAdditionsRel9_template& operator=(const AccessCapAdditionsRel9_template& other_value);
boolean match(const AccessCapAdditionsRel9& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel9 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel9_template& list_item(unsigned int list_index) const;
EnhancedFlexTimeslotAssignment_template& enhancedFlexTimeslotAssignment();
const EnhancedFlexTimeslotAssignment_template& enhancedFlexTimeslotAssignment() const;
BITSTRING_template& indicationofUpperLayerPDUStartCapabilityforRLCUM();
const BITSTRING_template& indicationofUpperLayerPDUStartCapabilityforRLCUM() const;
BITSTRING_template& eMSTCapability();
const BITSTRING_template& eMSTCapability() const;
BITSTRING_template& mTTICapability();
const BITSTRING_template& mTTICapability() const;
BITSTRING_template& uTRACSGCellsReporting();
const BITSTRING_template& uTRACSGCellsReporting() const;
BITSTRING_template& eUTRACSGCellsReporting();
const BITSTRING_template& eUTRACSGCellsReporting() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel9& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel10 : public Base_Type {
  BITSTRING field_dTRCapability;
  BITSTRING field_eMSRCapability;
  BITSTRING field_fastDownlinkFrequencySwitchingCapability;
  BITSTRING field_tIGHTER__Capability;
public:
  AccessCapAdditionsRel10();
  AccessCapAdditionsRel10(const BITSTRING& par_dTRCapability,
    const BITSTRING& par_eMSRCapability,
    const BITSTRING& par_fastDownlinkFrequencySwitchingCapability,
    const BITSTRING& par_tIGHTER__Capability);
  AccessCapAdditionsRel10(const AccessCapAdditionsRel10& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel10& operator=(const AccessCapAdditionsRel10& other_value);
  boolean operator==(const AccessCapAdditionsRel10& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel10& 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& dTRCapability()
    {return field_dTRCapability;}
  inline const BITSTRING& dTRCapability() const
    {return field_dTRCapability;}
  inline BITSTRING& eMSRCapability()
    {return field_eMSRCapability;}
  inline const BITSTRING& eMSRCapability() const
    {return field_eMSRCapability;}
  inline BITSTRING& fastDownlinkFrequencySwitchingCapability()
    {return field_fastDownlinkFrequencySwitchingCapability;}
  inline const BITSTRING& fastDownlinkFrequencySwitchingCapability() const
    {return field_fastDownlinkFrequencySwitchingCapability;}
  inline BITSTRING& tIGHTER__Capability()
    {return field_tIGHTER__Capability;}
  inline const BITSTRING& tIGHTER__Capability() const
    {return field_tIGHTER__Capability;}
  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 AccessCapAdditionsRel10_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel10_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel10_template* precondition;
AccessCapAdditionsRel10_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel10>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel10& other_value);
void copy_template(const AccessCapAdditionsRel10_template& other_value);

public:
AccessCapAdditionsRel10_template();
AccessCapAdditionsRel10_template(template_sel other_value);
AccessCapAdditionsRel10_template(const AccessCapAdditionsRel10& other_value);
AccessCapAdditionsRel10_template(const OPTIONAL<AccessCapAdditionsRel10>& other_value);
AccessCapAdditionsRel10_template(AccessCapAdditionsRel10_template* p_precondition, AccessCapAdditionsRel10_template* p_implied_template);
AccessCapAdditionsRel10_template(Dynamic_Match_Interface<AccessCapAdditionsRel10>* p_dyn_match);
AccessCapAdditionsRel10_template(const AccessCapAdditionsRel10_template& other_value);
~AccessCapAdditionsRel10_template();
AccessCapAdditionsRel10_template& operator=(template_sel other_value);
AccessCapAdditionsRel10_template& operator=(const AccessCapAdditionsRel10& other_value);
AccessCapAdditionsRel10_template& operator=(const OPTIONAL<AccessCapAdditionsRel10>& other_value);
AccessCapAdditionsRel10_template& operator=(const AccessCapAdditionsRel10_template& other_value);
boolean match(const AccessCapAdditionsRel10& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel10 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel10_template& list_item(unsigned int list_index) const;
BITSTRING_template& dTRCapability();
const BITSTRING_template& dTRCapability() const;
BITSTRING_template& eMSRCapability();
const BITSTRING_template& eMSRCapability() const;
BITSTRING_template& fastDownlinkFrequencySwitchingCapability();
const BITSTRING_template& fastDownlinkFrequencySwitchingCapability() const;
BITSTRING_template& tIGHTER__Capability();
const BITSTRING_template& tIGHTER__Capability() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel10& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel11 : public Base_Type {
  BITSTRING field_fANRCapability;
  BITSTRING field_iPACapability;
  BITSTRING field_gERANNetworkSharingSupport;
  BITSTRING field_eUTRAWidebandRSRQMeasurementsSupport;
public:
  AccessCapAdditionsRel11();
  AccessCapAdditionsRel11(const BITSTRING& par_fANRCapability,
    const BITSTRING& par_iPACapability,
    const BITSTRING& par_gERANNetworkSharingSupport,
    const BITSTRING& par_eUTRAWidebandRSRQMeasurementsSupport);
  AccessCapAdditionsRel11(const AccessCapAdditionsRel11& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel11& operator=(const AccessCapAdditionsRel11& other_value);
  boolean operator==(const AccessCapAdditionsRel11& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel11& 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& fANRCapability()
    {return field_fANRCapability;}
  inline const BITSTRING& fANRCapability() const
    {return field_fANRCapability;}
  inline BITSTRING& iPACapability()
    {return field_iPACapability;}
  inline const BITSTRING& iPACapability() const
    {return field_iPACapability;}
  inline BITSTRING& gERANNetworkSharingSupport()
    {return field_gERANNetworkSharingSupport;}
  inline const BITSTRING& gERANNetworkSharingSupport() const
    {return field_gERANNetworkSharingSupport;}
  inline BITSTRING& eUTRAWidebandRSRQMeasurementsSupport()
    {return field_eUTRAWidebandRSRQMeasurementsSupport;}
  inline const BITSTRING& eUTRAWidebandRSRQMeasurementsSupport() const
    {return field_eUTRAWidebandRSRQMeasurementsSupport;}
  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 AccessCapAdditionsRel11_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel11_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel11_template* precondition;
AccessCapAdditionsRel11_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel11>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel11& other_value);
void copy_template(const AccessCapAdditionsRel11_template& other_value);

public:
AccessCapAdditionsRel11_template();
AccessCapAdditionsRel11_template(template_sel other_value);
AccessCapAdditionsRel11_template(const AccessCapAdditionsRel11& other_value);
AccessCapAdditionsRel11_template(const OPTIONAL<AccessCapAdditionsRel11>& other_value);
AccessCapAdditionsRel11_template(AccessCapAdditionsRel11_template* p_precondition, AccessCapAdditionsRel11_template* p_implied_template);
AccessCapAdditionsRel11_template(Dynamic_Match_Interface<AccessCapAdditionsRel11>* p_dyn_match);
AccessCapAdditionsRel11_template(const AccessCapAdditionsRel11_template& other_value);
~AccessCapAdditionsRel11_template();
AccessCapAdditionsRel11_template& operator=(template_sel other_value);
AccessCapAdditionsRel11_template& operator=(const AccessCapAdditionsRel11& other_value);
AccessCapAdditionsRel11_template& operator=(const OPTIONAL<AccessCapAdditionsRel11>& other_value);
AccessCapAdditionsRel11_template& operator=(const AccessCapAdditionsRel11_template& other_value);
boolean match(const AccessCapAdditionsRel11& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel11 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel11_template& list_item(unsigned int list_index) const;
BITSTRING_template& fANRCapability();
const BITSTRING_template& fANRCapability() const;
BITSTRING_template& iPACapability();
const BITSTRING_template& iPACapability() const;
BITSTRING_template& gERANNetworkSharingSupport();
const BITSTRING_template& gERANNetworkSharingSupport() const;
BITSTRING_template& eUTRAWidebandRSRQMeasurementsSupport();
const BITSTRING_template& eUTRAWidebandRSRQMeasurementsSupport() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel11& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsRel12 : public Base_Type {
  BITSTRING field_uTRAMultipleFrequencyBandIndicatorsSupport;
  BITSTRING field_eUTRAMultipleFrequencyBandIndicatorsSupport;
  BITSTRING field_presenceBitDLMCCapability;
  OPTIONAL< DLMCCapability > field_dLMCCapability;
  BITSTRING field_extendedTSCSetCapabilitySupport;
public:
  AccessCapAdditionsRel12();
  AccessCapAdditionsRel12(const BITSTRING& par_uTRAMultipleFrequencyBandIndicatorsSupport,
    const BITSTRING& par_eUTRAMultipleFrequencyBandIndicatorsSupport,
    const BITSTRING& par_presenceBitDLMCCapability,
    const OPTIONAL< DLMCCapability >& par_dLMCCapability,
    const BITSTRING& par_extendedTSCSetCapabilitySupport);
  AccessCapAdditionsRel12(const AccessCapAdditionsRel12& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsRel12& operator=(const AccessCapAdditionsRel12& other_value);
  boolean operator==(const AccessCapAdditionsRel12& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsRel12& 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& uTRAMultipleFrequencyBandIndicatorsSupport()
    {return field_uTRAMultipleFrequencyBandIndicatorsSupport;}
  inline const BITSTRING& uTRAMultipleFrequencyBandIndicatorsSupport() const
    {return field_uTRAMultipleFrequencyBandIndicatorsSupport;}
  inline BITSTRING& eUTRAMultipleFrequencyBandIndicatorsSupport()
    {return field_eUTRAMultipleFrequencyBandIndicatorsSupport;}
  inline const BITSTRING& eUTRAMultipleFrequencyBandIndicatorsSupport() const
    {return field_eUTRAMultipleFrequencyBandIndicatorsSupport;}
  inline BITSTRING& presenceBitDLMCCapability()
    {return field_presenceBitDLMCCapability;}
  inline const BITSTRING& presenceBitDLMCCapability() const
    {return field_presenceBitDLMCCapability;}
  inline OPTIONAL< DLMCCapability >& dLMCCapability()
    {return field_dLMCCapability;}
  inline const OPTIONAL< DLMCCapability >& dLMCCapability() const
    {return field_dLMCCapability;}
  inline BITSTRING& extendedTSCSetCapabilitySupport()
    {return field_extendedTSCSetCapabilitySupport;}
  inline const BITSTRING& extendedTSCSetCapabilitySupport() const
    {return field_extendedTSCSetCapabilitySupport;}
  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 AccessCapAdditionsRel12_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsRel12_template *list_value;
} value_list;
struct {
AccessCapAdditionsRel12_template* precondition;
AccessCapAdditionsRel12_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsRel12>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsRel12& other_value);
void copy_template(const AccessCapAdditionsRel12_template& other_value);

public:
AccessCapAdditionsRel12_template();
AccessCapAdditionsRel12_template(template_sel other_value);
AccessCapAdditionsRel12_template(const AccessCapAdditionsRel12& other_value);
AccessCapAdditionsRel12_template(const OPTIONAL<AccessCapAdditionsRel12>& other_value);
AccessCapAdditionsRel12_template(AccessCapAdditionsRel12_template* p_precondition, AccessCapAdditionsRel12_template* p_implied_template);
AccessCapAdditionsRel12_template(Dynamic_Match_Interface<AccessCapAdditionsRel12>* p_dyn_match);
AccessCapAdditionsRel12_template(const AccessCapAdditionsRel12_template& other_value);
~AccessCapAdditionsRel12_template();
AccessCapAdditionsRel12_template& operator=(template_sel other_value);
AccessCapAdditionsRel12_template& operator=(const AccessCapAdditionsRel12& other_value);
AccessCapAdditionsRel12_template& operator=(const OPTIONAL<AccessCapAdditionsRel12>& other_value);
AccessCapAdditionsRel12_template& operator=(const AccessCapAdditionsRel12_template& other_value);
boolean match(const AccessCapAdditionsRel12& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsRel12 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsRel12_template& list_item(unsigned int list_index) const;
BITSTRING_template& uTRAMultipleFrequencyBandIndicatorsSupport();
const BITSTRING_template& uTRAMultipleFrequencyBandIndicatorsSupport() const;
BITSTRING_template& eUTRAMultipleFrequencyBandIndicatorsSupport();
const BITSTRING_template& eUTRAMultipleFrequencyBandIndicatorsSupport() const;
BITSTRING_template& presenceBitDLMCCapability();
const BITSTRING_template& presenceBitDLMCCapability() const;
DLMCCapability_template& dLMCCapability();
const DLMCCapability_template& dLMCCapability() const;
BITSTRING_template& extendedTSCSetCapabilitySupport();
const BITSTRING_template& extendedTSCSetCapabilitySupport() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsRel12& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class DLMCCapability : public Base_Type {
  BITSTRING field_presenceDLMC;
  OPTIONAL< DLMCBandReception > field_dLMCBandReception;
  BITSTRING field_dLMCMaxBandwidth;
  BITSTRING field_dLMCMaxNumOfDownlinkTimeslots;
  BITSTRING field_dLMCMaxNumOfDownlinkCarriers;
public:
  DLMCCapability();
  DLMCCapability(const BITSTRING& par_presenceDLMC,
    const OPTIONAL< DLMCBandReception >& par_dLMCBandReception,
    const BITSTRING& par_dLMCMaxBandwidth,
    const BITSTRING& par_dLMCMaxNumOfDownlinkTimeslots,
    const BITSTRING& par_dLMCMaxNumOfDownlinkCarriers);
  DLMCCapability(const DLMCCapability& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DLMCCapability& operator=(const DLMCCapability& other_value);
  boolean operator==(const DLMCCapability& other_value) const;
  inline boolean operator!=(const DLMCCapability& 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& presenceDLMC()
    {return field_presenceDLMC;}
  inline const BITSTRING& presenceDLMC() const
    {return field_presenceDLMC;}
  inline OPTIONAL< DLMCBandReception >& dLMCBandReception()
    {return field_dLMCBandReception;}
  inline const OPTIONAL< DLMCBandReception >& dLMCBandReception() const
    {return field_dLMCBandReception;}
  inline BITSTRING& dLMCMaxBandwidth()
    {return field_dLMCMaxBandwidth;}
  inline const BITSTRING& dLMCMaxBandwidth() const
    {return field_dLMCMaxBandwidth;}
  inline BITSTRING& dLMCMaxNumOfDownlinkTimeslots()
    {return field_dLMCMaxNumOfDownlinkTimeslots;}
  inline const BITSTRING& dLMCMaxNumOfDownlinkTimeslots() const
    {return field_dLMCMaxNumOfDownlinkTimeslots;}
  inline BITSTRING& dLMCMaxNumOfDownlinkCarriers()
    {return field_dLMCMaxNumOfDownlinkCarriers;}
  inline const BITSTRING& dLMCMaxNumOfDownlinkCarriers() const
    {return field_dLMCMaxNumOfDownlinkCarriers;}
  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 DLMCCapability_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DLMCCapability_template *list_value;
} value_list;
struct {
DLMCCapability_template* precondition;
DLMCCapability_template* implied_template;
} implication_;
dynmatch_struct<DLMCCapability>* dyn_match;
};

void set_specific();
void copy_value(const DLMCCapability& other_value);
void copy_template(const DLMCCapability_template& other_value);

public:
DLMCCapability_template();
DLMCCapability_template(template_sel other_value);
DLMCCapability_template(const DLMCCapability& other_value);
DLMCCapability_template(const OPTIONAL<DLMCCapability>& other_value);
DLMCCapability_template(DLMCCapability_template* p_precondition, DLMCCapability_template* p_implied_template);
DLMCCapability_template(Dynamic_Match_Interface<DLMCCapability>* p_dyn_match);
DLMCCapability_template(const DLMCCapability_template& other_value);
~DLMCCapability_template();
DLMCCapability_template& operator=(template_sel other_value);
DLMCCapability_template& operator=(const DLMCCapability& other_value);
DLMCCapability_template& operator=(const OPTIONAL<DLMCCapability>& other_value);
DLMCCapability_template& operator=(const DLMCCapability_template& other_value);
boolean match(const DLMCCapability& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DLMCCapability valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DLMCCapability_template& list_item(unsigned int list_index) const;
BITSTRING_template& presenceDLMC();
const BITSTRING_template& presenceDLMC() const;
DLMCBandReception_template& dLMCBandReception();
const DLMCBandReception_template& dLMCBandReception() const;
BITSTRING_template& dLMCMaxBandwidth();
const BITSTRING_template& dLMCMaxBandwidth() const;
BITSTRING_template& dLMCMaxNumOfDownlinkTimeslots();
const BITSTRING_template& dLMCMaxNumOfDownlinkTimeslots() const;
BITSTRING_template& dLMCMaxNumOfDownlinkCarriers();
const BITSTRING_template& dLMCMaxNumOfDownlinkCarriers() const;
int size_of() const;
void log() const;
void log_match(const DLMCCapability& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class DLMCBandReception : public Base_Type {
  BITSTRING field_dLMCNonContiguousIntraBandReception;
  BITSTRING field_dLMCInterBandReception;
public:
  DLMCBandReception();
  DLMCBandReception(const BITSTRING& par_dLMCNonContiguousIntraBandReception,
    const BITSTRING& par_dLMCInterBandReception);
  DLMCBandReception(const DLMCBandReception& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DLMCBandReception& operator=(const DLMCBandReception& other_value);
  boolean operator==(const DLMCBandReception& other_value) const;
  inline boolean operator!=(const DLMCBandReception& 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& dLMCNonContiguousIntraBandReception()
    {return field_dLMCNonContiguousIntraBandReception;}
  inline const BITSTRING& dLMCNonContiguousIntraBandReception() const
    {return field_dLMCNonContiguousIntraBandReception;}
  inline BITSTRING& dLMCInterBandReception()
    {return field_dLMCInterBandReception;}
  inline const BITSTRING& dLMCInterBandReception() const
    {return field_dLMCInterBandReception;}
  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 DLMCBandReception_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DLMCBandReception_template *list_value;
} value_list;
struct {
DLMCBandReception_template* precondition;
DLMCBandReception_template* implied_template;
} implication_;
dynmatch_struct<DLMCBandReception>* dyn_match;
};

void set_specific();
void copy_value(const DLMCBandReception& other_value);
void copy_template(const DLMCBandReception_template& other_value);

public:
DLMCBandReception_template();
DLMCBandReception_template(template_sel other_value);
DLMCBandReception_template(const DLMCBandReception& other_value);
DLMCBandReception_template(const OPTIONAL<DLMCBandReception>& other_value);
DLMCBandReception_template(DLMCBandReception_template* p_precondition, DLMCBandReception_template* p_implied_template);
DLMCBandReception_template(Dynamic_Match_Interface<DLMCBandReception>* p_dyn_match);
DLMCBandReception_template(const DLMCBandReception_template& other_value);
~DLMCBandReception_template();
DLMCBandReception_template& operator=(template_sel other_value);
DLMCBandReception_template& operator=(const DLMCBandReception& other_value);
DLMCBandReception_template& operator=(const OPTIONAL<DLMCBandReception>& other_value);
DLMCBandReception_template& operator=(const DLMCBandReception_template& other_value);
boolean match(const DLMCBandReception& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DLMCBandReception valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DLMCBandReception_template& list_item(unsigned int list_index) const;
BITSTRING_template& dLMCNonContiguousIntraBandReception();
const BITSTRING_template& dLMCNonContiguousIntraBandReception() const;
BITSTRING_template& dLMCInterBandReception();
const BITSTRING_template& dLMCInterBandReception() const;
int size_of() const;
void log() const;
void log_match(const DLMCBandReception& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapLateAdditionsRel11 : public Base_Type {
  BITSTRING field_extendedEARFCNValueRange;
public:
  AccessCapLateAdditionsRel11();
  AccessCapLateAdditionsRel11(const BITSTRING& par_extendedEARFCNValueRange);
  AccessCapLateAdditionsRel11(const AccessCapLateAdditionsRel11& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapLateAdditionsRel11& operator=(const AccessCapLateAdditionsRel11& other_value);
  boolean operator==(const AccessCapLateAdditionsRel11& other_value) const;
  inline boolean operator!=(const AccessCapLateAdditionsRel11& 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& extendedEARFCNValueRange()
    {return field_extendedEARFCNValueRange;}
  inline const BITSTRING& extendedEARFCNValueRange() const
    {return field_extendedEARFCNValueRange;}
  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 AccessCapLateAdditionsRel11_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapLateAdditionsRel11_template *list_value;
} value_list;
struct {
AccessCapLateAdditionsRel11_template* precondition;
AccessCapLateAdditionsRel11_template* implied_template;
} implication_;
dynmatch_struct<AccessCapLateAdditionsRel11>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapLateAdditionsRel11& other_value);
void copy_template(const AccessCapLateAdditionsRel11_template& other_value);

public:
AccessCapLateAdditionsRel11_template();
AccessCapLateAdditionsRel11_template(template_sel other_value);
AccessCapLateAdditionsRel11_template(const AccessCapLateAdditionsRel11& other_value);
AccessCapLateAdditionsRel11_template(const OPTIONAL<AccessCapLateAdditionsRel11>& other_value);
AccessCapLateAdditionsRel11_template(AccessCapLateAdditionsRel11_template* p_precondition, AccessCapLateAdditionsRel11_template* p_implied_template);
AccessCapLateAdditionsRel11_template(Dynamic_Match_Interface<AccessCapLateAdditionsRel11>* p_dyn_match);
AccessCapLateAdditionsRel11_template(const AccessCapLateAdditionsRel11_template& other_value);
~AccessCapLateAdditionsRel11_template();
AccessCapLateAdditionsRel11_template& operator=(template_sel other_value);
AccessCapLateAdditionsRel11_template& operator=(const AccessCapLateAdditionsRel11& other_value);
AccessCapLateAdditionsRel11_template& operator=(const OPTIONAL<AccessCapLateAdditionsRel11>& other_value);
AccessCapLateAdditionsRel11_template& operator=(const AccessCapLateAdditionsRel11_template& other_value);
boolean match(const AccessCapLateAdditionsRel11& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapLateAdditionsRel11 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapLateAdditionsRel11_template& list_item(unsigned int list_index) const;
BITSTRING_template& extendedEARFCNValueRange();
const BITSTRING_template& extendedEARFCNValueRange() const;
int size_of() const;
void log() const;
void log_match(const AccessCapLateAdditionsRel11& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel12 : public Base_Type {
  AccessCapLateAdditionsRel11 field_accessCapLateAdditionsRel11;
  OCTETSTRING field_accessCapLateAdditionsAfterRel11;
public:
  AccessCapAdditionsAfterRel12();
  AccessCapAdditionsAfterRel12(const AccessCapLateAdditionsRel11& par_accessCapLateAdditionsRel11,
    const OCTETSTRING& par_accessCapLateAdditionsAfterRel11);
  AccessCapAdditionsAfterRel12(const AccessCapAdditionsAfterRel12& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel12& operator=(const AccessCapAdditionsAfterRel12& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel12& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel12& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapLateAdditionsRel11& accessCapLateAdditionsRel11()
    {return field_accessCapLateAdditionsRel11;}
  inline const AccessCapLateAdditionsRel11& accessCapLateAdditionsRel11() const
    {return field_accessCapLateAdditionsRel11;}
  inline OCTETSTRING& accessCapLateAdditionsAfterRel11()
    {return field_accessCapLateAdditionsAfterRel11;}
  inline const OCTETSTRING& accessCapLateAdditionsAfterRel11() const
    {return field_accessCapLateAdditionsAfterRel11;}
  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 AccessCapAdditionsAfterRel12_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel12_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel12_template* precondition;
AccessCapAdditionsAfterRel12_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel12>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel12& other_value);
void copy_template(const AccessCapAdditionsAfterRel12_template& other_value);

public:
AccessCapAdditionsAfterRel12_template();
AccessCapAdditionsAfterRel12_template(template_sel other_value);
AccessCapAdditionsAfterRel12_template(const AccessCapAdditionsAfterRel12& other_value);
AccessCapAdditionsAfterRel12_template(const OPTIONAL<AccessCapAdditionsAfterRel12>& other_value);
AccessCapAdditionsAfterRel12_template(AccessCapAdditionsAfterRel12_template* p_precondition, AccessCapAdditionsAfterRel12_template* p_implied_template);
AccessCapAdditionsAfterRel12_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel12>* p_dyn_match);
AccessCapAdditionsAfterRel12_template(const AccessCapAdditionsAfterRel12_template& other_value);
~AccessCapAdditionsAfterRel12_template();
AccessCapAdditionsAfterRel12_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel12_template& operator=(const AccessCapAdditionsAfterRel12& other_value);
AccessCapAdditionsAfterRel12_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel12>& other_value);
AccessCapAdditionsAfterRel12_template& operator=(const AccessCapAdditionsAfterRel12_template& other_value);
boolean match(const AccessCapAdditionsAfterRel12& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel12 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel12_template& list_item(unsigned int list_index) const;
AccessCapLateAdditionsRel11_template& accessCapLateAdditionsRel11();
const AccessCapLateAdditionsRel11_template& accessCapLateAdditionsRel11() const;
OCTETSTRING_template& accessCapLateAdditionsAfterRel11();
const OCTETSTRING_template& accessCapLateAdditionsAfterRel11() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel12& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel11 : public Base_Type {
  AccessCapAdditionsRel12 field_accessCapAdditionsRel12;
  AccessCapAdditionsAfterRel12 field_accessCapAdditionsAfterRel12;
public:
  AccessCapAdditionsAfterRel11();
  AccessCapAdditionsAfterRel11(const AccessCapAdditionsRel12& par_accessCapAdditionsRel12,
    const AccessCapAdditionsAfterRel12& par_accessCapAdditionsAfterRel12);
  AccessCapAdditionsAfterRel11(const AccessCapAdditionsAfterRel11& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel11& operator=(const AccessCapAdditionsAfterRel11& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel11& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel11& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel12& accessCapAdditionsRel12()
    {return field_accessCapAdditionsRel12;}
  inline const AccessCapAdditionsRel12& accessCapAdditionsRel12() const
    {return field_accessCapAdditionsRel12;}
  inline AccessCapAdditionsAfterRel12& accessCapAdditionsAfterRel12()
    {return field_accessCapAdditionsAfterRel12;}
  inline const AccessCapAdditionsAfterRel12& accessCapAdditionsAfterRel12() const
    {return field_accessCapAdditionsAfterRel12;}
  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 AccessCapAdditionsAfterRel11_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel11_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel11_template* precondition;
AccessCapAdditionsAfterRel11_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel11>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel11& other_value);
void copy_template(const AccessCapAdditionsAfterRel11_template& other_value);

public:
AccessCapAdditionsAfterRel11_template();
AccessCapAdditionsAfterRel11_template(template_sel other_value);
AccessCapAdditionsAfterRel11_template(const AccessCapAdditionsAfterRel11& other_value);
AccessCapAdditionsAfterRel11_template(const OPTIONAL<AccessCapAdditionsAfterRel11>& other_value);
AccessCapAdditionsAfterRel11_template(AccessCapAdditionsAfterRel11_template* p_precondition, AccessCapAdditionsAfterRel11_template* p_implied_template);
AccessCapAdditionsAfterRel11_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel11>* p_dyn_match);
AccessCapAdditionsAfterRel11_template(const AccessCapAdditionsAfterRel11_template& other_value);
~AccessCapAdditionsAfterRel11_template();
AccessCapAdditionsAfterRel11_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel11_template& operator=(const AccessCapAdditionsAfterRel11& other_value);
AccessCapAdditionsAfterRel11_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel11>& other_value);
AccessCapAdditionsAfterRel11_template& operator=(const AccessCapAdditionsAfterRel11_template& other_value);
boolean match(const AccessCapAdditionsAfterRel11& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel11 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel11_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel12_template& accessCapAdditionsRel12();
const AccessCapAdditionsRel12_template& accessCapAdditionsRel12() const;
AccessCapAdditionsAfterRel12_template& accessCapAdditionsAfterRel12();
const AccessCapAdditionsAfterRel12_template& accessCapAdditionsAfterRel12() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel11& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel10 : public Base_Type {
  AccessCapAdditionsRel11 field_accessCapAdditionsRel11;
  AccessCapAdditionsAfterRel11 field_accessCapAdditionsAfterRel11;
public:
  AccessCapAdditionsAfterRel10();
  AccessCapAdditionsAfterRel10(const AccessCapAdditionsRel11& par_accessCapAdditionsRel11,
    const AccessCapAdditionsAfterRel11& par_accessCapAdditionsAfterRel11);
  AccessCapAdditionsAfterRel10(const AccessCapAdditionsAfterRel10& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel10& operator=(const AccessCapAdditionsAfterRel10& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel10& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel10& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel11& accessCapAdditionsRel11()
    {return field_accessCapAdditionsRel11;}
  inline const AccessCapAdditionsRel11& accessCapAdditionsRel11() const
    {return field_accessCapAdditionsRel11;}
  inline AccessCapAdditionsAfterRel11& accessCapAdditionsAfterRel11()
    {return field_accessCapAdditionsAfterRel11;}
  inline const AccessCapAdditionsAfterRel11& accessCapAdditionsAfterRel11() const
    {return field_accessCapAdditionsAfterRel11;}
  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 AccessCapAdditionsAfterRel10_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel10_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel10_template* precondition;
AccessCapAdditionsAfterRel10_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel10>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel10& other_value);
void copy_template(const AccessCapAdditionsAfterRel10_template& other_value);

public:
AccessCapAdditionsAfterRel10_template();
AccessCapAdditionsAfterRel10_template(template_sel other_value);
AccessCapAdditionsAfterRel10_template(const AccessCapAdditionsAfterRel10& other_value);
AccessCapAdditionsAfterRel10_template(const OPTIONAL<AccessCapAdditionsAfterRel10>& other_value);
AccessCapAdditionsAfterRel10_template(AccessCapAdditionsAfterRel10_template* p_precondition, AccessCapAdditionsAfterRel10_template* p_implied_template);
AccessCapAdditionsAfterRel10_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel10>* p_dyn_match);
AccessCapAdditionsAfterRel10_template(const AccessCapAdditionsAfterRel10_template& other_value);
~AccessCapAdditionsAfterRel10_template();
AccessCapAdditionsAfterRel10_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel10_template& operator=(const AccessCapAdditionsAfterRel10& other_value);
AccessCapAdditionsAfterRel10_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel10>& other_value);
AccessCapAdditionsAfterRel10_template& operator=(const AccessCapAdditionsAfterRel10_template& other_value);
boolean match(const AccessCapAdditionsAfterRel10& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel10 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel10_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel11_template& accessCapAdditionsRel11();
const AccessCapAdditionsRel11_template& accessCapAdditionsRel11() const;
AccessCapAdditionsAfterRel11_template& accessCapAdditionsAfterRel11();
const AccessCapAdditionsAfterRel11_template& accessCapAdditionsAfterRel11() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel10& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel9 : public Base_Type {
  AccessCapAdditionsRel10 field_accessCapAdditionsRel10;
  AccessCapAdditionsAfterRel10 field_accessCapAdditionsAfterRel10;
public:
  AccessCapAdditionsAfterRel9();
  AccessCapAdditionsAfterRel9(const AccessCapAdditionsRel10& par_accessCapAdditionsRel10,
    const AccessCapAdditionsAfterRel10& par_accessCapAdditionsAfterRel10);
  AccessCapAdditionsAfterRel9(const AccessCapAdditionsAfterRel9& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel9& operator=(const AccessCapAdditionsAfterRel9& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel9& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel9& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel10& accessCapAdditionsRel10()
    {return field_accessCapAdditionsRel10;}
  inline const AccessCapAdditionsRel10& accessCapAdditionsRel10() const
    {return field_accessCapAdditionsRel10;}
  inline AccessCapAdditionsAfterRel10& accessCapAdditionsAfterRel10()
    {return field_accessCapAdditionsAfterRel10;}
  inline const AccessCapAdditionsAfterRel10& accessCapAdditionsAfterRel10() const
    {return field_accessCapAdditionsAfterRel10;}
  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 AccessCapAdditionsAfterRel9_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel9_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel9_template* precondition;
AccessCapAdditionsAfterRel9_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel9>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel9& other_value);
void copy_template(const AccessCapAdditionsAfterRel9_template& other_value);

public:
AccessCapAdditionsAfterRel9_template();
AccessCapAdditionsAfterRel9_template(template_sel other_value);
AccessCapAdditionsAfterRel9_template(const AccessCapAdditionsAfterRel9& other_value);
AccessCapAdditionsAfterRel9_template(const OPTIONAL<AccessCapAdditionsAfterRel9>& other_value);
AccessCapAdditionsAfterRel9_template(AccessCapAdditionsAfterRel9_template* p_precondition, AccessCapAdditionsAfterRel9_template* p_implied_template);
AccessCapAdditionsAfterRel9_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel9>* p_dyn_match);
AccessCapAdditionsAfterRel9_template(const AccessCapAdditionsAfterRel9_template& other_value);
~AccessCapAdditionsAfterRel9_template();
AccessCapAdditionsAfterRel9_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel9_template& operator=(const AccessCapAdditionsAfterRel9& other_value);
AccessCapAdditionsAfterRel9_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel9>& other_value);
AccessCapAdditionsAfterRel9_template& operator=(const AccessCapAdditionsAfterRel9_template& other_value);
boolean match(const AccessCapAdditionsAfterRel9& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel9 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel9_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel10_template& accessCapAdditionsRel10();
const AccessCapAdditionsRel10_template& accessCapAdditionsRel10() const;
AccessCapAdditionsAfterRel10_template& accessCapAdditionsAfterRel10();
const AccessCapAdditionsAfterRel10_template& accessCapAdditionsAfterRel10() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel9& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel8 : public Base_Type {
  AccessCapAdditionsRel9 field_accessCapAdditionsRel9;
  AccessCapAdditionsAfterRel9 field_accessCapAdditionsAfterRel9;
public:
  AccessCapAdditionsAfterRel8();
  AccessCapAdditionsAfterRel8(const AccessCapAdditionsRel9& par_accessCapAdditionsRel9,
    const AccessCapAdditionsAfterRel9& par_accessCapAdditionsAfterRel9);
  AccessCapAdditionsAfterRel8(const AccessCapAdditionsAfterRel8& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel8& operator=(const AccessCapAdditionsAfterRel8& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel8& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel8& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel9& accessCapAdditionsRel9()
    {return field_accessCapAdditionsRel9;}
  inline const AccessCapAdditionsRel9& accessCapAdditionsRel9() const
    {return field_accessCapAdditionsRel9;}
  inline AccessCapAdditionsAfterRel9& accessCapAdditionsAfterRel9()
    {return field_accessCapAdditionsAfterRel9;}
  inline const AccessCapAdditionsAfterRel9& accessCapAdditionsAfterRel9() const
    {return field_accessCapAdditionsAfterRel9;}
  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 AccessCapAdditionsAfterRel8_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel8_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel8_template* precondition;
AccessCapAdditionsAfterRel8_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel8>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel8& other_value);
void copy_template(const AccessCapAdditionsAfterRel8_template& other_value);

public:
AccessCapAdditionsAfterRel8_template();
AccessCapAdditionsAfterRel8_template(template_sel other_value);
AccessCapAdditionsAfterRel8_template(const AccessCapAdditionsAfterRel8& other_value);
AccessCapAdditionsAfterRel8_template(const OPTIONAL<AccessCapAdditionsAfterRel8>& other_value);
AccessCapAdditionsAfterRel8_template(AccessCapAdditionsAfterRel8_template* p_precondition, AccessCapAdditionsAfterRel8_template* p_implied_template);
AccessCapAdditionsAfterRel8_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel8>* p_dyn_match);
AccessCapAdditionsAfterRel8_template(const AccessCapAdditionsAfterRel8_template& other_value);
~AccessCapAdditionsAfterRel8_template();
AccessCapAdditionsAfterRel8_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel8_template& operator=(const AccessCapAdditionsAfterRel8& other_value);
AccessCapAdditionsAfterRel8_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel8>& other_value);
AccessCapAdditionsAfterRel8_template& operator=(const AccessCapAdditionsAfterRel8_template& other_value);
boolean match(const AccessCapAdditionsAfterRel8& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel8 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel8_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel9_template& accessCapAdditionsRel9();
const AccessCapAdditionsRel9_template& accessCapAdditionsRel9() const;
AccessCapAdditionsAfterRel9_template& accessCapAdditionsAfterRel9();
const AccessCapAdditionsAfterRel9_template& accessCapAdditionsAfterRel9() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel8& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapAdditionsAfterRel7 : public Base_Type {
  AccessCapAdditionsRel8 field_accessCapAdditionsRel8;
  AccessCapAdditionsAfterRel8 field_accessCapAdditionsAfterRel8;
public:
  AccessCapAdditionsAfterRel7();
  AccessCapAdditionsAfterRel7(const AccessCapAdditionsRel8& par_accessCapAdditionsRel8,
    const AccessCapAdditionsAfterRel8& par_accessCapAdditionsAfterRel8);
  AccessCapAdditionsAfterRel7(const AccessCapAdditionsAfterRel7& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapAdditionsAfterRel7& operator=(const AccessCapAdditionsAfterRel7& other_value);
  boolean operator==(const AccessCapAdditionsAfterRel7& other_value) const;
  inline boolean operator!=(const AccessCapAdditionsAfterRel7& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AccessCapAdditionsRel8& accessCapAdditionsRel8()
    {return field_accessCapAdditionsRel8;}
  inline const AccessCapAdditionsRel8& accessCapAdditionsRel8() const
    {return field_accessCapAdditionsRel8;}
  inline AccessCapAdditionsAfterRel8& accessCapAdditionsAfterRel8()
    {return field_accessCapAdditionsAfterRel8;}
  inline const AccessCapAdditionsAfterRel8& accessCapAdditionsAfterRel8() const
    {return field_accessCapAdditionsAfterRel8;}
  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 AccessCapAdditionsAfterRel7_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapAdditionsAfterRel7_template *list_value;
} value_list;
struct {
AccessCapAdditionsAfterRel7_template* precondition;
AccessCapAdditionsAfterRel7_template* implied_template;
} implication_;
dynmatch_struct<AccessCapAdditionsAfterRel7>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapAdditionsAfterRel7& other_value);
void copy_template(const AccessCapAdditionsAfterRel7_template& other_value);

public:
AccessCapAdditionsAfterRel7_template();
AccessCapAdditionsAfterRel7_template(template_sel other_value);
AccessCapAdditionsAfterRel7_template(const AccessCapAdditionsAfterRel7& other_value);
AccessCapAdditionsAfterRel7_template(const OPTIONAL<AccessCapAdditionsAfterRel7>& other_value);
AccessCapAdditionsAfterRel7_template(AccessCapAdditionsAfterRel7_template* p_precondition, AccessCapAdditionsAfterRel7_template* p_implied_template);
AccessCapAdditionsAfterRel7_template(Dynamic_Match_Interface<AccessCapAdditionsAfterRel7>* p_dyn_match);
AccessCapAdditionsAfterRel7_template(const AccessCapAdditionsAfterRel7_template& other_value);
~AccessCapAdditionsAfterRel7_template();
AccessCapAdditionsAfterRel7_template& operator=(template_sel other_value);
AccessCapAdditionsAfterRel7_template& operator=(const AccessCapAdditionsAfterRel7& other_value);
AccessCapAdditionsAfterRel7_template& operator=(const OPTIONAL<AccessCapAdditionsAfterRel7>& other_value);
AccessCapAdditionsAfterRel7_template& operator=(const AccessCapAdditionsAfterRel7_template& other_value);
boolean match(const AccessCapAdditionsAfterRel7& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapAdditionsAfterRel7 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapAdditionsAfterRel7_template& list_item(unsigned int list_index) const;
AccessCapAdditionsRel8_template& accessCapAdditionsRel8();
const AccessCapAdditionsRel8_template& accessCapAdditionsRel8() const;
AccessCapAdditionsAfterRel8_template& accessCapAdditionsAfterRel8();
const AccessCapAdditionsAfterRel8_template& accessCapAdditionsAfterRel8() const;
int size_of() const;
void log() const;
void log_match(const AccessCapAdditionsAfterRel7& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessCapabilitiesStruct : public Base_Type {
  INTEGER field_lengthIndicator;
  AccessCapabilities field_accessCapabilities;
  OPTIONAL< BITSTRING > field_spare__bits;
public:
  AccessCapabilitiesStruct();
  AccessCapabilitiesStruct(const INTEGER& par_lengthIndicator,
    const AccessCapabilities& par_accessCapabilities,
    const OPTIONAL< BITSTRING >& par_spare__bits);
  AccessCapabilitiesStruct(const AccessCapabilitiesStruct& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessCapabilitiesStruct& operator=(const AccessCapabilitiesStruct& other_value);
  boolean operator==(const AccessCapabilitiesStruct& other_value) const;
  inline boolean operator!=(const AccessCapabilitiesStruct& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline AccessCapabilities& accessCapabilities()
    {return field_accessCapabilities;}
  inline const AccessCapabilities& accessCapabilities() const
    {return field_accessCapabilities;}
  inline OPTIONAL< BITSTRING >& spare__bits()
    {return field_spare__bits;}
  inline const OPTIONAL< BITSTRING >& spare__bits() const
    {return field_spare__bits;}
  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 AccessCapabilitiesStruct_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessCapabilitiesStruct_template *list_value;
} value_list;
struct {
AccessCapabilitiesStruct_template* precondition;
AccessCapabilitiesStruct_template* implied_template;
} implication_;
dynmatch_struct<AccessCapabilitiesStruct>* dyn_match;
};

void set_specific();
void copy_value(const AccessCapabilitiesStruct& other_value);
void copy_template(const AccessCapabilitiesStruct_template& other_value);

public:
AccessCapabilitiesStruct_template();
AccessCapabilitiesStruct_template(template_sel other_value);
AccessCapabilitiesStruct_template(const AccessCapabilitiesStruct& other_value);
AccessCapabilitiesStruct_template(const OPTIONAL<AccessCapabilitiesStruct>& other_value);
AccessCapabilitiesStruct_template(AccessCapabilitiesStruct_template* p_precondition, AccessCapabilitiesStruct_template* p_implied_template);
AccessCapabilitiesStruct_template(Dynamic_Match_Interface<AccessCapabilitiesStruct>* p_dyn_match);
AccessCapabilitiesStruct_template(const AccessCapabilitiesStruct_template& other_value);
~AccessCapabilitiesStruct_template();
AccessCapabilitiesStruct_template& operator=(template_sel other_value);
AccessCapabilitiesStruct_template& operator=(const AccessCapabilitiesStruct& other_value);
AccessCapabilitiesStruct_template& operator=(const OPTIONAL<AccessCapabilitiesStruct>& other_value);
AccessCapabilitiesStruct_template& operator=(const AccessCapabilitiesStruct_template& other_value);
boolean match(const AccessCapabilitiesStruct& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessCapabilitiesStruct valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessCapabilitiesStruct_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
AccessCapabilities_template& accessCapabilities();
const AccessCapabilities_template& accessCapabilities() const;
BITSTRING_template& spare__bits();
const BITSTRING_template& spare__bits() const;
int size_of() const;
void log() const;
void log_match(const AccessCapabilitiesStruct& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MSRACapabilityValuesExclude1111 : public Base_Type {
  BITSTRING field_accessTechnType;
  AccessCapabilitiesStruct field_accessCapabilities;
public:
  MSRACapabilityValuesExclude1111();
  MSRACapabilityValuesExclude1111(const BITSTRING& par_accessTechnType,
    const AccessCapabilitiesStruct& par_accessCapabilities);
  MSRACapabilityValuesExclude1111(const MSRACapabilityValuesExclude1111& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MSRACapabilityValuesExclude1111& operator=(const MSRACapabilityValuesExclude1111& other_value);
  boolean operator==(const MSRACapabilityValuesExclude1111& other_value) const;
  inline boolean operator!=(const MSRACapabilityValuesExclude1111& 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& accessTechnType()
    {return field_accessTechnType;}
  inline const BITSTRING& accessTechnType() const
    {return field_accessTechnType;}
  inline AccessCapabilitiesStruct& accessCapabilities()
    {return field_accessCapabilities;}
  inline const AccessCapabilitiesStruct& accessCapabilities() const
    {return field_accessCapabilities;}
  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 MSRACapabilityValuesExclude1111_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MSRACapabilityValuesExclude1111_template *list_value;
} value_list;
struct {
MSRACapabilityValuesExclude1111_template* precondition;
MSRACapabilityValuesExclude1111_template* implied_template;
} implication_;
dynmatch_struct<MSRACapabilityValuesExclude1111>* dyn_match;
};

void set_specific();
void copy_value(const MSRACapabilityValuesExclude1111& other_value);
void copy_template(const MSRACapabilityValuesExclude1111_template& other_value);

public:
MSRACapabilityValuesExclude1111_template();
MSRACapabilityValuesExclude1111_template(template_sel other_value);
MSRACapabilityValuesExclude1111_template(const MSRACapabilityValuesExclude1111& other_value);
MSRACapabilityValuesExclude1111_template(const OPTIONAL<MSRACapabilityValuesExclude1111>& other_value);
MSRACapabilityValuesExclude1111_template(MSRACapabilityValuesExclude1111_template* p_precondition, MSRACapabilityValuesExclude1111_template* p_implied_template);
MSRACapabilityValuesExclude1111_template(Dynamic_Match_Interface<MSRACapabilityValuesExclude1111>* p_dyn_match);
MSRACapabilityValuesExclude1111_template(const MSRACapabilityValuesExclude1111_template& other_value);
~MSRACapabilityValuesExclude1111_template();
MSRACapabilityValuesExclude1111_template& operator=(template_sel other_value);
MSRACapabilityValuesExclude1111_template& operator=(const MSRACapabilityValuesExclude1111& other_value);
MSRACapabilityValuesExclude1111_template& operator=(const OPTIONAL<MSRACapabilityValuesExclude1111>& other_value);
MSRACapabilityValuesExclude1111_template& operator=(const MSRACapabilityValuesExclude1111_template& other_value);
boolean match(const MSRACapabilityValuesExclude1111& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MSRACapabilityValuesExclude1111 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MSRACapabilityValuesExclude1111_template& list_item(unsigned int list_index) const;
BITSTRING_template& accessTechnType();
const BITSTRING_template& accessTechnType() const;
AccessCapabilitiesStruct_template& accessCapabilities();
const AccessCapabilitiesStruct_template& accessCapabilities() const;
int size_of() const;
void log() const;
void log_match(const MSRACapabilityValuesExclude1111& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MSRACapabilityValues1111 : public Base_Type {
  BITSTRING field_accessTechnType;
  INTEGER field_lengthIndicator;
  BITSTRING field_presenceIndicator__AdditionalAccessTechnologiesRepetition;
  OPTIONAL< AdditionalAccessTechnologiesRepetition > field_additionalAccessTechnologiesRepetition;
  BITSTRING field_spare__bits;
public:
  MSRACapabilityValues1111();
  MSRACapabilityValues1111(const BITSTRING& par_accessTechnType,
    const INTEGER& par_lengthIndicator,
    const BITSTRING& par_presenceIndicator__AdditionalAccessTechnologiesRepetition,
    const OPTIONAL< AdditionalAccessTechnologiesRepetition >& par_additionalAccessTechnologiesRepetition,
    const BITSTRING& par_spare__bits);
  MSRACapabilityValues1111(const MSRACapabilityValues1111& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MSRACapabilityValues1111& operator=(const MSRACapabilityValues1111& other_value);
  boolean operator==(const MSRACapabilityValues1111& other_value) const;
  inline boolean operator!=(const MSRACapabilityValues1111& 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& accessTechnType()
    {return field_accessTechnType;}
  inline const BITSTRING& accessTechnType() const
    {return field_accessTechnType;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline BITSTRING& presenceIndicator__AdditionalAccessTechnologiesRepetition()
    {return field_presenceIndicator__AdditionalAccessTechnologiesRepetition;}
  inline const BITSTRING& presenceIndicator__AdditionalAccessTechnologiesRepetition() const
    {return field_presenceIndicator__AdditionalAccessTechnologiesRepetition;}
  inline OPTIONAL< AdditionalAccessTechnologiesRepetition >& additionalAccessTechnologiesRepetition()
    {return field_additionalAccessTechnologiesRepetition;}
  inline const OPTIONAL< AdditionalAccessTechnologiesRepetition >& additionalAccessTechnologiesRepetition() const
    {return field_additionalAccessTechnologiesRepetition;}
  inline BITSTRING& spare__bits()
    {return field_spare__bits;}
  inline const BITSTRING& spare__bits() const
    {return field_spare__bits;}
  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 MSRACapabilityValues1111_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MSRACapabilityValues1111_template *list_value;
} value_list;
struct {
MSRACapabilityValues1111_template* precondition;
MSRACapabilityValues1111_template* implied_template;
} implication_;
dynmatch_struct<MSRACapabilityValues1111>* dyn_match;
};

void set_specific();
void copy_value(const MSRACapabilityValues1111& other_value);
void copy_template(const MSRACapabilityValues1111_template& other_value);

public:
MSRACapabilityValues1111_template();
MSRACapabilityValues1111_template(template_sel other_value);
MSRACapabilityValues1111_template(const MSRACapabilityValues1111& other_value);
MSRACapabilityValues1111_template(const OPTIONAL<MSRACapabilityValues1111>& other_value);
MSRACapabilityValues1111_template(MSRACapabilityValues1111_template* p_precondition, MSRACapabilityValues1111_template* p_implied_template);
MSRACapabilityValues1111_template(Dynamic_Match_Interface<MSRACapabilityValues1111>* p_dyn_match);
MSRACapabilityValues1111_template(const MSRACapabilityValues1111_template& other_value);
~MSRACapabilityValues1111_template();
MSRACapabilityValues1111_template& operator=(template_sel other_value);
MSRACapabilityValues1111_template& operator=(const MSRACapabilityValues1111& other_value);
MSRACapabilityValues1111_template& operator=(const OPTIONAL<MSRACapabilityValues1111>& other_value);
MSRACapabilityValues1111_template& operator=(const MSRACapabilityValues1111_template& other_value);
boolean match(const MSRACapabilityValues1111& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MSRACapabilityValues1111 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MSRACapabilityValues1111_template& list_item(unsigned int list_index) const;
BITSTRING_template& accessTechnType();
const BITSTRING_template& accessTechnType() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
BITSTRING_template& presenceIndicator__AdditionalAccessTechnologiesRepetition();
const BITSTRING_template& presenceIndicator__AdditionalAccessTechnologiesRepetition() const;
AdditionalAccessTechnologiesRepetition_template& additionalAccessTechnologiesRepetition();
const AdditionalAccessTechnologiesRepetition_template& additionalAccessTechnologiesRepetition() const;
BITSTRING_template& spare__bits();
const BITSTRING_template& spare__bits() const;
int size_of() const;
void log() const;
void log_match(const MSRACapabilityValues1111& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AdditionalAccessTechnologiesRepetition : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
AdditionalAccessTechnologiesRecord **value_elements;
} *val_ptr;

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

public:
  typedef AdditionalAccessTechnologiesRecord of_type;
AdditionalAccessTechnologiesRepetition();
AdditionalAccessTechnologiesRepetition(null_type other_value);
AdditionalAccessTechnologiesRepetition(const AdditionalAccessTechnologiesRepetition& other_value);
~AdditionalAccessTechnologiesRepetition();

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

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

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

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

AdditionalAccessTechnologiesRepetition operator+(const AdditionalAccessTechnologiesRepetition& other_value) const;

AdditionalAccessTechnologiesRepetition substr(int index, int returncount) const;

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

AdditionalAccessTechnologiesRepetition replace(int index, int len, const AdditionalAccessTechnologiesRepetition_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 AdditionalAccessTechnologiesRepetition_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
AdditionalAccessTechnologiesRecord_template **value_elements;
} single_value;
struct {
unsigned int n_values;
AdditionalAccessTechnologiesRepetition_template *list_value;
} value_list;
struct {
AdditionalAccessTechnologiesRepetition_template* precondition;
AdditionalAccessTechnologiesRepetition_template* implied_template;
} implication_;
dynmatch_struct<AdditionalAccessTechnologiesRepetition>* dyn_match;
};
void copy_value(const AdditionalAccessTechnologiesRepetition& other_value);
void copy_template(const AdditionalAccessTechnologiesRepetition_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:
AdditionalAccessTechnologiesRepetition_template();
AdditionalAccessTechnologiesRepetition_template(template_sel other_value);
AdditionalAccessTechnologiesRepetition_template(null_type other_value);
AdditionalAccessTechnologiesRepetition_template(const AdditionalAccessTechnologiesRepetition& other_value);
AdditionalAccessTechnologiesRepetition_template(const OPTIONAL<AdditionalAccessTechnologiesRepetition>& other_value);
AdditionalAccessTechnologiesRepetition_template(AdditionalAccessTechnologiesRepetition_template* p_precondition, AdditionalAccessTechnologiesRepetition_template* p_implied_template);
AdditionalAccessTechnologiesRepetition_template(Dynamic_Match_Interface<AdditionalAccessTechnologiesRepetition>* p_dyn_match);
AdditionalAccessTechnologiesRepetition_template(const AdditionalAccessTechnologiesRepetition_template& other_value);
~AdditionalAccessTechnologiesRepetition_template();

void clean_up();
AdditionalAccessTechnologiesRepetition_template& operator=(template_sel other_value);
AdditionalAccessTechnologiesRepetition_template& operator=(null_type other_value);
AdditionalAccessTechnologiesRepetition_template& operator=(const AdditionalAccessTechnologiesRepetition& other_value);
AdditionalAccessTechnologiesRepetition_template& operator=(const OPTIONAL<AdditionalAccessTechnologiesRepetition>& other_value);
AdditionalAccessTechnologiesRepetition_template& operator=(const AdditionalAccessTechnologiesRepetition_template& other_value);

AdditionalAccessTechnologiesRecord_template& operator[](int index_value);
AdditionalAccessTechnologiesRecord_template& operator[](const INTEGER& index_value);
const AdditionalAccessTechnologiesRecord_template& operator[](int index_value) const;
const AdditionalAccessTechnologiesRecord_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 AdditionalAccessTechnologiesRepetition& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
AdditionalAccessTechnologiesRepetition valueof() const;
AdditionalAccessTechnologiesRepetition substr(int index, int returncount) const;

AdditionalAccessTechnologiesRepetition replace(int index, int len, const AdditionalAccessTechnologiesRepetition_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
AdditionalAccessTechnologiesRepetition_template& list_item(unsigned int list_index);
void log() const;
void log_match(const AdditionalAccessTechnologiesRepetition& 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;
boolean get_istemplate_kind(const char* type) const;
};

class AdditionalAccessTechnologies : public Base_Type {
  BITSTRING field_accessTechnType;
  BITSTRING field_gMSKPowerClass;
  BITSTRING field_psk8PowerClass;
public:
  AdditionalAccessTechnologies();
  AdditionalAccessTechnologies(const BITSTRING& par_accessTechnType,
    const BITSTRING& par_gMSKPowerClass,
    const BITSTRING& par_psk8PowerClass);
  AdditionalAccessTechnologies(const AdditionalAccessTechnologies& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AdditionalAccessTechnologies& operator=(const AdditionalAccessTechnologies& other_value);
  boolean operator==(const AdditionalAccessTechnologies& other_value) const;
  inline boolean operator!=(const AdditionalAccessTechnologies& 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& accessTechnType()
    {return field_accessTechnType;}
  inline const BITSTRING& accessTechnType() const
    {return field_accessTechnType;}
  inline BITSTRING& gMSKPowerClass()
    {return field_gMSKPowerClass;}
  inline const BITSTRING& gMSKPowerClass() const
    {return field_gMSKPowerClass;}
  inline BITSTRING& psk8PowerClass()
    {return field_psk8PowerClass;}
  inline const BITSTRING& psk8PowerClass() const
    {return field_psk8PowerClass;}
  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 AdditionalAccessTechnologies_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AdditionalAccessTechnologies_template *list_value;
} value_list;
struct {
AdditionalAccessTechnologies_template* precondition;
AdditionalAccessTechnologies_template* implied_template;
} implication_;
dynmatch_struct<AdditionalAccessTechnologies>* dyn_match;
};

void set_specific();
void copy_value(const AdditionalAccessTechnologies& other_value);
void copy_template(const AdditionalAccessTechnologies_template& other_value);

public:
AdditionalAccessTechnologies_template();
AdditionalAccessTechnologies_template(template_sel other_value);
AdditionalAccessTechnologies_template(const AdditionalAccessTechnologies& other_value);
AdditionalAccessTechnologies_template(const OPTIONAL<AdditionalAccessTechnologies>& other_value);
AdditionalAccessTechnologies_template(AdditionalAccessTechnologies_template* p_precondition, AdditionalAccessTechnologies_template* p_implied_template);
AdditionalAccessTechnologies_template(Dynamic_Match_Interface<AdditionalAccessTechnologies>* p_dyn_match);
AdditionalAccessTechnologies_template(const AdditionalAccessTechnologies_template& other_value);
~AdditionalAccessTechnologies_template();
AdditionalAccessTechnologies_template& operator=(template_sel other_value);
AdditionalAccessTechnologies_template& operator=(const AdditionalAccessTechnologies& other_value);
AdditionalAccessTechnologies_template& operator=(const OPTIONAL<AdditionalAccessTechnologies>& other_value);
AdditionalAccessTechnologies_template& operator=(const AdditionalAccessTechnologies_template& other_value);
boolean match(const AdditionalAccessTechnologies& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AdditionalAccessTechnologies valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AdditionalAccessTechnologies_template& list_item(unsigned int list_index) const;
BITSTRING_template& accessTechnType();
const BITSTRING_template& accessTechnType() const;
BITSTRING_template& gMSKPowerClass();
const BITSTRING_template& gMSKPowerClass() const;
BITSTRING_template& psk8PowerClass();
const BITSTRING_template& psk8PowerClass() const;
int size_of() const;
void log() const;
void log_match(const AdditionalAccessTechnologies& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AdditionalAccessTechnologiesRecord : public Base_Type {
  AdditionalAccessTechnologies field_additionalAccessTechnologies;
  BITSTRING field_extensionBit;
public:
  AdditionalAccessTechnologiesRecord();
  AdditionalAccessTechnologiesRecord(const AdditionalAccessTechnologies& par_additionalAccessTechnologies,
    const BITSTRING& par_extensionBit);
  AdditionalAccessTechnologiesRecord(const AdditionalAccessTechnologiesRecord& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AdditionalAccessTechnologiesRecord& operator=(const AdditionalAccessTechnologiesRecord& other_value);
  boolean operator==(const AdditionalAccessTechnologiesRecord& other_value) const;
  inline boolean operator!=(const AdditionalAccessTechnologiesRecord& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline AdditionalAccessTechnologies& additionalAccessTechnologies()
    {return field_additionalAccessTechnologies;}
  inline const AdditionalAccessTechnologies& additionalAccessTechnologies() const
    {return field_additionalAccessTechnologies;}
  inline BITSTRING& extensionBit()
    {return field_extensionBit;}
  inline const BITSTRING& extensionBit() const
    {return field_extensionBit;}
  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 AdditionalAccessTechnologiesRecord_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AdditionalAccessTechnologiesRecord_template *list_value;
} value_list;
struct {
AdditionalAccessTechnologiesRecord_template* precondition;
AdditionalAccessTechnologiesRecord_template* implied_template;
} implication_;
dynmatch_struct<AdditionalAccessTechnologiesRecord>* dyn_match;
};

void set_specific();
void copy_value(const AdditionalAccessTechnologiesRecord& other_value);
void copy_template(const AdditionalAccessTechnologiesRecord_template& other_value);

public:
AdditionalAccessTechnologiesRecord_template();
AdditionalAccessTechnologiesRecord_template(template_sel other_value);
AdditionalAccessTechnologiesRecord_template(const AdditionalAccessTechnologiesRecord& other_value);
AdditionalAccessTechnologiesRecord_template(const OPTIONAL<AdditionalAccessTechnologiesRecord>& other_value);
AdditionalAccessTechnologiesRecord_template(AdditionalAccessTechnologiesRecord_template* p_precondition, AdditionalAccessTechnologiesRecord_template* p_implied_template);
AdditionalAccessTechnologiesRecord_template(Dynamic_Match_Interface<AdditionalAccessTechnologiesRecord>* p_dyn_match);
AdditionalAccessTechnologiesRecord_template(const AdditionalAccessTechnologiesRecord_template& other_value);
~AdditionalAccessTechnologiesRecord_template();
AdditionalAccessTechnologiesRecord_template& operator=(template_sel other_value);
AdditionalAccessTechnologiesRecord_template& operator=(const AdditionalAccessTechnologiesRecord& other_value);
AdditionalAccessTechnologiesRecord_template& operator=(const OPTIONAL<AdditionalAccessTechnologiesRecord>& other_value);
AdditionalAccessTechnologiesRecord_template& operator=(const AdditionalAccessTechnologiesRecord_template& other_value);
boolean match(const AdditionalAccessTechnologiesRecord& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AdditionalAccessTechnologiesRecord valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AdditionalAccessTechnologiesRecord_template& list_item(unsigned int list_index) const;
AdditionalAccessTechnologies_template& additionalAccessTechnologies();
const AdditionalAccessTechnologies_template& additionalAccessTechnologies() const;
BITSTRING_template& extensionBit();
const BITSTRING_template& extensionBit() const;
int size_of() const;
void log() const;
void log_match(const AdditionalAccessTechnologiesRecord& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MSRACapabilityValuesRecord : public Base_Type {
  MSRACapabilityValues field_mSRACapabilityValues;
  BITSTRING field_presenceBitMSRACap;
public:
  MSRACapabilityValuesRecord();
  MSRACapabilityValuesRecord(const MSRACapabilityValues& par_mSRACapabilityValues,
    const BITSTRING& par_presenceBitMSRACap);
  MSRACapabilityValuesRecord(const MSRACapabilityValuesRecord& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MSRACapabilityValuesRecord& operator=(const MSRACapabilityValuesRecord& other_value);
  boolean operator==(const MSRACapabilityValuesRecord& other_value) const;
  inline boolean operator!=(const MSRACapabilityValuesRecord& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline MSRACapabilityValues& mSRACapabilityValues()
    {return field_mSRACapabilityValues;}
  inline const MSRACapabilityValues& mSRACapabilityValues() const
    {return field_mSRACapabilityValues;}
  inline BITSTRING& presenceBitMSRACap()
    {return field_presenceBitMSRACap;}
  inline const BITSTRING& presenceBitMSRACap() const
    {return field_presenceBitMSRACap;}
  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 MSRACapabilityValuesRecord_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MSRACapabilityValuesRecord_template *list_value;
} value_list;
struct {
MSRACapabilityValuesRecord_template* precondition;
MSRACapabilityValuesRecord_template* implied_template;
} implication_;
dynmatch_struct<MSRACapabilityValuesRecord>* dyn_match;
};

void set_specific();
void copy_value(const MSRACapabilityValuesRecord& other_value);
void copy_template(const MSRACapabilityValuesRecord_template& other_value);

public:
MSRACapabilityValuesRecord_template();
MSRACapabilityValuesRecord_template(template_sel other_value);
MSRACapabilityValuesRecord_template(const MSRACapabilityValuesRecord& other_value);
MSRACapabilityValuesRecord_template(const OPTIONAL<MSRACapabilityValuesRecord>& other_value);
MSRACapabilityValuesRecord_template(MSRACapabilityValuesRecord_template* p_precondition, MSRACapabilityValuesRecord_template* p_implied_template);
MSRACapabilityValuesRecord_template(Dynamic_Match_Interface<MSRACapabilityValuesRecord>* p_dyn_match);
MSRACapabilityValuesRecord_template(const MSRACapabilityValuesRecord_template& other_value);
~MSRACapabilityValuesRecord_template();
MSRACapabilityValuesRecord_template& operator=(template_sel other_value);
MSRACapabilityValuesRecord_template& operator=(const MSRACapabilityValuesRecord& other_value);
MSRACapabilityValuesRecord_template& operator=(const OPTIONAL<MSRACapabilityValuesRecord>& other_value);
MSRACapabilityValuesRecord_template& operator=(const MSRACapabilityValuesRecord_template& other_value);
boolean match(const MSRACapabilityValuesRecord& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MSRACapabilityValuesRecord valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MSRACapabilityValuesRecord_template& list_item(unsigned int list_index) const;
MSRACapabilityValues_template& mSRACapabilityValues();
const MSRACapabilityValues_template& mSRACapabilityValues() const;
BITSTRING_template& presenceBitMSRACap();
const BITSTRING_template& presenceBitMSRACap() const;
int size_of() const;
void log() const;
void log_match(const MSRACapabilityValuesRecord& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MSRadioAccessCapabilityLV : public Base_Type {
  INTEGER field_lengthIndicator;
  MSRadioAccessCapabilityV field_msRadioAccessCapabilityV;
public:
  MSRadioAccessCapabilityLV();
  MSRadioAccessCapabilityLV(const INTEGER& par_lengthIndicator,
    const MSRadioAccessCapabilityV& par_msRadioAccessCapabilityV);
  MSRadioAccessCapabilityLV(const MSRadioAccessCapabilityLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MSRadioAccessCapabilityLV& operator=(const MSRadioAccessCapabilityLV& other_value);
  boolean operator==(const MSRadioAccessCapabilityLV& other_value) const;
  inline boolean operator!=(const MSRadioAccessCapabilityLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline MSRadioAccessCapabilityV& msRadioAccessCapabilityV()
    {return field_msRadioAccessCapabilityV;}
  inline const MSRadioAccessCapabilityV& msRadioAccessCapabilityV() const
    {return field_msRadioAccessCapabilityV;}
  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 MSRadioAccessCapabilityLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MSRadioAccessCapabilityLV_template *list_value;
} value_list;
struct {
MSRadioAccessCapabilityLV_template* precondition;
MSRadioAccessCapabilityLV_template* implied_template;
} implication_;
dynmatch_struct<MSRadioAccessCapabilityLV>* dyn_match;
};

void set_specific();
void copy_value(const MSRadioAccessCapabilityLV& other_value);
void copy_template(const MSRadioAccessCapabilityLV_template& other_value);

public:
MSRadioAccessCapabilityLV_template();
MSRadioAccessCapabilityLV_template(template_sel other_value);
MSRadioAccessCapabilityLV_template(const MSRadioAccessCapabilityLV& other_value);
MSRadioAccessCapabilityLV_template(const OPTIONAL<MSRadioAccessCapabilityLV>& other_value);
MSRadioAccessCapabilityLV_template(MSRadioAccessCapabilityLV_template* p_precondition, MSRadioAccessCapabilityLV_template* p_implied_template);
MSRadioAccessCapabilityLV_template(Dynamic_Match_Interface<MSRadioAccessCapabilityLV>* p_dyn_match);
MSRadioAccessCapabilityLV_template(const MSRadioAccessCapabilityLV_template& other_value);
~MSRadioAccessCapabilityLV_template();
MSRadioAccessCapabilityLV_template& operator=(template_sel other_value);
MSRadioAccessCapabilityLV_template& operator=(const MSRadioAccessCapabilityLV& other_value);
MSRadioAccessCapabilityLV_template& operator=(const OPTIONAL<MSRadioAccessCapabilityLV>& other_value);
MSRadioAccessCapabilityLV_template& operator=(const MSRadioAccessCapabilityLV_template& other_value);
boolean match(const MSRadioAccessCapabilityLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MSRadioAccessCapabilityLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MSRadioAccessCapabilityLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
MSRadioAccessCapabilityV_template& msRadioAccessCapabilityV();
const MSRadioAccessCapabilityV_template& msRadioAccessCapabilityV() const;
int size_of() const;
void log() const;
void log_match(const MSRadioAccessCapabilityLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class GMM__CauseV : public Base_Type {
  OCTETSTRING field_causeValue;
public:
  GMM__CauseV();
  GMM__CauseV(const OCTETSTRING& par_causeValue);
  GMM__CauseV(const GMM__CauseV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  GMM__CauseV& operator=(const GMM__CauseV& other_value);
  boolean operator==(const GMM__CauseV& other_value) const;
  inline boolean operator!=(const GMM__CauseV& 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& causeValue()
    {return field_causeValue;}
  inline const OCTETSTRING& causeValue() const
    {return field_causeValue;}
  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 GMM__CauseV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
GMM__CauseV_template *list_value;
} value_list;
struct {
GMM__CauseV_template* precondition;
GMM__CauseV_template* implied_template;
} implication_;
dynmatch_struct<GMM__CauseV>* dyn_match;
};

void set_specific();
void copy_value(const GMM__CauseV& other_value);
void copy_template(const GMM__CauseV_template& other_value);

public:
GMM__CauseV_template();
GMM__CauseV_template(template_sel other_value);
GMM__CauseV_template(const GMM__CauseV& other_value);
GMM__CauseV_template(const OPTIONAL<GMM__CauseV>& other_value);
GMM__CauseV_template(GMM__CauseV_template* p_precondition, GMM__CauseV_template* p_implied_template);
GMM__CauseV_template(Dynamic_Match_Interface<GMM__CauseV>* p_dyn_match);
GMM__CauseV_template(const GMM__CauseV_template& other_value);
~GMM__CauseV_template();
GMM__CauseV_template& operator=(template_sel other_value);
GMM__CauseV_template& operator=(const GMM__CauseV& other_value);
GMM__CauseV_template& operator=(const OPTIONAL<GMM__CauseV>& other_value);
GMM__CauseV_template& operator=(const GMM__CauseV_template& other_value);
boolean match(const GMM__CauseV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
GMM__CauseV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
GMM__CauseV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& causeValue();
const OCTETSTRING_template& causeValue() const;
int size_of() const;
void log() const;
void log_match(const GMM__CauseV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class GMM__CauseTV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  GMM__CauseV field_causeValue;
public:
  GMM__CauseTV();
  GMM__CauseTV(const OCTETSTRING& par_elementIdentifier,
    const GMM__CauseV& par_causeValue);
  GMM__CauseTV(const GMM__CauseTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  GMM__CauseTV& operator=(const GMM__CauseTV& other_value);
  boolean operator==(const GMM__CauseTV& other_value) const;
  inline boolean operator!=(const GMM__CauseTV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline GMM__CauseV& causeValue()
    {return field_causeValue;}
  inline const GMM__CauseV& causeValue() const
    {return field_causeValue;}
  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 GMM__CauseTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
GMM__CauseTV_template *list_value;
} value_list;
struct {
GMM__CauseTV_template* precondition;
GMM__CauseTV_template* implied_template;
} implication_;
dynmatch_struct<GMM__CauseTV>* dyn_match;
};

void set_specific();
void copy_value(const GMM__CauseTV& other_value);
void copy_template(const GMM__CauseTV_template& other_value);

public:
GMM__CauseTV_template();
GMM__CauseTV_template(template_sel other_value);
GMM__CauseTV_template(const GMM__CauseTV& other_value);
GMM__CauseTV_template(const OPTIONAL<GMM__CauseTV>& other_value);
GMM__CauseTV_template(GMM__CauseTV_template* p_precondition, GMM__CauseTV_template* p_implied_template);
GMM__CauseTV_template(Dynamic_Match_Interface<GMM__CauseTV>* p_dyn_match);
GMM__CauseTV_template(const GMM__CauseTV_template& other_value);
~GMM__CauseTV_template();
GMM__CauseTV_template& operator=(template_sel other_value);
GMM__CauseTV_template& operator=(const GMM__CauseTV& other_value);
GMM__CauseTV_template& operator=(const OPTIONAL<GMM__CauseTV>& other_value);
GMM__CauseTV_template& operator=(const GMM__CauseTV_template& other_value);
boolean match(const GMM__CauseTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
GMM__CauseTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
GMM__CauseTV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
GMM__CauseV_template& causeValue();
const GMM__CauseV_template& causeValue() const;
int size_of() const;
void log() const;
void log_match(const GMM__CauseTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RoutingAreaIdentificationV : public Base_Type {
  HEXSTRING field_mccDigit1;
  HEXSTRING field_mccDigit2;
  HEXSTRING field_mccDigit3;
  HEXSTRING field_mncDigit3;
  HEXSTRING field_mncDigit1;
  HEXSTRING field_mncDigit2;
  OCTETSTRING field_lac;
  OCTETSTRING field_rac;
public:
  RoutingAreaIdentificationV();
  RoutingAreaIdentificationV(const HEXSTRING& par_mccDigit1,
    const HEXSTRING& par_mccDigit2,
    const HEXSTRING& par_mccDigit3,
    const HEXSTRING& par_mncDigit3,
    const HEXSTRING& par_mncDigit1,
    const HEXSTRING& par_mncDigit2,
    const OCTETSTRING& par_lac,
    const OCTETSTRING& par_rac);
  RoutingAreaIdentificationV(const RoutingAreaIdentificationV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RoutingAreaIdentificationV& operator=(const RoutingAreaIdentificationV& other_value);
  boolean operator==(const RoutingAreaIdentificationV& other_value) const;
  inline boolean operator!=(const RoutingAreaIdentificationV& 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& mccDigit1()
    {return field_mccDigit1;}
  inline const HEXSTRING& mccDigit1() const
    {return field_mccDigit1;}
  inline HEXSTRING& mccDigit2()
    {return field_mccDigit2;}
  inline const HEXSTRING& mccDigit2() const
    {return field_mccDigit2;}
  inline HEXSTRING& mccDigit3()
    {return field_mccDigit3;}
  inline const HEXSTRING& mccDigit3() const
    {return field_mccDigit3;}
  inline HEXSTRING& mncDigit3()
    {return field_mncDigit3;}
  inline const HEXSTRING& mncDigit3() const
    {return field_mncDigit3;}
  inline HEXSTRING& mncDigit1()
    {return field_mncDigit1;}
  inline const HEXSTRING& mncDigit1() const
    {return field_mncDigit1;}
  inline HEXSTRING& mncDigit2()
    {return field_mncDigit2;}
  inline const HEXSTRING& mncDigit2() const
    {return field_mncDigit2;}
  inline OCTETSTRING& lac()
    {return field_lac;}
  inline const OCTETSTRING& lac() const
    {return field_lac;}
  inline OCTETSTRING& rac()
    {return field_rac;}
  inline const OCTETSTRING& rac() const
    {return field_rac;}
  inline int size_of() const
    {return 8;}
  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 RoutingAreaIdentificationV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RoutingAreaIdentificationV_template *list_value;
} value_list;
struct {
RoutingAreaIdentificationV_template* precondition;
RoutingAreaIdentificationV_template* implied_template;
} implication_;
dynmatch_struct<RoutingAreaIdentificationV>* dyn_match;
};

void set_specific();
void copy_value(const RoutingAreaIdentificationV& other_value);
void copy_template(const RoutingAreaIdentificationV_template& other_value);

public:
RoutingAreaIdentificationV_template();
RoutingAreaIdentificationV_template(template_sel other_value);
RoutingAreaIdentificationV_template(const RoutingAreaIdentificationV& other_value);
RoutingAreaIdentificationV_template(const OPTIONAL<RoutingAreaIdentificationV>& other_value);
RoutingAreaIdentificationV_template(RoutingAreaIdentificationV_template* p_precondition, RoutingAreaIdentificationV_template* p_implied_template);
RoutingAreaIdentificationV_template(Dynamic_Match_Interface<RoutingAreaIdentificationV>* p_dyn_match);
RoutingAreaIdentificationV_template(const RoutingAreaIdentificationV_template& other_value);
~RoutingAreaIdentificationV_template();
RoutingAreaIdentificationV_template& operator=(template_sel other_value);
RoutingAreaIdentificationV_template& operator=(const RoutingAreaIdentificationV& other_value);
RoutingAreaIdentificationV_template& operator=(const OPTIONAL<RoutingAreaIdentificationV>& other_value);
RoutingAreaIdentificationV_template& operator=(const RoutingAreaIdentificationV_template& other_value);
boolean match(const RoutingAreaIdentificationV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RoutingAreaIdentificationV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RoutingAreaIdentificationV_template& list_item(unsigned int list_index) const;
HEXSTRING_template& mccDigit1();
const HEXSTRING_template& mccDigit1() const;
HEXSTRING_template& mccDigit2();
const HEXSTRING_template& mccDigit2() const;
HEXSTRING_template& mccDigit3();
const HEXSTRING_template& mccDigit3() const;
HEXSTRING_template& mncDigit3();
const HEXSTRING_template& mncDigit3() const;
HEXSTRING_template& mncDigit1();
const HEXSTRING_template& mncDigit1() const;
HEXSTRING_template& mncDigit2();
const HEXSTRING_template& mncDigit2() const;
OCTETSTRING_template& lac();
const OCTETSTRING_template& lac() const;
OCTETSTRING_template& rac();
const OCTETSTRING_template& rac() const;
int size_of() const;
void log() const;
void log_match(const RoutingAreaIdentificationV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UpdateResultV : public Base_Type {
  BITSTRING field_valueField;
  BITSTRING field_fOP__l3;
public:
  UpdateResultV();
  UpdateResultV(const BITSTRING& par_valueField,
    const BITSTRING& par_fOP__l3);
  UpdateResultV(const UpdateResultV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UpdateResultV& operator=(const UpdateResultV& other_value);
  boolean operator==(const UpdateResultV& other_value) const;
  inline boolean operator!=(const UpdateResultV& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  inline BITSTRING& fOP__l3()
    {return field_fOP__l3;}
  inline const BITSTRING& fOP__l3() const
    {return field_fOP__l3;}
  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 UpdateResultV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UpdateResultV_template *list_value;
} value_list;
struct {
UpdateResultV_template* precondition;
UpdateResultV_template* implied_template;
} implication_;
dynmatch_struct<UpdateResultV>* dyn_match;
};

void set_specific();
void copy_value(const UpdateResultV& other_value);
void copy_template(const UpdateResultV_template& other_value);

public:
UpdateResultV_template();
UpdateResultV_template(template_sel other_value);
UpdateResultV_template(const UpdateResultV& other_value);
UpdateResultV_template(const OPTIONAL<UpdateResultV>& other_value);
UpdateResultV_template(UpdateResultV_template* p_precondition, UpdateResultV_template* p_implied_template);
UpdateResultV_template(Dynamic_Match_Interface<UpdateResultV>* p_dyn_match);
UpdateResultV_template(const UpdateResultV_template& other_value);
~UpdateResultV_template();
UpdateResultV_template& operator=(template_sel other_value);
UpdateResultV_template& operator=(const UpdateResultV& other_value);
UpdateResultV_template& operator=(const OPTIONAL<UpdateResultV>& other_value);
UpdateResultV_template& operator=(const UpdateResultV_template& other_value);
boolean match(const UpdateResultV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UpdateResultV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UpdateResultV_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
BITSTRING_template& fOP__l3();
const BITSTRING_template& fOP__l3() const;
int size_of() const;
void log() const;
void log_match(const UpdateResultV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UpdateResultTV : public Base_Type {
  UpdateResultV field_valueField;
  BITSTRING field_elementIdentifier;
public:
  UpdateResultTV();
  UpdateResultTV(const UpdateResultV& par_valueField,
    const BITSTRING& par_elementIdentifier);
  UpdateResultTV(const UpdateResultTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UpdateResultTV& operator=(const UpdateResultTV& other_value);
  boolean operator==(const UpdateResultTV& other_value) const;
  inline boolean operator!=(const UpdateResultTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline UpdateResultV& valueField()
    {return field_valueField;}
  inline const UpdateResultV& valueField() const
    {return field_valueField;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 UpdateResultTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UpdateResultTV_template *list_value;
} value_list;
struct {
UpdateResultTV_template* precondition;
UpdateResultTV_template* implied_template;
} implication_;
dynmatch_struct<UpdateResultTV>* dyn_match;
};

void set_specific();
void copy_value(const UpdateResultTV& other_value);
void copy_template(const UpdateResultTV_template& other_value);

public:
UpdateResultTV_template();
UpdateResultTV_template(template_sel other_value);
UpdateResultTV_template(const UpdateResultTV& other_value);
UpdateResultTV_template(const OPTIONAL<UpdateResultTV>& other_value);
UpdateResultTV_template(UpdateResultTV_template* p_precondition, UpdateResultTV_template* p_implied_template);
UpdateResultTV_template(Dynamic_Match_Interface<UpdateResultTV>* p_dyn_match);
UpdateResultTV_template(const UpdateResultTV_template& other_value);
~UpdateResultTV_template();
UpdateResultTV_template& operator=(template_sel other_value);
UpdateResultTV_template& operator=(const UpdateResultTV& other_value);
UpdateResultTV_template& operator=(const OPTIONAL<UpdateResultTV>& other_value);
UpdateResultTV_template& operator=(const UpdateResultTV_template& other_value);
boolean match(const UpdateResultTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UpdateResultTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UpdateResultTV_template& list_item(unsigned int list_index) const;
UpdateResultV_template& valueField();
const UpdateResultV_template& valueField() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const UpdateResultTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UpdateTypeV : public Base_Type {
  BITSTRING field_valueField;
  BITSTRING field_for__l3;
public:
  UpdateTypeV();
  UpdateTypeV(const BITSTRING& par_valueField,
    const BITSTRING& par_for__l3);
  UpdateTypeV(const UpdateTypeV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UpdateTypeV& operator=(const UpdateTypeV& other_value);
  boolean operator==(const UpdateTypeV& other_value) const;
  inline boolean operator!=(const UpdateTypeV& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  inline BITSTRING& for__l3()
    {return field_for__l3;}
  inline const BITSTRING& for__l3() const
    {return field_for__l3;}
  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 UpdateTypeV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UpdateTypeV_template *list_value;
} value_list;
struct {
UpdateTypeV_template* precondition;
UpdateTypeV_template* implied_template;
} implication_;
dynmatch_struct<UpdateTypeV>* dyn_match;
};

void set_specific();
void copy_value(const UpdateTypeV& other_value);
void copy_template(const UpdateTypeV_template& other_value);

public:
UpdateTypeV_template();
UpdateTypeV_template(template_sel other_value);
UpdateTypeV_template(const UpdateTypeV& other_value);
UpdateTypeV_template(const OPTIONAL<UpdateTypeV>& other_value);
UpdateTypeV_template(UpdateTypeV_template* p_precondition, UpdateTypeV_template* p_implied_template);
UpdateTypeV_template(Dynamic_Match_Interface<UpdateTypeV>* p_dyn_match);
UpdateTypeV_template(const UpdateTypeV_template& other_value);
~UpdateTypeV_template();
UpdateTypeV_template& operator=(template_sel other_value);
UpdateTypeV_template& operator=(const UpdateTypeV& other_value);
UpdateTypeV_template& operator=(const OPTIONAL<UpdateTypeV>& other_value);
UpdateTypeV_template& operator=(const UpdateTypeV_template& other_value);
boolean match(const UpdateTypeV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UpdateTypeV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UpdateTypeV_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
BITSTRING_template& for__l3();
const BITSTRING_template& for__l3() const;
int size_of() const;
void log() const;
void log_match(const UpdateTypeV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UpdateTypeTV : public Base_Type {
  UpdateTypeV field_valueField;
  BITSTRING field_elementIdentifier;
public:
  UpdateTypeTV();
  UpdateTypeTV(const UpdateTypeV& par_valueField,
    const BITSTRING& par_elementIdentifier);
  UpdateTypeTV(const UpdateTypeTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UpdateTypeTV& operator=(const UpdateTypeTV& other_value);
  boolean operator==(const UpdateTypeTV& other_value) const;
  inline boolean operator!=(const UpdateTypeTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline UpdateTypeV& valueField()
    {return field_valueField;}
  inline const UpdateTypeV& valueField() const
    {return field_valueField;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 UpdateTypeTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UpdateTypeTV_template *list_value;
} value_list;
struct {
UpdateTypeTV_template* precondition;
UpdateTypeTV_template* implied_template;
} implication_;
dynmatch_struct<UpdateTypeTV>* dyn_match;
};

void set_specific();
void copy_value(const UpdateTypeTV& other_value);
void copy_template(const UpdateTypeTV_template& other_value);

public:
UpdateTypeTV_template();
UpdateTypeTV_template(template_sel other_value);
UpdateTypeTV_template(const UpdateTypeTV& other_value);
UpdateTypeTV_template(const OPTIONAL<UpdateTypeTV>& other_value);
UpdateTypeTV_template(UpdateTypeTV_template* p_precondition, UpdateTypeTV_template* p_implied_template);
UpdateTypeTV_template(Dynamic_Match_Interface<UpdateTypeTV>* p_dyn_match);
UpdateTypeTV_template(const UpdateTypeTV_template& other_value);
~UpdateTypeTV_template();
UpdateTypeTV_template& operator=(template_sel other_value);
UpdateTypeTV_template& operator=(const UpdateTypeTV& other_value);
UpdateTypeTV_template& operator=(const OPTIONAL<UpdateTypeTV>& other_value);
UpdateTypeTV_template& operator=(const UpdateTypeTV_template& other_value);
boolean match(const UpdateTypeTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UpdateTypeTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UpdateTypeTV_template& list_item(unsigned int list_index) const;
UpdateTypeV_template& valueField();
const UpdateTypeV_template& valueField() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const UpdateTypeTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ACReferenceNumberV : public Base_Type {
  BITSTRING field_valueField;
public:
  ACReferenceNumberV();
  ACReferenceNumberV(const BITSTRING& par_valueField);
  ACReferenceNumberV(const ACReferenceNumberV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ACReferenceNumberV& operator=(const ACReferenceNumberV& other_value);
  boolean operator==(const ACReferenceNumberV& other_value) const;
  inline boolean operator!=(const ACReferenceNumberV& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  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 ACReferenceNumberV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ACReferenceNumberV_template *list_value;
} value_list;
struct {
ACReferenceNumberV_template* precondition;
ACReferenceNumberV_template* implied_template;
} implication_;
dynmatch_struct<ACReferenceNumberV>* dyn_match;
};

void set_specific();
void copy_value(const ACReferenceNumberV& other_value);
void copy_template(const ACReferenceNumberV_template& other_value);

public:
ACReferenceNumberV_template();
ACReferenceNumberV_template(template_sel other_value);
ACReferenceNumberV_template(const ACReferenceNumberV& other_value);
ACReferenceNumberV_template(const OPTIONAL<ACReferenceNumberV>& other_value);
ACReferenceNumberV_template(ACReferenceNumberV_template* p_precondition, ACReferenceNumberV_template* p_implied_template);
ACReferenceNumberV_template(Dynamic_Match_Interface<ACReferenceNumberV>* p_dyn_match);
ACReferenceNumberV_template(const ACReferenceNumberV_template& other_value);
~ACReferenceNumberV_template();
ACReferenceNumberV_template& operator=(template_sel other_value);
ACReferenceNumberV_template& operator=(const ACReferenceNumberV& other_value);
ACReferenceNumberV_template& operator=(const OPTIONAL<ACReferenceNumberV>& other_value);
ACReferenceNumberV_template& operator=(const ACReferenceNumberV_template& other_value);
boolean match(const ACReferenceNumberV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ACReferenceNumberV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ACReferenceNumberV_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const ACReferenceNumberV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ACReferenceNumberTV : public Base_Type {
  ACReferenceNumberV field_acReferenceNumber;
  BITSTRING field_acReferenceNumberIEI;
public:
  ACReferenceNumberTV();
  ACReferenceNumberTV(const ACReferenceNumberV& par_acReferenceNumber,
    const BITSTRING& par_acReferenceNumberIEI);
  ACReferenceNumberTV(const ACReferenceNumberTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ACReferenceNumberTV& operator=(const ACReferenceNumberTV& other_value);
  boolean operator==(const ACReferenceNumberTV& other_value) const;
  inline boolean operator!=(const ACReferenceNumberTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline ACReferenceNumberV& acReferenceNumber()
    {return field_acReferenceNumber;}
  inline const ACReferenceNumberV& acReferenceNumber() const
    {return field_acReferenceNumber;}
  inline BITSTRING& acReferenceNumberIEI()
    {return field_acReferenceNumberIEI;}
  inline const BITSTRING& acReferenceNumberIEI() const
    {return field_acReferenceNumberIEI;}
  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 ACReferenceNumberTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ACReferenceNumberTV_template *list_value;
} value_list;
struct {
ACReferenceNumberTV_template* precondition;
ACReferenceNumberTV_template* implied_template;
} implication_;
dynmatch_struct<ACReferenceNumberTV>* dyn_match;
};

void set_specific();
void copy_value(const ACReferenceNumberTV& other_value);
void copy_template(const ACReferenceNumberTV_template& other_value);

public:
ACReferenceNumberTV_template();
ACReferenceNumberTV_template(template_sel other_value);
ACReferenceNumberTV_template(const ACReferenceNumberTV& other_value);
ACReferenceNumberTV_template(const OPTIONAL<ACReferenceNumberTV>& other_value);
ACReferenceNumberTV_template(ACReferenceNumberTV_template* p_precondition, ACReferenceNumberTV_template* p_implied_template);
ACReferenceNumberTV_template(Dynamic_Match_Interface<ACReferenceNumberTV>* p_dyn_match);
ACReferenceNumberTV_template(const ACReferenceNumberTV_template& other_value);
~ACReferenceNumberTV_template();
ACReferenceNumberTV_template& operator=(template_sel other_value);
ACReferenceNumberTV_template& operator=(const ACReferenceNumberTV& other_value);
ACReferenceNumberTV_template& operator=(const OPTIONAL<ACReferenceNumberTV>& other_value);
ACReferenceNumberTV_template& operator=(const ACReferenceNumberTV_template& other_value);
boolean match(const ACReferenceNumberTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ACReferenceNumberTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ACReferenceNumberTV_template& list_item(unsigned int list_index) const;
ACReferenceNumberV_template& acReferenceNumber();
const ACReferenceNumberV_template& acReferenceNumber() const;
BITSTRING_template& acReferenceNumberIEI();
const BITSTRING_template& acReferenceNumberIEI() const;
int size_of() const;
void log() const;
void log_match(const ACReferenceNumberTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ServiceTypeV : public Base_Type {
  BITSTRING field_serviceType;
  BITSTRING field_spare;
public:
  ServiceTypeV();
  ServiceTypeV(const BITSTRING& par_serviceType,
    const BITSTRING& par_spare);
  ServiceTypeV(const ServiceTypeV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ServiceTypeV& operator=(const ServiceTypeV& other_value);
  boolean operator==(const ServiceTypeV& other_value) const;
  inline boolean operator!=(const ServiceTypeV& 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& serviceType()
    {return field_serviceType;}
  inline const BITSTRING& serviceType() const
    {return field_serviceType;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 ServiceTypeV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ServiceTypeV_template *list_value;
} value_list;
struct {
ServiceTypeV_template* precondition;
ServiceTypeV_template* implied_template;
} implication_;
dynmatch_struct<ServiceTypeV>* dyn_match;
};

void set_specific();
void copy_value(const ServiceTypeV& other_value);
void copy_template(const ServiceTypeV_template& other_value);

public:
ServiceTypeV_template();
ServiceTypeV_template(template_sel other_value);
ServiceTypeV_template(const ServiceTypeV& other_value);
ServiceTypeV_template(const OPTIONAL<ServiceTypeV>& other_value);
ServiceTypeV_template(ServiceTypeV_template* p_precondition, ServiceTypeV_template* p_implied_template);
ServiceTypeV_template(Dynamic_Match_Interface<ServiceTypeV>* p_dyn_match);
ServiceTypeV_template(const ServiceTypeV_template& other_value);
~ServiceTypeV_template();
ServiceTypeV_template& operator=(template_sel other_value);
ServiceTypeV_template& operator=(const ServiceTypeV& other_value);
ServiceTypeV_template& operator=(const OPTIONAL<ServiceTypeV>& other_value);
ServiceTypeV_template& operator=(const ServiceTypeV_template& other_value);
boolean match(const ServiceTypeV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ServiceTypeV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ServiceTypeV_template& list_item(unsigned int list_index) const;
BITSTRING_template& serviceType();
const BITSTRING_template& serviceType() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const ServiceTypeV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class CellNotificationT : public Base_Type {
  OCTETSTRING field_elementIdentifier;
public:
  CellNotificationT();
  CellNotificationT(const OCTETSTRING& par_elementIdentifier);
  CellNotificationT(const CellNotificationT& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellNotificationT& operator=(const CellNotificationT& other_value);
  boolean operator==(const CellNotificationT& other_value) const;
  inline boolean operator!=(const CellNotificationT& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 CellNotificationT_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CellNotificationT_template *list_value;
} value_list;
struct {
CellNotificationT_template* precondition;
CellNotificationT_template* implied_template;
} implication_;
dynmatch_struct<CellNotificationT>* dyn_match;
};

void set_specific();
void copy_value(const CellNotificationT& other_value);
void copy_template(const CellNotificationT_template& other_value);

public:
CellNotificationT_template();
CellNotificationT_template(template_sel other_value);
CellNotificationT_template(const CellNotificationT& other_value);
CellNotificationT_template(const OPTIONAL<CellNotificationT>& other_value);
CellNotificationT_template(CellNotificationT_template* p_precondition, CellNotificationT_template* p_implied_template);
CellNotificationT_template(Dynamic_Match_Interface<CellNotificationT>* p_dyn_match);
CellNotificationT_template(const CellNotificationT_template& other_value);
~CellNotificationT_template();
CellNotificationT_template& operator=(template_sel other_value);
CellNotificationT_template& operator=(const CellNotificationT& other_value);
CellNotificationT_template& operator=(const OPTIONAL<CellNotificationT>& other_value);
CellNotificationT_template& operator=(const CellNotificationT_template& other_value);
boolean match(const CellNotificationT& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CellNotificationT valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CellNotificationT_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const CellNotificationT& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PC__LCSCapabilityV : public Base_Type {
  BITSTRING field_gPS__C;
  BITSTRING field_gPS__B;
  BITSTRING field_gPS__A;
  BITSTRING field_oTD__B;
  BITSTRING field_oTD__A;
  BITSTRING field_aPC;
  BITSTRING field_spare;
public:
  PC__LCSCapabilityV();
  PC__LCSCapabilityV(const BITSTRING& par_gPS__C,
    const BITSTRING& par_gPS__B,
    const BITSTRING& par_gPS__A,
    const BITSTRING& par_oTD__B,
    const BITSTRING& par_oTD__A,
    const BITSTRING& par_aPC,
    const BITSTRING& par_spare);
  PC__LCSCapabilityV(const PC__LCSCapabilityV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PC__LCSCapabilityV& operator=(const PC__LCSCapabilityV& other_value);
  boolean operator==(const PC__LCSCapabilityV& other_value) const;
  inline boolean operator!=(const PC__LCSCapabilityV& 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& gPS__C()
    {return field_gPS__C;}
  inline const BITSTRING& gPS__C() const
    {return field_gPS__C;}
  inline BITSTRING& gPS__B()
    {return field_gPS__B;}
  inline const BITSTRING& gPS__B() const
    {return field_gPS__B;}
  inline BITSTRING& gPS__A()
    {return field_gPS__A;}
  inline const BITSTRING& gPS__A() const
    {return field_gPS__A;}
  inline BITSTRING& oTD__B()
    {return field_oTD__B;}
  inline const BITSTRING& oTD__B() const
    {return field_oTD__B;}
  inline BITSTRING& oTD__A()
    {return field_oTD__A;}
  inline const BITSTRING& oTD__A() const
    {return field_oTD__A;}
  inline BITSTRING& aPC()
    {return field_aPC;}
  inline const BITSTRING& aPC() const
    {return field_aPC;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline int size_of() const
    {return 7;}
  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 PC__LCSCapabilityV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PC__LCSCapabilityV_template *list_value;
} value_list;
struct {
PC__LCSCapabilityV_template* precondition;
PC__LCSCapabilityV_template* implied_template;
} implication_;
dynmatch_struct<PC__LCSCapabilityV>* dyn_match;
};

void set_specific();
void copy_value(const PC__LCSCapabilityV& other_value);
void copy_template(const PC__LCSCapabilityV_template& other_value);

public:
PC__LCSCapabilityV_template();
PC__LCSCapabilityV_template(template_sel other_value);
PC__LCSCapabilityV_template(const PC__LCSCapabilityV& other_value);
PC__LCSCapabilityV_template(const OPTIONAL<PC__LCSCapabilityV>& other_value);
PC__LCSCapabilityV_template(PC__LCSCapabilityV_template* p_precondition, PC__LCSCapabilityV_template* p_implied_template);
PC__LCSCapabilityV_template(Dynamic_Match_Interface<PC__LCSCapabilityV>* p_dyn_match);
PC__LCSCapabilityV_template(const PC__LCSCapabilityV_template& other_value);
~PC__LCSCapabilityV_template();
PC__LCSCapabilityV_template& operator=(template_sel other_value);
PC__LCSCapabilityV_template& operator=(const PC__LCSCapabilityV& other_value);
PC__LCSCapabilityV_template& operator=(const OPTIONAL<PC__LCSCapabilityV>& other_value);
PC__LCSCapabilityV_template& operator=(const PC__LCSCapabilityV_template& other_value);
boolean match(const PC__LCSCapabilityV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PC__LCSCapabilityV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PC__LCSCapabilityV_template& list_item(unsigned int list_index) const;
BITSTRING_template& gPS__C();
const BITSTRING_template& gPS__C() const;
BITSTRING_template& gPS__B();
const BITSTRING_template& gPS__B() const;
BITSTRING_template& gPS__A();
const BITSTRING_template& gPS__A() const;
BITSTRING_template& oTD__B();
const BITSTRING_template& oTD__B() const;
BITSTRING_template& oTD__A();
const BITSTRING_template& oTD__A() const;
BITSTRING_template& aPC();
const BITSTRING_template& aPC() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const PC__LCSCapabilityV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PC__LCSCapabilityLV : public Base_Type {
  INTEGER field_lengthIndicator;
  PC__LCSCapabilityV field_pC__LCSCapabilityV;
public:
  PC__LCSCapabilityLV();
  PC__LCSCapabilityLV(const INTEGER& par_lengthIndicator,
    const PC__LCSCapabilityV& par_pC__LCSCapabilityV);
  PC__LCSCapabilityLV(const PC__LCSCapabilityLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PC__LCSCapabilityLV& operator=(const PC__LCSCapabilityLV& other_value);
  boolean operator==(const PC__LCSCapabilityLV& other_value) const;
  inline boolean operator!=(const PC__LCSCapabilityLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline PC__LCSCapabilityV& pC__LCSCapabilityV()
    {return field_pC__LCSCapabilityV;}
  inline const PC__LCSCapabilityV& pC__LCSCapabilityV() const
    {return field_pC__LCSCapabilityV;}
  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 PC__LCSCapabilityLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PC__LCSCapabilityLV_template *list_value;
} value_list;
struct {
PC__LCSCapabilityLV_template* precondition;
PC__LCSCapabilityLV_template* implied_template;
} implication_;
dynmatch_struct<PC__LCSCapabilityLV>* dyn_match;
};

void set_specific();
void copy_value(const PC__LCSCapabilityLV& other_value);
void copy_template(const PC__LCSCapabilityLV_template& other_value);

public:
PC__LCSCapabilityLV_template();
PC__LCSCapabilityLV_template(template_sel other_value);
PC__LCSCapabilityLV_template(const PC__LCSCapabilityLV& other_value);
PC__LCSCapabilityLV_template(const OPTIONAL<PC__LCSCapabilityLV>& other_value);
PC__LCSCapabilityLV_template(PC__LCSCapabilityLV_template* p_precondition, PC__LCSCapabilityLV_template* p_implied_template);
PC__LCSCapabilityLV_template(Dynamic_Match_Interface<PC__LCSCapabilityLV>* p_dyn_match);
PC__LCSCapabilityLV_template(const PC__LCSCapabilityLV_template& other_value);
~PC__LCSCapabilityLV_template();
PC__LCSCapabilityLV_template& operator=(template_sel other_value);
PC__LCSCapabilityLV_template& operator=(const PC__LCSCapabilityLV& other_value);
PC__LCSCapabilityLV_template& operator=(const OPTIONAL<PC__LCSCapabilityLV>& other_value);
PC__LCSCapabilityLV_template& operator=(const PC__LCSCapabilityLV_template& other_value);
boolean match(const PC__LCSCapabilityLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PC__LCSCapabilityLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PC__LCSCapabilityLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
PC__LCSCapabilityV_template& pC__LCSCapabilityV();
const PC__LCSCapabilityV_template& pC__LCSCapabilityV() const;
int size_of() const;
void log() const;
void log_match(const PC__LCSCapabilityLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PC__LCSCapability : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  PC__LCSCapabilityLV field_pC__LCSCapabilityLV;
public:
  PC__LCSCapability();
  PC__LCSCapability(const OCTETSTRING& par_elementIdentifier,
    const PC__LCSCapabilityLV& par_pC__LCSCapabilityLV);
  PC__LCSCapability(const PC__LCSCapability& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PC__LCSCapability& operator=(const PC__LCSCapability& other_value);
  boolean operator==(const PC__LCSCapability& other_value) const;
  inline boolean operator!=(const PC__LCSCapability& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline PC__LCSCapabilityLV& pC__LCSCapabilityLV()
    {return field_pC__LCSCapabilityLV;}
  inline const PC__LCSCapabilityLV& pC__LCSCapabilityLV() const
    {return field_pC__LCSCapabilityLV;}
  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 PC__LCSCapability_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PC__LCSCapability_template *list_value;
} value_list;
struct {
PC__LCSCapability_template* precondition;
PC__LCSCapability_template* implied_template;
} implication_;
dynmatch_struct<PC__LCSCapability>* dyn_match;
};

void set_specific();
void copy_value(const PC__LCSCapability& other_value);
void copy_template(const PC__LCSCapability_template& other_value);

public:
PC__LCSCapability_template();
PC__LCSCapability_template(template_sel other_value);
PC__LCSCapability_template(const PC__LCSCapability& other_value);
PC__LCSCapability_template(const OPTIONAL<PC__LCSCapability>& other_value);
PC__LCSCapability_template(PC__LCSCapability_template* p_precondition, PC__LCSCapability_template* p_implied_template);
PC__LCSCapability_template(Dynamic_Match_Interface<PC__LCSCapability>* p_dyn_match);
PC__LCSCapability_template(const PC__LCSCapability_template& other_value);
~PC__LCSCapability_template();
PC__LCSCapability_template& operator=(template_sel other_value);
PC__LCSCapability_template& operator=(const PC__LCSCapability& other_value);
PC__LCSCapability_template& operator=(const OPTIONAL<PC__LCSCapability>& other_value);
PC__LCSCapability_template& operator=(const PC__LCSCapability_template& other_value);
boolean match(const PC__LCSCapability& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PC__LCSCapability valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PC__LCSCapability_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
PC__LCSCapabilityLV_template& pC__LCSCapabilityLV();
const PC__LCSCapabilityLV_template& pC__LCSCapabilityLV() const;
int size_of() const;
void log() const;
void log_match(const PC__LCSCapability& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NetworkFeatureSupportV : public Base_Type {
  BITSTRING field_eMCBS;
  BITSTRING field_iMSVoPS;
  BITSTRING field_mBMS;
  BITSTRING field_lCS__MOLR;
public:
  NetworkFeatureSupportV();
  NetworkFeatureSupportV(const BITSTRING& par_eMCBS,
    const BITSTRING& par_iMSVoPS,
    const BITSTRING& par_mBMS,
    const BITSTRING& par_lCS__MOLR);
  NetworkFeatureSupportV(const NetworkFeatureSupportV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NetworkFeatureSupportV& operator=(const NetworkFeatureSupportV& other_value);
  boolean operator==(const NetworkFeatureSupportV& other_value) const;
  inline boolean operator!=(const NetworkFeatureSupportV& 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& eMCBS()
    {return field_eMCBS;}
  inline const BITSTRING& eMCBS() const
    {return field_eMCBS;}
  inline BITSTRING& iMSVoPS()
    {return field_iMSVoPS;}
  inline const BITSTRING& iMSVoPS() const
    {return field_iMSVoPS;}
  inline BITSTRING& mBMS()
    {return field_mBMS;}
  inline const BITSTRING& mBMS() const
    {return field_mBMS;}
  inline BITSTRING& lCS__MOLR()
    {return field_lCS__MOLR;}
  inline const BITSTRING& lCS__MOLR() const
    {return field_lCS__MOLR;}
  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 NetworkFeatureSupportV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NetworkFeatureSupportV_template *list_value;
} value_list;
struct {
NetworkFeatureSupportV_template* precondition;
NetworkFeatureSupportV_template* implied_template;
} implication_;
dynmatch_struct<NetworkFeatureSupportV>* dyn_match;
};

void set_specific();
void copy_value(const NetworkFeatureSupportV& other_value);
void copy_template(const NetworkFeatureSupportV_template& other_value);

public:
NetworkFeatureSupportV_template();
NetworkFeatureSupportV_template(template_sel other_value);
NetworkFeatureSupportV_template(const NetworkFeatureSupportV& other_value);
NetworkFeatureSupportV_template(const OPTIONAL<NetworkFeatureSupportV>& other_value);
NetworkFeatureSupportV_template(NetworkFeatureSupportV_template* p_precondition, NetworkFeatureSupportV_template* p_implied_template);
NetworkFeatureSupportV_template(Dynamic_Match_Interface<NetworkFeatureSupportV>* p_dyn_match);
NetworkFeatureSupportV_template(const NetworkFeatureSupportV_template& other_value);
~NetworkFeatureSupportV_template();
NetworkFeatureSupportV_template& operator=(template_sel other_value);
NetworkFeatureSupportV_template& operator=(const NetworkFeatureSupportV& other_value);
NetworkFeatureSupportV_template& operator=(const OPTIONAL<NetworkFeatureSupportV>& other_value);
NetworkFeatureSupportV_template& operator=(const NetworkFeatureSupportV_template& other_value);
boolean match(const NetworkFeatureSupportV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NetworkFeatureSupportV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NetworkFeatureSupportV_template& list_item(unsigned int list_index) const;
BITSTRING_template& eMCBS();
const BITSTRING_template& eMCBS() const;
BITSTRING_template& iMSVoPS();
const BITSTRING_template& iMSVoPS() const;
BITSTRING_template& mBMS();
const BITSTRING_template& mBMS() const;
BITSTRING_template& lCS__MOLR();
const BITSTRING_template& lCS__MOLR() const;
int size_of() const;
void log() const;
void log_match(const NetworkFeatureSupportV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NetworkFeatureSupportTV : public Base_Type {
  NetworkFeatureSupportV field_networkFeatureSupportV;
  BITSTRING field_elementIdentifier;
public:
  NetworkFeatureSupportTV();
  NetworkFeatureSupportTV(const NetworkFeatureSupportV& par_networkFeatureSupportV,
    const BITSTRING& par_elementIdentifier);
  NetworkFeatureSupportTV(const NetworkFeatureSupportTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NetworkFeatureSupportTV& operator=(const NetworkFeatureSupportTV& other_value);
  boolean operator==(const NetworkFeatureSupportTV& other_value) const;
  inline boolean operator!=(const NetworkFeatureSupportTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline NetworkFeatureSupportV& networkFeatureSupportV()
    {return field_networkFeatureSupportV;}
  inline const NetworkFeatureSupportV& networkFeatureSupportV() const
    {return field_networkFeatureSupportV;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 NetworkFeatureSupportTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NetworkFeatureSupportTV_template *list_value;
} value_list;
struct {
NetworkFeatureSupportTV_template* precondition;
NetworkFeatureSupportTV_template* implied_template;
} implication_;
dynmatch_struct<NetworkFeatureSupportTV>* dyn_match;
};

void set_specific();
void copy_value(const NetworkFeatureSupportTV& other_value);
void copy_template(const NetworkFeatureSupportTV_template& other_value);

public:
NetworkFeatureSupportTV_template();
NetworkFeatureSupportTV_template(template_sel other_value);
NetworkFeatureSupportTV_template(const NetworkFeatureSupportTV& other_value);
NetworkFeatureSupportTV_template(const OPTIONAL<NetworkFeatureSupportTV>& other_value);
NetworkFeatureSupportTV_template(NetworkFeatureSupportTV_template* p_precondition, NetworkFeatureSupportTV_template* p_implied_template);
NetworkFeatureSupportTV_template(Dynamic_Match_Interface<NetworkFeatureSupportTV>* p_dyn_match);
NetworkFeatureSupportTV_template(const NetworkFeatureSupportTV_template& other_value);
~NetworkFeatureSupportTV_template();
NetworkFeatureSupportTV_template& operator=(template_sel other_value);
NetworkFeatureSupportTV_template& operator=(const NetworkFeatureSupportTV& other_value);
NetworkFeatureSupportTV_template& operator=(const OPTIONAL<NetworkFeatureSupportTV>& other_value);
NetworkFeatureSupportTV_template& operator=(const NetworkFeatureSupportTV_template& other_value);
boolean match(const NetworkFeatureSupportTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NetworkFeatureSupportTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NetworkFeatureSupportTV_template& list_item(unsigned int list_index) const;
NetworkFeatureSupportV_template& networkFeatureSupportV();
const NetworkFeatureSupportV_template& networkFeatureSupportV() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const NetworkFeatureSupportTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AdditionalNetworkFeatureSupportV : public Base_Type {
  BITSTRING field_gPRS__SMS;
  BITSTRING field_spare;
public:
  AdditionalNetworkFeatureSupportV();
  AdditionalNetworkFeatureSupportV(const BITSTRING& par_gPRS__SMS,
    const BITSTRING& par_spare);
  AdditionalNetworkFeatureSupportV(const AdditionalNetworkFeatureSupportV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AdditionalNetworkFeatureSupportV& operator=(const AdditionalNetworkFeatureSupportV& other_value);
  boolean operator==(const AdditionalNetworkFeatureSupportV& other_value) const;
  inline boolean operator!=(const AdditionalNetworkFeatureSupportV& 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& gPRS__SMS()
    {return field_gPRS__SMS;}
  inline const BITSTRING& gPRS__SMS() const
    {return field_gPRS__SMS;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 AdditionalNetworkFeatureSupportV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AdditionalNetworkFeatureSupportV_template *list_value;
} value_list;
struct {
AdditionalNetworkFeatureSupportV_template* precondition;
AdditionalNetworkFeatureSupportV_template* implied_template;
} implication_;
dynmatch_struct<AdditionalNetworkFeatureSupportV>* dyn_match;
};

void set_specific();
void copy_value(const AdditionalNetworkFeatureSupportV& other_value);
void copy_template(const AdditionalNetworkFeatureSupportV_template& other_value);

public:
AdditionalNetworkFeatureSupportV_template();
AdditionalNetworkFeatureSupportV_template(template_sel other_value);
AdditionalNetworkFeatureSupportV_template(const AdditionalNetworkFeatureSupportV& other_value);
AdditionalNetworkFeatureSupportV_template(const OPTIONAL<AdditionalNetworkFeatureSupportV>& other_value);
AdditionalNetworkFeatureSupportV_template(AdditionalNetworkFeatureSupportV_template* p_precondition, AdditionalNetworkFeatureSupportV_template* p_implied_template);
AdditionalNetworkFeatureSupportV_template(Dynamic_Match_Interface<AdditionalNetworkFeatureSupportV>* p_dyn_match);
AdditionalNetworkFeatureSupportV_template(const AdditionalNetworkFeatureSupportV_template& other_value);
~AdditionalNetworkFeatureSupportV_template();
AdditionalNetworkFeatureSupportV_template& operator=(template_sel other_value);
AdditionalNetworkFeatureSupportV_template& operator=(const AdditionalNetworkFeatureSupportV& other_value);
AdditionalNetworkFeatureSupportV_template& operator=(const OPTIONAL<AdditionalNetworkFeatureSupportV>& other_value);
AdditionalNetworkFeatureSupportV_template& operator=(const AdditionalNetworkFeatureSupportV_template& other_value);
boolean match(const AdditionalNetworkFeatureSupportV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AdditionalNetworkFeatureSupportV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AdditionalNetworkFeatureSupportV_template& list_item(unsigned int list_index) const;
BITSTRING_template& gPRS__SMS();
const BITSTRING_template& gPRS__SMS() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const AdditionalNetworkFeatureSupportV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AdditionalNetworkFeatureSupportTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  AdditionalNetworkFeatureSupportV field_additionalNetworkFeatureSupportV;
public:
  AdditionalNetworkFeatureSupportTLV();
  AdditionalNetworkFeatureSupportTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const AdditionalNetworkFeatureSupportV& par_additionalNetworkFeatureSupportV);
  AdditionalNetworkFeatureSupportTLV(const AdditionalNetworkFeatureSupportTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AdditionalNetworkFeatureSupportTLV& operator=(const AdditionalNetworkFeatureSupportTLV& other_value);
  boolean operator==(const AdditionalNetworkFeatureSupportTLV& other_value) const;
  inline boolean operator!=(const AdditionalNetworkFeatureSupportTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline AdditionalNetworkFeatureSupportV& additionalNetworkFeatureSupportV()
    {return field_additionalNetworkFeatureSupportV;}
  inline const AdditionalNetworkFeatureSupportV& additionalNetworkFeatureSupportV() const
    {return field_additionalNetworkFeatureSupportV;}
  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 AdditionalNetworkFeatureSupportTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AdditionalNetworkFeatureSupportTLV_template *list_value;
} value_list;
struct {
AdditionalNetworkFeatureSupportTLV_template* precondition;
AdditionalNetworkFeatureSupportTLV_template* implied_template;
} implication_;
dynmatch_struct<AdditionalNetworkFeatureSupportTLV>* dyn_match;
};

void set_specific();
void copy_value(const AdditionalNetworkFeatureSupportTLV& other_value);
void copy_template(const AdditionalNetworkFeatureSupportTLV_template& other_value);

public:
AdditionalNetworkFeatureSupportTLV_template();
AdditionalNetworkFeatureSupportTLV_template(template_sel other_value);
AdditionalNetworkFeatureSupportTLV_template(const AdditionalNetworkFeatureSupportTLV& other_value);
AdditionalNetworkFeatureSupportTLV_template(const OPTIONAL<AdditionalNetworkFeatureSupportTLV>& other_value);
AdditionalNetworkFeatureSupportTLV_template(AdditionalNetworkFeatureSupportTLV_template* p_precondition, AdditionalNetworkFeatureSupportTLV_template* p_implied_template);
AdditionalNetworkFeatureSupportTLV_template(Dynamic_Match_Interface<AdditionalNetworkFeatureSupportTLV>* p_dyn_match);
AdditionalNetworkFeatureSupportTLV_template(const AdditionalNetworkFeatureSupportTLV_template& other_value);
~AdditionalNetworkFeatureSupportTLV_template();
AdditionalNetworkFeatureSupportTLV_template& operator=(template_sel other_value);
AdditionalNetworkFeatureSupportTLV_template& operator=(const AdditionalNetworkFeatureSupportTLV& other_value);
AdditionalNetworkFeatureSupportTLV_template& operator=(const OPTIONAL<AdditionalNetworkFeatureSupportTLV>& other_value);
AdditionalNetworkFeatureSupportTLV_template& operator=(const AdditionalNetworkFeatureSupportTLV_template& other_value);
boolean match(const AdditionalNetworkFeatureSupportTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AdditionalNetworkFeatureSupportTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AdditionalNetworkFeatureSupportTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
AdditionalNetworkFeatureSupportV_template& additionalNetworkFeatureSupportV();
const AdditionalNetworkFeatureSupportV_template& additionalNetworkFeatureSupportV() const;
int size_of() const;
void log() const;
void log_match(const AdditionalNetworkFeatureSupportTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class InterRATInformationContainerTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_interRATInformationContainerV;
public:
  InterRATInformationContainerTLV();
  InterRATInformationContainerTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_interRATInformationContainerV);
  InterRATInformationContainerTLV(const InterRATInformationContainerTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  InterRATInformationContainerTLV& operator=(const InterRATInformationContainerTLV& other_value);
  boolean operator==(const InterRATInformationContainerTLV& other_value) const;
  inline boolean operator!=(const InterRATInformationContainerTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& interRATInformationContainerV()
    {return field_interRATInformationContainerV;}
  inline const OCTETSTRING& interRATInformationContainerV() const
    {return field_interRATInformationContainerV;}
  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 InterRATInformationContainerTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
InterRATInformationContainerTLV_template *list_value;
} value_list;
struct {
InterRATInformationContainerTLV_template* precondition;
InterRATInformationContainerTLV_template* implied_template;
} implication_;
dynmatch_struct<InterRATInformationContainerTLV>* dyn_match;
};

void set_specific();
void copy_value(const InterRATInformationContainerTLV& other_value);
void copy_template(const InterRATInformationContainerTLV_template& other_value);

public:
InterRATInformationContainerTLV_template();
InterRATInformationContainerTLV_template(template_sel other_value);
InterRATInformationContainerTLV_template(const InterRATInformationContainerTLV& other_value);
InterRATInformationContainerTLV_template(const OPTIONAL<InterRATInformationContainerTLV>& other_value);
InterRATInformationContainerTLV_template(InterRATInformationContainerTLV_template* p_precondition, InterRATInformationContainerTLV_template* p_implied_template);
InterRATInformationContainerTLV_template(Dynamic_Match_Interface<InterRATInformationContainerTLV>* p_dyn_match);
InterRATInformationContainerTLV_template(const InterRATInformationContainerTLV_template& other_value);
~InterRATInformationContainerTLV_template();
InterRATInformationContainerTLV_template& operator=(template_sel other_value);
InterRATInformationContainerTLV_template& operator=(const InterRATInformationContainerTLV& other_value);
InterRATInformationContainerTLV_template& operator=(const OPTIONAL<InterRATInformationContainerTLV>& other_value);
InterRATInformationContainerTLV_template& operator=(const InterRATInformationContainerTLV_template& other_value);
boolean match(const InterRATInformationContainerTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
InterRATInformationContainerTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
InterRATInformationContainerTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& interRATInformationContainerV();
const OCTETSTRING_template& interRATInformationContainerV() const;
int size_of() const;
void log() const;
void log_match(const InterRATInformationContainerTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RequestedMSInformationTV : public Base_Type {
  BITSTRING field_spare;
  BITSTRING field_i__RAT2;
  BITSTRING field_i__RAT;
  BITSTRING field_elementIdentifier;
public:
  RequestedMSInformationTV();
  RequestedMSInformationTV(const BITSTRING& par_spare,
    const BITSTRING& par_i__RAT2,
    const BITSTRING& par_i__RAT,
    const BITSTRING& par_elementIdentifier);
  RequestedMSInformationTV(const RequestedMSInformationTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RequestedMSInformationTV& operator=(const RequestedMSInformationTV& other_value);
  boolean operator==(const RequestedMSInformationTV& other_value) const;
  inline boolean operator!=(const RequestedMSInformationTV& 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 BITSTRING& i__RAT2()
    {return field_i__RAT2;}
  inline const BITSTRING& i__RAT2() const
    {return field_i__RAT2;}
  inline BITSTRING& i__RAT()
    {return field_i__RAT;}
  inline const BITSTRING& i__RAT() const
    {return field_i__RAT;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 RequestedMSInformationTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RequestedMSInformationTV_template *list_value;
} value_list;
struct {
RequestedMSInformationTV_template* precondition;
RequestedMSInformationTV_template* implied_template;
} implication_;
dynmatch_struct<RequestedMSInformationTV>* dyn_match;
};

void set_specific();
void copy_value(const RequestedMSInformationTV& other_value);
void copy_template(const RequestedMSInformationTV_template& other_value);

public:
RequestedMSInformationTV_template();
RequestedMSInformationTV_template(template_sel other_value);
RequestedMSInformationTV_template(const RequestedMSInformationTV& other_value);
RequestedMSInformationTV_template(const OPTIONAL<RequestedMSInformationTV>& other_value);
RequestedMSInformationTV_template(RequestedMSInformationTV_template* p_precondition, RequestedMSInformationTV_template* p_implied_template);
RequestedMSInformationTV_template(Dynamic_Match_Interface<RequestedMSInformationTV>* p_dyn_match);
RequestedMSInformationTV_template(const RequestedMSInformationTV_template& other_value);
~RequestedMSInformationTV_template();
RequestedMSInformationTV_template& operator=(template_sel other_value);
RequestedMSInformationTV_template& operator=(const RequestedMSInformationTV& other_value);
RequestedMSInformationTV_template& operator=(const OPTIONAL<RequestedMSInformationTV>& other_value);
RequestedMSInformationTV_template& operator=(const RequestedMSInformationTV_template& other_value);
boolean match(const RequestedMSInformationTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RequestedMSInformationTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RequestedMSInformationTV_template& list_item(unsigned int list_index) const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BITSTRING_template& i__RAT2();
const BITSTRING_template& i__RAT2() const;
BITSTRING_template& i__RAT();
const BITSTRING_template& i__RAT() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const RequestedMSInformationTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UENetworkCapabilityV : public Base_Type {
  BITSTRING field_eEA;
  BITSTRING field_eIA;
  OPTIONAL< BITSTRING > field_uEA;
  OPTIONAL< BITSTRING > field_uIA;
  OPTIONAL< BITSTRING > field_uCS2;
  OPTIONAL< BITSTRING > field_nF;
  OPTIONAL< BITSTRING > field_sRVCC;
  OPTIONAL< BITSTRING > field_lCS;
  OPTIONAL< BITSTRING > field_lPP;
  OPTIONAL< BITSTRING > field_aCC__CSFB;
  OPTIONAL< BITSTRING > field_h245__ASH;
  OPTIONAL< BITSTRING > field_proSe;
  OPTIONAL< BITSTRING > field_proSe__dd;
  OPTIONAL< BITSTRING > field_proSe__dc;
  OPTIONAL< BITSTRING > field_spare;
  OPTIONAL< OCTETSTRING > field_spare4;
public:
  UENetworkCapabilityV();
  UENetworkCapabilityV(const BITSTRING& par_eEA,
    const BITSTRING& par_eIA,
    const OPTIONAL< BITSTRING >& par_uEA,
    const OPTIONAL< BITSTRING >& par_uIA,
    const OPTIONAL< BITSTRING >& par_uCS2,
    const OPTIONAL< BITSTRING >& par_nF,
    const OPTIONAL< BITSTRING >& par_sRVCC,
    const OPTIONAL< BITSTRING >& par_lCS,
    const OPTIONAL< BITSTRING >& par_lPP,
    const OPTIONAL< BITSTRING >& par_aCC__CSFB,
    const OPTIONAL< BITSTRING >& par_h245__ASH,
    const OPTIONAL< BITSTRING >& par_proSe,
    const OPTIONAL< BITSTRING >& par_proSe__dd,
    const OPTIONAL< BITSTRING >& par_proSe__dc,
    const OPTIONAL< BITSTRING >& par_spare,
    const OPTIONAL< OCTETSTRING >& par_spare4);
  UENetworkCapabilityV(const UENetworkCapabilityV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UENetworkCapabilityV& operator=(const UENetworkCapabilityV& other_value);
  boolean operator==(const UENetworkCapabilityV& other_value) const;
  inline boolean operator!=(const UENetworkCapabilityV& 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& eEA()
    {return field_eEA;}
  inline const BITSTRING& eEA() const
    {return field_eEA;}
  inline BITSTRING& eIA()
    {return field_eIA;}
  inline const BITSTRING& eIA() const
    {return field_eIA;}
  inline OPTIONAL< BITSTRING >& uEA()
    {return field_uEA;}
  inline const OPTIONAL< BITSTRING >& uEA() const
    {return field_uEA;}
  inline OPTIONAL< BITSTRING >& uIA()
    {return field_uIA;}
  inline const OPTIONAL< BITSTRING >& uIA() const
    {return field_uIA;}
  inline OPTIONAL< BITSTRING >& uCS2()
    {return field_uCS2;}
  inline const OPTIONAL< BITSTRING >& uCS2() const
    {return field_uCS2;}
  inline OPTIONAL< BITSTRING >& nF()
    {return field_nF;}
  inline const OPTIONAL< BITSTRING >& nF() const
    {return field_nF;}
  inline OPTIONAL< BITSTRING >& sRVCC()
    {return field_sRVCC;}
  inline const OPTIONAL< BITSTRING >& sRVCC() const
    {return field_sRVCC;}
  inline OPTIONAL< BITSTRING >& lCS()
    {return field_lCS;}
  inline const OPTIONAL< BITSTRING >& lCS() const
    {return field_lCS;}
  inline OPTIONAL< BITSTRING >& lPP()
    {return field_lPP;}
  inline const OPTIONAL< BITSTRING >& lPP() const
    {return field_lPP;}
  inline OPTIONAL< BITSTRING >& aCC__CSFB()
    {return field_aCC__CSFB;}
  inline const OPTIONAL< BITSTRING >& aCC__CSFB() const
    {return field_aCC__CSFB;}
  inline OPTIONAL< BITSTRING >& h245__ASH()
    {return field_h245__ASH;}
  inline const OPTIONAL< BITSTRING >& h245__ASH() const
    {return field_h245__ASH;}
  inline OPTIONAL< BITSTRING >& proSe()
    {return field_proSe;}
  inline const OPTIONAL< BITSTRING >& proSe() const
    {return field_proSe;}
  inline OPTIONAL< BITSTRING >& proSe__dd()
    {return field_proSe__dd;}
  inline const OPTIONAL< BITSTRING >& proSe__dd() const
    {return field_proSe__dd;}
  inline OPTIONAL< BITSTRING >& proSe__dc()
    {return field_proSe__dc;}
  inline const OPTIONAL< BITSTRING >& proSe__dc() const
    {return field_proSe__dc;}
  inline OPTIONAL< BITSTRING >& spare()
    {return field_spare;}
  inline const OPTIONAL< BITSTRING >& spare() const
    {return field_spare;}
  inline OPTIONAL< OCTETSTRING >& spare4()
    {return field_spare4;}
  inline const OPTIONAL< OCTETSTRING >& spare4() const
    {return field_spare4;}
  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 UENetworkCapabilityV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UENetworkCapabilityV_template *list_value;
} value_list;
struct {
UENetworkCapabilityV_template* precondition;
UENetworkCapabilityV_template* implied_template;
} implication_;
dynmatch_struct<UENetworkCapabilityV>* dyn_match;
};

void set_specific();
void copy_value(const UENetworkCapabilityV& other_value);
void copy_template(const UENetworkCapabilityV_template& other_value);

public:
UENetworkCapabilityV_template();
UENetworkCapabilityV_template(template_sel other_value);
UENetworkCapabilityV_template(const UENetworkCapabilityV& other_value);
UENetworkCapabilityV_template(const OPTIONAL<UENetworkCapabilityV>& other_value);
UENetworkCapabilityV_template(UENetworkCapabilityV_template* p_precondition, UENetworkCapabilityV_template* p_implied_template);
UENetworkCapabilityV_template(Dynamic_Match_Interface<UENetworkCapabilityV>* p_dyn_match);
UENetworkCapabilityV_template(const UENetworkCapabilityV_template& other_value);
~UENetworkCapabilityV_template();
UENetworkCapabilityV_template& operator=(template_sel other_value);
UENetworkCapabilityV_template& operator=(const UENetworkCapabilityV& other_value);
UENetworkCapabilityV_template& operator=(const OPTIONAL<UENetworkCapabilityV>& other_value);
UENetworkCapabilityV_template& operator=(const UENetworkCapabilityV_template& other_value);
boolean match(const UENetworkCapabilityV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UENetworkCapabilityV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UENetworkCapabilityV_template& list_item(unsigned int list_index) const;
BITSTRING_template& eEA();
const BITSTRING_template& eEA() const;
BITSTRING_template& eIA();
const BITSTRING_template& eIA() const;
BITSTRING_template& uEA();
const BITSTRING_template& uEA() const;
BITSTRING_template& uIA();
const BITSTRING_template& uIA() const;
BITSTRING_template& uCS2();
const BITSTRING_template& uCS2() const;
BITSTRING_template& nF();
const BITSTRING_template& nF() const;
BITSTRING_template& sRVCC();
const BITSTRING_template& sRVCC() const;
BITSTRING_template& lCS();
const BITSTRING_template& lCS() const;
BITSTRING_template& lPP();
const BITSTRING_template& lPP() const;
BITSTRING_template& aCC__CSFB();
const BITSTRING_template& aCC__CSFB() const;
BITSTRING_template& h245__ASH();
const BITSTRING_template& h245__ASH() const;
BITSTRING_template& proSe();
const BITSTRING_template& proSe() const;
BITSTRING_template& proSe__dd();
const BITSTRING_template& proSe__dd() const;
BITSTRING_template& proSe__dc();
const BITSTRING_template& proSe__dc() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
OCTETSTRING_template& spare4();
const OCTETSTRING_template& spare4() const;
int size_of() const;
void log() const;
void log_match(const UENetworkCapabilityV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UENetworkCapabilityLV : public Base_Type {
  INTEGER field_lengthIndicator;
  UENetworkCapabilityV field_uENetworkCapabilityV;
public:
  UENetworkCapabilityLV();
  UENetworkCapabilityLV(const INTEGER& par_lengthIndicator,
    const UENetworkCapabilityV& par_uENetworkCapabilityV);
  UENetworkCapabilityLV(const UENetworkCapabilityLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UENetworkCapabilityLV& operator=(const UENetworkCapabilityLV& other_value);
  boolean operator==(const UENetworkCapabilityLV& other_value) const;
  inline boolean operator!=(const UENetworkCapabilityLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline UENetworkCapabilityV& uENetworkCapabilityV()
    {return field_uENetworkCapabilityV;}
  inline const UENetworkCapabilityV& uENetworkCapabilityV() const
    {return field_uENetworkCapabilityV;}
  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 UENetworkCapabilityLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UENetworkCapabilityLV_template *list_value;
} value_list;
struct {
UENetworkCapabilityLV_template* precondition;
UENetworkCapabilityLV_template* implied_template;
} implication_;
dynmatch_struct<UENetworkCapabilityLV>* dyn_match;
};

void set_specific();
void copy_value(const UENetworkCapabilityLV& other_value);
void copy_template(const UENetworkCapabilityLV_template& other_value);

public:
UENetworkCapabilityLV_template();
UENetworkCapabilityLV_template(template_sel other_value);
UENetworkCapabilityLV_template(const UENetworkCapabilityLV& other_value);
UENetworkCapabilityLV_template(const OPTIONAL<UENetworkCapabilityLV>& other_value);
UENetworkCapabilityLV_template(UENetworkCapabilityLV_template* p_precondition, UENetworkCapabilityLV_template* p_implied_template);
UENetworkCapabilityLV_template(Dynamic_Match_Interface<UENetworkCapabilityLV>* p_dyn_match);
UENetworkCapabilityLV_template(const UENetworkCapabilityLV_template& other_value);
~UENetworkCapabilityLV_template();
UENetworkCapabilityLV_template& operator=(template_sel other_value);
UENetworkCapabilityLV_template& operator=(const UENetworkCapabilityLV& other_value);
UENetworkCapabilityLV_template& operator=(const OPTIONAL<UENetworkCapabilityLV>& other_value);
UENetworkCapabilityLV_template& operator=(const UENetworkCapabilityLV_template& other_value);
boolean match(const UENetworkCapabilityLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UENetworkCapabilityLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UENetworkCapabilityLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
UENetworkCapabilityV_template& uENetworkCapabilityV();
const UENetworkCapabilityV_template& uENetworkCapabilityV() const;
int size_of() const;
void log() const;
void log_match(const UENetworkCapabilityLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UENetworkCapabilityTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  UENetworkCapabilityLV field_uENetworkCapabilityLV;
public:
  UENetworkCapabilityTLV();
  UENetworkCapabilityTLV(const OCTETSTRING& par_elementIdentifier,
    const UENetworkCapabilityLV& par_uENetworkCapabilityLV);
  UENetworkCapabilityTLV(const UENetworkCapabilityTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UENetworkCapabilityTLV& operator=(const UENetworkCapabilityTLV& other_value);
  boolean operator==(const UENetworkCapabilityTLV& other_value) const;
  inline boolean operator!=(const UENetworkCapabilityTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline UENetworkCapabilityLV& uENetworkCapabilityLV()
    {return field_uENetworkCapabilityLV;}
  inline const UENetworkCapabilityLV& uENetworkCapabilityLV() const
    {return field_uENetworkCapabilityLV;}
  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 UENetworkCapabilityTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UENetworkCapabilityTLV_template *list_value;
} value_list;
struct {
UENetworkCapabilityTLV_template* precondition;
UENetworkCapabilityTLV_template* implied_template;
} implication_;
dynmatch_struct<UENetworkCapabilityTLV>* dyn_match;
};

void set_specific();
void copy_value(const UENetworkCapabilityTLV& other_value);
void copy_template(const UENetworkCapabilityTLV_template& other_value);

public:
UENetworkCapabilityTLV_template();
UENetworkCapabilityTLV_template(template_sel other_value);
UENetworkCapabilityTLV_template(const UENetworkCapabilityTLV& other_value);
UENetworkCapabilityTLV_template(const OPTIONAL<UENetworkCapabilityTLV>& other_value);
UENetworkCapabilityTLV_template(UENetworkCapabilityTLV_template* p_precondition, UENetworkCapabilityTLV_template* p_implied_template);
UENetworkCapabilityTLV_template(Dynamic_Match_Interface<UENetworkCapabilityTLV>* p_dyn_match);
UENetworkCapabilityTLV_template(const UENetworkCapabilityTLV_template& other_value);
~UENetworkCapabilityTLV_template();
UENetworkCapabilityTLV_template& operator=(template_sel other_value);
UENetworkCapabilityTLV_template& operator=(const UENetworkCapabilityTLV& other_value);
UENetworkCapabilityTLV_template& operator=(const OPTIONAL<UENetworkCapabilityTLV>& other_value);
UENetworkCapabilityTLV_template& operator=(const UENetworkCapabilityTLV_template& other_value);
boolean match(const UENetworkCapabilityTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UENetworkCapabilityTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UENetworkCapabilityTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
UENetworkCapabilityLV_template& uENetworkCapabilityLV();
const UENetworkCapabilityLV_template& uENetworkCapabilityLV() const;
int size_of() const;
void log() const;
void log_match(const UENetworkCapabilityTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class EUTRANinterRATInformationContainerTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_eUTRANinterRATInformationContainerV;
public:
  EUTRANinterRATInformationContainerTLV();
  EUTRANinterRATInformationContainerTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_eUTRANinterRATInformationContainerV);
  EUTRANinterRATInformationContainerTLV(const EUTRANinterRATInformationContainerTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  EUTRANinterRATInformationContainerTLV& operator=(const EUTRANinterRATInformationContainerTLV& other_value);
  boolean operator==(const EUTRANinterRATInformationContainerTLV& other_value) const;
  inline boolean operator!=(const EUTRANinterRATInformationContainerTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& eUTRANinterRATInformationContainerV()
    {return field_eUTRANinterRATInformationContainerV;}
  inline const OCTETSTRING& eUTRANinterRATInformationContainerV() const
    {return field_eUTRANinterRATInformationContainerV;}
  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 EUTRANinterRATInformationContainerTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
EUTRANinterRATInformationContainerTLV_template *list_value;
} value_list;
struct {
EUTRANinterRATInformationContainerTLV_template* precondition;
EUTRANinterRATInformationContainerTLV_template* implied_template;
} implication_;
dynmatch_struct<EUTRANinterRATInformationContainerTLV>* dyn_match;
};

void set_specific();
void copy_value(const EUTRANinterRATInformationContainerTLV& other_value);
void copy_template(const EUTRANinterRATInformationContainerTLV_template& other_value);

public:
EUTRANinterRATInformationContainerTLV_template();
EUTRANinterRATInformationContainerTLV_template(template_sel other_value);
EUTRANinterRATInformationContainerTLV_template(const EUTRANinterRATInformationContainerTLV& other_value);
EUTRANinterRATInformationContainerTLV_template(const OPTIONAL<EUTRANinterRATInformationContainerTLV>& other_value);
EUTRANinterRATInformationContainerTLV_template(EUTRANinterRATInformationContainerTLV_template* p_precondition, EUTRANinterRATInformationContainerTLV_template* p_implied_template);
EUTRANinterRATInformationContainerTLV_template(Dynamic_Match_Interface<EUTRANinterRATInformationContainerTLV>* p_dyn_match);
EUTRANinterRATInformationContainerTLV_template(const EUTRANinterRATInformationContainerTLV_template& other_value);
~EUTRANinterRATInformationContainerTLV_template();
EUTRANinterRATInformationContainerTLV_template& operator=(template_sel other_value);
EUTRANinterRATInformationContainerTLV_template& operator=(const EUTRANinterRATInformationContainerTLV& other_value);
EUTRANinterRATInformationContainerTLV_template& operator=(const OPTIONAL<EUTRANinterRATInformationContainerTLV>& other_value);
EUTRANinterRATInformationContainerTLV_template& operator=(const EUTRANinterRATInformationContainerTLV_template& other_value);
boolean match(const EUTRANinterRATInformationContainerTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
EUTRANinterRATInformationContainerTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
EUTRANinterRATInformationContainerTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& eUTRANinterRATInformationContainerV();
const OCTETSTRING_template& eUTRANinterRATInformationContainerV() const;
int size_of() const;
void log() const;
void log_match(const EUTRANinterRATInformationContainerTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class VDPaUEsUS__V : public Base_Type {
  BITSTRING field_voiceDomainPreferenceforEUTRAN;
  BITSTRING field_uEsUsageSetting;
  BITSTRING field_spare1;
  BITSTRING field_spare2;
  BITSTRING field_spare3;
  BITSTRING field_spare4;
  BITSTRING field_spare5;
public:
  VDPaUEsUS__V();
  VDPaUEsUS__V(const BITSTRING& par_voiceDomainPreferenceforEUTRAN,
    const BITSTRING& par_uEsUsageSetting,
    const BITSTRING& par_spare1,
    const BITSTRING& par_spare2,
    const BITSTRING& par_spare3,
    const BITSTRING& par_spare4,
    const BITSTRING& par_spare5);
  VDPaUEsUS__V(const VDPaUEsUS__V& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  VDPaUEsUS__V& operator=(const VDPaUEsUS__V& other_value);
  boolean operator==(const VDPaUEsUS__V& other_value) const;
  inline boolean operator!=(const VDPaUEsUS__V& 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& voiceDomainPreferenceforEUTRAN()
    {return field_voiceDomainPreferenceforEUTRAN;}
  inline const BITSTRING& voiceDomainPreferenceforEUTRAN() const
    {return field_voiceDomainPreferenceforEUTRAN;}
  inline BITSTRING& uEsUsageSetting()
    {return field_uEsUsageSetting;}
  inline const BITSTRING& uEsUsageSetting() const
    {return field_uEsUsageSetting;}
  inline BITSTRING& spare1()
    {return field_spare1;}
  inline const BITSTRING& spare1() const
    {return field_spare1;}
  inline BITSTRING& spare2()
    {return field_spare2;}
  inline const BITSTRING& spare2() const
    {return field_spare2;}
  inline BITSTRING& spare3()
    {return field_spare3;}
  inline const BITSTRING& spare3() const
    {return field_spare3;}
  inline BITSTRING& spare4()
    {return field_spare4;}
  inline const BITSTRING& spare4() const
    {return field_spare4;}
  inline BITSTRING& spare5()
    {return field_spare5;}
  inline const BITSTRING& spare5() const
    {return field_spare5;}
  inline int size_of() const
    {return 7;}
  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 VDPaUEsUS__V_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
VDPaUEsUS__V_template *list_value;
} value_list;
struct {
VDPaUEsUS__V_template* precondition;
VDPaUEsUS__V_template* implied_template;
} implication_;
dynmatch_struct<VDPaUEsUS__V>* dyn_match;
};

void set_specific();
void copy_value(const VDPaUEsUS__V& other_value);
void copy_template(const VDPaUEsUS__V_template& other_value);

public:
VDPaUEsUS__V_template();
VDPaUEsUS__V_template(template_sel other_value);
VDPaUEsUS__V_template(const VDPaUEsUS__V& other_value);
VDPaUEsUS__V_template(const OPTIONAL<VDPaUEsUS__V>& other_value);
VDPaUEsUS__V_template(VDPaUEsUS__V_template* p_precondition, VDPaUEsUS__V_template* p_implied_template);
VDPaUEsUS__V_template(Dynamic_Match_Interface<VDPaUEsUS__V>* p_dyn_match);
VDPaUEsUS__V_template(const VDPaUEsUS__V_template& other_value);
~VDPaUEsUS__V_template();
VDPaUEsUS__V_template& operator=(template_sel other_value);
VDPaUEsUS__V_template& operator=(const VDPaUEsUS__V& other_value);
VDPaUEsUS__V_template& operator=(const OPTIONAL<VDPaUEsUS__V>& other_value);
VDPaUEsUS__V_template& operator=(const VDPaUEsUS__V_template& other_value);
boolean match(const VDPaUEsUS__V& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
VDPaUEsUS__V valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
VDPaUEsUS__V_template& list_item(unsigned int list_index) const;
BITSTRING_template& voiceDomainPreferenceforEUTRAN();
const BITSTRING_template& voiceDomainPreferenceforEUTRAN() const;
BITSTRING_template& uEsUsageSetting();
const BITSTRING_template& uEsUsageSetting() const;
BITSTRING_template& spare1();
const BITSTRING_template& spare1() const;
BITSTRING_template& spare2();
const BITSTRING_template& spare2() const;
BITSTRING_template& spare3();
const BITSTRING_template& spare3() const;
BITSTRING_template& spare4();
const BITSTRING_template& spare4() const;
BITSTRING_template& spare5();
const BITSTRING_template& spare5() const;
int size_of() const;
void log() const;
void log_match(const VDPaUEsUS__V& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class VoiceDomainPreferenceandUEsUsageSettingTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  VDPaUEsUS__V field_informationElement;
public:
  VoiceDomainPreferenceandUEsUsageSettingTLV();
  VoiceDomainPreferenceandUEsUsageSettingTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const VDPaUEsUS__V& par_informationElement);
  VoiceDomainPreferenceandUEsUsageSettingTLV(const VoiceDomainPreferenceandUEsUsageSettingTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  VoiceDomainPreferenceandUEsUsageSettingTLV& operator=(const VoiceDomainPreferenceandUEsUsageSettingTLV& other_value);
  boolean operator==(const VoiceDomainPreferenceandUEsUsageSettingTLV& other_value) const;
  inline boolean operator!=(const VoiceDomainPreferenceandUEsUsageSettingTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline VDPaUEsUS__V& informationElement()
    {return field_informationElement;}
  inline const VDPaUEsUS__V& informationElement() const
    {return field_informationElement;}
  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 VoiceDomainPreferenceandUEsUsageSettingTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
VoiceDomainPreferenceandUEsUsageSettingTLV_template *list_value;
} value_list;
struct {
VoiceDomainPreferenceandUEsUsageSettingTLV_template* precondition;
VoiceDomainPreferenceandUEsUsageSettingTLV_template* implied_template;
} implication_;
dynmatch_struct<VoiceDomainPreferenceandUEsUsageSettingTLV>* dyn_match;
};

void set_specific();
void copy_value(const VoiceDomainPreferenceandUEsUsageSettingTLV& other_value);
void copy_template(const VoiceDomainPreferenceandUEsUsageSettingTLV_template& other_value);

public:
VoiceDomainPreferenceandUEsUsageSettingTLV_template();
VoiceDomainPreferenceandUEsUsageSettingTLV_template(template_sel other_value);
VoiceDomainPreferenceandUEsUsageSettingTLV_template(const VoiceDomainPreferenceandUEsUsageSettingTLV& other_value);
VoiceDomainPreferenceandUEsUsageSettingTLV_template(const OPTIONAL<VoiceDomainPreferenceandUEsUsageSettingTLV>& other_value);
VoiceDomainPreferenceandUEsUsageSettingTLV_template(VoiceDomainPreferenceandUEsUsageSettingTLV_template* p_precondition, VoiceDomainPreferenceandUEsUsageSettingTLV_template* p_implied_template);
VoiceDomainPreferenceandUEsUsageSettingTLV_template(Dynamic_Match_Interface<VoiceDomainPreferenceandUEsUsageSettingTLV>* p_dyn_match);
VoiceDomainPreferenceandUEsUsageSettingTLV_template(const VoiceDomainPreferenceandUEsUsageSettingTLV_template& other_value);
~VoiceDomainPreferenceandUEsUsageSettingTLV_template();
VoiceDomainPreferenceandUEsUsageSettingTLV_template& operator=(template_sel other_value);
VoiceDomainPreferenceandUEsUsageSettingTLV_template& operator=(const VoiceDomainPreferenceandUEsUsageSettingTLV& other_value);
VoiceDomainPreferenceandUEsUsageSettingTLV_template& operator=(const OPTIONAL<VoiceDomainPreferenceandUEsUsageSettingTLV>& other_value);
VoiceDomainPreferenceandUEsUsageSettingTLV_template& operator=(const VoiceDomainPreferenceandUEsUsageSettingTLV_template& other_value);
boolean match(const VoiceDomainPreferenceandUEsUsageSettingTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
VoiceDomainPreferenceandUEsUsageSettingTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
VoiceDomainPreferenceandUEsUsageSettingTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
VDPaUEsUS__V_template& informationElement();
const VDPaUEsUS__V_template& informationElement() const;
int size_of() const;
void log() const;
void log_match(const VoiceDomainPreferenceandUEsUsageSettingTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class LocationAreaIdentification2__TLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_locationAreaIdentificationValue;
public:
  LocationAreaIdentification2__TLV();
  LocationAreaIdentification2__TLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_locationAreaIdentificationValue);
  LocationAreaIdentification2__TLV(const LocationAreaIdentification2__TLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  LocationAreaIdentification2__TLV& operator=(const LocationAreaIdentification2__TLV& other_value);
  boolean operator==(const LocationAreaIdentification2__TLV& other_value) const;
  inline boolean operator!=(const LocationAreaIdentification2__TLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& locationAreaIdentificationValue()
    {return field_locationAreaIdentificationValue;}
  inline const OCTETSTRING& locationAreaIdentificationValue() const
    {return field_locationAreaIdentificationValue;}
  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 LocationAreaIdentification2__TLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
LocationAreaIdentification2__TLV_template *list_value;
} value_list;
struct {
LocationAreaIdentification2__TLV_template* precondition;
LocationAreaIdentification2__TLV_template* implied_template;
} implication_;
dynmatch_struct<LocationAreaIdentification2__TLV>* dyn_match;
};

void set_specific();
void copy_value(const LocationAreaIdentification2__TLV& other_value);
void copy_template(const LocationAreaIdentification2__TLV_template& other_value);

public:
LocationAreaIdentification2__TLV_template();
LocationAreaIdentification2__TLV_template(template_sel other_value);
LocationAreaIdentification2__TLV_template(const LocationAreaIdentification2__TLV& other_value);
LocationAreaIdentification2__TLV_template(const OPTIONAL<LocationAreaIdentification2__TLV>& other_value);
LocationAreaIdentification2__TLV_template(LocationAreaIdentification2__TLV_template* p_precondition, LocationAreaIdentification2__TLV_template* p_implied_template);
LocationAreaIdentification2__TLV_template(Dynamic_Match_Interface<LocationAreaIdentification2__TLV>* p_dyn_match);
LocationAreaIdentification2__TLV_template(const LocationAreaIdentification2__TLV_template& other_value);
~LocationAreaIdentification2__TLV_template();
LocationAreaIdentification2__TLV_template& operator=(template_sel other_value);
LocationAreaIdentification2__TLV_template& operator=(const LocationAreaIdentification2__TLV& other_value);
LocationAreaIdentification2__TLV_template& operator=(const OPTIONAL<LocationAreaIdentification2__TLV>& other_value);
LocationAreaIdentification2__TLV_template& operator=(const LocationAreaIdentification2__TLV_template& other_value);
boolean match(const LocationAreaIdentification2__TLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
LocationAreaIdentification2__TLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
LocationAreaIdentification2__TLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& locationAreaIdentificationValue();
const OCTETSTRING_template& locationAreaIdentificationValue() const;
int size_of() const;
void log() const;
void log_match(const LocationAreaIdentification2__TLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NetworkResourceIdentifierContainerV : public Base_Type {
  BITSTRING field_nRIContainerValue;
  BITSTRING field_spare;
public:
  NetworkResourceIdentifierContainerV();
  NetworkResourceIdentifierContainerV(const BITSTRING& par_nRIContainerValue,
    const BITSTRING& par_spare);
  NetworkResourceIdentifierContainerV(const NetworkResourceIdentifierContainerV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NetworkResourceIdentifierContainerV& operator=(const NetworkResourceIdentifierContainerV& other_value);
  boolean operator==(const NetworkResourceIdentifierContainerV& other_value) const;
  inline boolean operator!=(const NetworkResourceIdentifierContainerV& 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& nRIContainerValue()
    {return field_nRIContainerValue;}
  inline const BITSTRING& nRIContainerValue() const
    {return field_nRIContainerValue;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 NetworkResourceIdentifierContainerV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NetworkResourceIdentifierContainerV_template *list_value;
} value_list;
struct {
NetworkResourceIdentifierContainerV_template* precondition;
NetworkResourceIdentifierContainerV_template* implied_template;
} implication_;
dynmatch_struct<NetworkResourceIdentifierContainerV>* dyn_match;
};

void set_specific();
void copy_value(const NetworkResourceIdentifierContainerV& other_value);
void copy_template(const NetworkResourceIdentifierContainerV_template& other_value);

public:
NetworkResourceIdentifierContainerV_template();
NetworkResourceIdentifierContainerV_template(template_sel other_value);
NetworkResourceIdentifierContainerV_template(const NetworkResourceIdentifierContainerV& other_value);
NetworkResourceIdentifierContainerV_template(const OPTIONAL<NetworkResourceIdentifierContainerV>& other_value);
NetworkResourceIdentifierContainerV_template(NetworkResourceIdentifierContainerV_template* p_precondition, NetworkResourceIdentifierContainerV_template* p_implied_template);
NetworkResourceIdentifierContainerV_template(Dynamic_Match_Interface<NetworkResourceIdentifierContainerV>* p_dyn_match);
NetworkResourceIdentifierContainerV_template(const NetworkResourceIdentifierContainerV_template& other_value);
~NetworkResourceIdentifierContainerV_template();
NetworkResourceIdentifierContainerV_template& operator=(template_sel other_value);
NetworkResourceIdentifierContainerV_template& operator=(const NetworkResourceIdentifierContainerV& other_value);
NetworkResourceIdentifierContainerV_template& operator=(const OPTIONAL<NetworkResourceIdentifierContainerV>& other_value);
NetworkResourceIdentifierContainerV_template& operator=(const NetworkResourceIdentifierContainerV_template& other_value);
boolean match(const NetworkResourceIdentifierContainerV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NetworkResourceIdentifierContainerV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NetworkResourceIdentifierContainerV_template& list_item(unsigned int list_index) const;
BITSTRING_template& nRIContainerValue();
const BITSTRING_template& nRIContainerValue() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const NetworkResourceIdentifierContainerV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NetworkResourceIdentifierContainerLV : public Base_Type {
  INTEGER field_lengthIndicator;
  NetworkResourceIdentifierContainerV field_networkResourceIdentifierContainerV;
public:
  NetworkResourceIdentifierContainerLV();
  NetworkResourceIdentifierContainerLV(const INTEGER& par_lengthIndicator,
    const NetworkResourceIdentifierContainerV& par_networkResourceIdentifierContainerV);
  NetworkResourceIdentifierContainerLV(const NetworkResourceIdentifierContainerLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NetworkResourceIdentifierContainerLV& operator=(const NetworkResourceIdentifierContainerLV& other_value);
  boolean operator==(const NetworkResourceIdentifierContainerLV& other_value) const;
  inline boolean operator!=(const NetworkResourceIdentifierContainerLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline NetworkResourceIdentifierContainerV& networkResourceIdentifierContainerV()
    {return field_networkResourceIdentifierContainerV;}
  inline const NetworkResourceIdentifierContainerV& networkResourceIdentifierContainerV() const
    {return field_networkResourceIdentifierContainerV;}
  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 NetworkResourceIdentifierContainerLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NetworkResourceIdentifierContainerLV_template *list_value;
} value_list;
struct {
NetworkResourceIdentifierContainerLV_template* precondition;
NetworkResourceIdentifierContainerLV_template* implied_template;
} implication_;
dynmatch_struct<NetworkResourceIdentifierContainerLV>* dyn_match;
};

void set_specific();
void copy_value(const NetworkResourceIdentifierContainerLV& other_value);
void copy_template(const NetworkResourceIdentifierContainerLV_template& other_value);

public:
NetworkResourceIdentifierContainerLV_template();
NetworkResourceIdentifierContainerLV_template(template_sel other_value);
NetworkResourceIdentifierContainerLV_template(const NetworkResourceIdentifierContainerLV& other_value);
NetworkResourceIdentifierContainerLV_template(const OPTIONAL<NetworkResourceIdentifierContainerLV>& other_value);
NetworkResourceIdentifierContainerLV_template(NetworkResourceIdentifierContainerLV_template* p_precondition, NetworkResourceIdentifierContainerLV_template* p_implied_template);
NetworkResourceIdentifierContainerLV_template(Dynamic_Match_Interface<NetworkResourceIdentifierContainerLV>* p_dyn_match);
NetworkResourceIdentifierContainerLV_template(const NetworkResourceIdentifierContainerLV_template& other_value);
~NetworkResourceIdentifierContainerLV_template();
NetworkResourceIdentifierContainerLV_template& operator=(template_sel other_value);
NetworkResourceIdentifierContainerLV_template& operator=(const NetworkResourceIdentifierContainerLV& other_value);
NetworkResourceIdentifierContainerLV_template& operator=(const OPTIONAL<NetworkResourceIdentifierContainerLV>& other_value);
NetworkResourceIdentifierContainerLV_template& operator=(const NetworkResourceIdentifierContainerLV_template& other_value);
boolean match(const NetworkResourceIdentifierContainerLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NetworkResourceIdentifierContainerLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NetworkResourceIdentifierContainerLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
NetworkResourceIdentifierContainerV_template& networkResourceIdentifierContainerV();
const NetworkResourceIdentifierContainerV_template& networkResourceIdentifierContainerV() const;
int size_of() const;
void log() const;
void log_match(const NetworkResourceIdentifierContainerLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NetworkResourceIdentifierContainerTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  NetworkResourceIdentifierContainerLV field_networkResourceIdentifierContainerLV;
public:
  NetworkResourceIdentifierContainerTLV();
  NetworkResourceIdentifierContainerTLV(const OCTETSTRING& par_elementIdentifier,
    const NetworkResourceIdentifierContainerLV& par_networkResourceIdentifierContainerLV);
  NetworkResourceIdentifierContainerTLV(const NetworkResourceIdentifierContainerTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NetworkResourceIdentifierContainerTLV& operator=(const NetworkResourceIdentifierContainerTLV& other_value);
  boolean operator==(const NetworkResourceIdentifierContainerTLV& other_value) const;
  inline boolean operator!=(const NetworkResourceIdentifierContainerTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline NetworkResourceIdentifierContainerLV& networkResourceIdentifierContainerLV()
    {return field_networkResourceIdentifierContainerLV;}
  inline const NetworkResourceIdentifierContainerLV& networkResourceIdentifierContainerLV() const
    {return field_networkResourceIdentifierContainerLV;}
  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 NetworkResourceIdentifierContainerTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NetworkResourceIdentifierContainerTLV_template *list_value;
} value_list;
struct {
NetworkResourceIdentifierContainerTLV_template* precondition;
NetworkResourceIdentifierContainerTLV_template* implied_template;
} implication_;
dynmatch_struct<NetworkResourceIdentifierContainerTLV>* dyn_match;
};

void set_specific();
void copy_value(const NetworkResourceIdentifierContainerTLV& other_value);
void copy_template(const NetworkResourceIdentifierContainerTLV_template& other_value);

public:
NetworkResourceIdentifierContainerTLV_template();
NetworkResourceIdentifierContainerTLV_template(template_sel other_value);
NetworkResourceIdentifierContainerTLV_template(const NetworkResourceIdentifierContainerTLV& other_value);
NetworkResourceIdentifierContainerTLV_template(const OPTIONAL<NetworkResourceIdentifierContainerTLV>& other_value);
NetworkResourceIdentifierContainerTLV_template(NetworkResourceIdentifierContainerTLV_template* p_precondition, NetworkResourceIdentifierContainerTLV_template* p_implied_template);
NetworkResourceIdentifierContainerTLV_template(Dynamic_Match_Interface<NetworkResourceIdentifierContainerTLV>* p_dyn_match);
NetworkResourceIdentifierContainerTLV_template(const NetworkResourceIdentifierContainerTLV_template& other_value);
~NetworkResourceIdentifierContainerTLV_template();
NetworkResourceIdentifierContainerTLV_template& operator=(template_sel other_value);
NetworkResourceIdentifierContainerTLV_template& operator=(const NetworkResourceIdentifierContainerTLV& other_value);
NetworkResourceIdentifierContainerTLV_template& operator=(const OPTIONAL<NetworkResourceIdentifierContainerTLV>& other_value);
NetworkResourceIdentifierContainerTLV_template& operator=(const NetworkResourceIdentifierContainerTLV_template& other_value);
boolean match(const NetworkResourceIdentifierContainerTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NetworkResourceIdentifierContainerTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NetworkResourceIdentifierContainerTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
NetworkResourceIdentifierContainerLV_template& networkResourceIdentifierContainerLV();
const NetworkResourceIdentifierContainerLV_template& networkResourceIdentifierContainerLV() const;
int size_of() const;
void log() const;
void log_match(const NetworkResourceIdentifierContainerTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ExtendedDRXParametersTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  BITSTRING field_eDRXValue;
  BITSTRING field_pagingTimeWindow;
public:
  ExtendedDRXParametersTLV();
  ExtendedDRXParametersTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const BITSTRING& par_eDRXValue,
    const BITSTRING& par_pagingTimeWindow);
  ExtendedDRXParametersTLV(const ExtendedDRXParametersTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ExtendedDRXParametersTLV& operator=(const ExtendedDRXParametersTLV& other_value);
  boolean operator==(const ExtendedDRXParametersTLV& other_value) const;
  inline boolean operator!=(const ExtendedDRXParametersTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline BITSTRING& eDRXValue()
    {return field_eDRXValue;}
  inline const BITSTRING& eDRXValue() const
    {return field_eDRXValue;}
  inline BITSTRING& pagingTimeWindow()
    {return field_pagingTimeWindow;}
  inline const BITSTRING& pagingTimeWindow() const
    {return field_pagingTimeWindow;}
  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 ExtendedDRXParametersTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ExtendedDRXParametersTLV_template *list_value;
} value_list;
struct {
ExtendedDRXParametersTLV_template* precondition;
ExtendedDRXParametersTLV_template* implied_template;
} implication_;
dynmatch_struct<ExtendedDRXParametersTLV>* dyn_match;
};

void set_specific();
void copy_value(const ExtendedDRXParametersTLV& other_value);
void copy_template(const ExtendedDRXParametersTLV_template& other_value);

public:
ExtendedDRXParametersTLV_template();
ExtendedDRXParametersTLV_template(template_sel other_value);
ExtendedDRXParametersTLV_template(const ExtendedDRXParametersTLV& other_value);
ExtendedDRXParametersTLV_template(const OPTIONAL<ExtendedDRXParametersTLV>& other_value);
ExtendedDRXParametersTLV_template(ExtendedDRXParametersTLV_template* p_precondition, ExtendedDRXParametersTLV_template* p_implied_template);
ExtendedDRXParametersTLV_template(Dynamic_Match_Interface<ExtendedDRXParametersTLV>* p_dyn_match);
ExtendedDRXParametersTLV_template(const ExtendedDRXParametersTLV_template& other_value);
~ExtendedDRXParametersTLV_template();
ExtendedDRXParametersTLV_template& operator=(template_sel other_value);
ExtendedDRXParametersTLV_template& operator=(const ExtendedDRXParametersTLV& other_value);
ExtendedDRXParametersTLV_template& operator=(const OPTIONAL<ExtendedDRXParametersTLV>& other_value);
ExtendedDRXParametersTLV_template& operator=(const ExtendedDRXParametersTLV_template& other_value);
boolean match(const ExtendedDRXParametersTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ExtendedDRXParametersTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ExtendedDRXParametersTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
BITSTRING_template& eDRXValue();
const BITSTRING_template& eDRXValue() const;
BITSTRING_template& pagingTimeWindow();
const BITSTRING_template& pagingTimeWindow() const;
int size_of() const;
void log() const;
void log_match(const ExtendedDRXParametersTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessPointNameTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_accessPointNameValue;
public:
  AccessPointNameTLV();
  AccessPointNameTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_accessPointNameValue);
  AccessPointNameTLV(const AccessPointNameTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessPointNameTLV& operator=(const AccessPointNameTLV& other_value);
  boolean operator==(const AccessPointNameTLV& other_value) const;
  inline boolean operator!=(const AccessPointNameTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& accessPointNameValue()
    {return field_accessPointNameValue;}
  inline const OCTETSTRING& accessPointNameValue() const
    {return field_accessPointNameValue;}
  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 AccessPointNameTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessPointNameTLV_template *list_value;
} value_list;
struct {
AccessPointNameTLV_template* precondition;
AccessPointNameTLV_template* implied_template;
} implication_;
dynmatch_struct<AccessPointNameTLV>* dyn_match;
};

void set_specific();
void copy_value(const AccessPointNameTLV& other_value);
void copy_template(const AccessPointNameTLV_template& other_value);

public:
AccessPointNameTLV_template();
AccessPointNameTLV_template(template_sel other_value);
AccessPointNameTLV_template(const AccessPointNameTLV& other_value);
AccessPointNameTLV_template(const OPTIONAL<AccessPointNameTLV>& other_value);
AccessPointNameTLV_template(AccessPointNameTLV_template* p_precondition, AccessPointNameTLV_template* p_implied_template);
AccessPointNameTLV_template(Dynamic_Match_Interface<AccessPointNameTLV>* p_dyn_match);
AccessPointNameTLV_template(const AccessPointNameTLV_template& other_value);
~AccessPointNameTLV_template();
AccessPointNameTLV_template& operator=(template_sel other_value);
AccessPointNameTLV_template& operator=(const AccessPointNameTLV& other_value);
AccessPointNameTLV_template& operator=(const OPTIONAL<AccessPointNameTLV>& other_value);
AccessPointNameTLV_template& operator=(const AccessPointNameTLV_template& other_value);
boolean match(const AccessPointNameTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessPointNameTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessPointNameTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& accessPointNameValue();
const OCTETSTRING_template& accessPointNameValue() const;
int size_of() const;
void log() const;
void log_match(const AccessPointNameTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class AccessPointNameLV : public Base_Type {
  INTEGER field_lengthIndicator;
  OCTETSTRING field_accessPointNameValue;
public:
  AccessPointNameLV();
  AccessPointNameLV(const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_accessPointNameValue);
  AccessPointNameLV(const AccessPointNameLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AccessPointNameLV& operator=(const AccessPointNameLV& other_value);
  boolean operator==(const AccessPointNameLV& other_value) const;
  inline boolean operator!=(const AccessPointNameLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& accessPointNameValue()
    {return field_accessPointNameValue;}
  inline const OCTETSTRING& accessPointNameValue() const
    {return field_accessPointNameValue;}
  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 AccessPointNameLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AccessPointNameLV_template *list_value;
} value_list;
struct {
AccessPointNameLV_template* precondition;
AccessPointNameLV_template* implied_template;
} implication_;
dynmatch_struct<AccessPointNameLV>* dyn_match;
};

void set_specific();
void copy_value(const AccessPointNameLV& other_value);
void copy_template(const AccessPointNameLV_template& other_value);

public:
AccessPointNameLV_template();
AccessPointNameLV_template(template_sel other_value);
AccessPointNameLV_template(const AccessPointNameLV& other_value);
AccessPointNameLV_template(const OPTIONAL<AccessPointNameLV>& other_value);
AccessPointNameLV_template(AccessPointNameLV_template* p_precondition, AccessPointNameLV_template* p_implied_template);
AccessPointNameLV_template(Dynamic_Match_Interface<AccessPointNameLV>* p_dyn_match);
AccessPointNameLV_template(const AccessPointNameLV_template& other_value);
~AccessPointNameLV_template();
AccessPointNameLV_template& operator=(template_sel other_value);
AccessPointNameLV_template& operator=(const AccessPointNameLV& other_value);
AccessPointNameLV_template& operator=(const OPTIONAL<AccessPointNameLV>& other_value);
AccessPointNameLV_template& operator=(const AccessPointNameLV_template& other_value);
boolean match(const AccessPointNameLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AccessPointNameLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AccessPointNameLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& accessPointNameValue();
const OCTETSTRING_template& accessPointNameValue() const;
int size_of() const;
void log() const;
void log_match(const AccessPointNameLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NSAPIV : public Base_Type {
  BITSTRING field_valueField;
  BITSTRING field_spare;
public:
  NSAPIV();
  NSAPIV(const BITSTRING& par_valueField,
    const BITSTRING& par_spare);
  NSAPIV(const NSAPIV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NSAPIV& operator=(const NSAPIV& other_value);
  boolean operator==(const NSAPIV& other_value) const;
  inline boolean operator!=(const NSAPIV& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 NSAPIV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NSAPIV_template *list_value;
} value_list;
struct {
NSAPIV_template* precondition;
NSAPIV_template* implied_template;
} implication_;
dynmatch_struct<NSAPIV>* dyn_match;
};

void set_specific();
void copy_value(const NSAPIV& other_value);
void copy_template(const NSAPIV_template& other_value);

public:
NSAPIV_template();
NSAPIV_template(template_sel other_value);
NSAPIV_template(const NSAPIV& other_value);
NSAPIV_template(const OPTIONAL<NSAPIV>& other_value);
NSAPIV_template(NSAPIV_template* p_precondition, NSAPIV_template* p_implied_template);
NSAPIV_template(Dynamic_Match_Interface<NSAPIV>* p_dyn_match);
NSAPIV_template(const NSAPIV_template& other_value);
~NSAPIV_template();
NSAPIV_template& operator=(template_sel other_value);
NSAPIV_template& operator=(const NSAPIV& other_value);
NSAPIV_template& operator=(const OPTIONAL<NSAPIV>& other_value);
NSAPIV_template& operator=(const NSAPIV_template& other_value);
boolean match(const NSAPIV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NSAPIV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NSAPIV_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const NSAPIV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NSAPITV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  NSAPIV field_valueField;
public:
  NSAPITV();
  NSAPITV(const OCTETSTRING& par_elementIdentifier,
    const NSAPIV& par_valueField);
  NSAPITV(const NSAPITV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NSAPITV& operator=(const NSAPITV& other_value);
  boolean operator==(const NSAPITV& other_value) const;
  inline boolean operator!=(const NSAPITV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline NSAPIV& valueField()
    {return field_valueField;}
  inline const NSAPIV& valueField() const
    {return field_valueField;}
  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 NSAPITV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NSAPITV_template *list_value;
} value_list;
struct {
NSAPITV_template* precondition;
NSAPITV_template* implied_template;
} implication_;
dynmatch_struct<NSAPITV>* dyn_match;
};

void set_specific();
void copy_value(const NSAPITV& other_value);
void copy_template(const NSAPITV_template& other_value);

public:
NSAPITV_template();
NSAPITV_template(template_sel other_value);
NSAPITV_template(const NSAPITV& other_value);
NSAPITV_template(const OPTIONAL<NSAPITV>& other_value);
NSAPITV_template(NSAPITV_template* p_precondition, NSAPITV_template* p_implied_template);
NSAPITV_template(Dynamic_Match_Interface<NSAPITV>* p_dyn_match);
NSAPITV_template(const NSAPITV_template& other_value);
~NSAPITV_template();
NSAPITV_template& operator=(template_sel other_value);
NSAPITV_template& operator=(const NSAPITV& other_value);
NSAPITV_template& operator=(const OPTIONAL<NSAPITV>& other_value);
NSAPITV_template& operator=(const NSAPITV_template& other_value);
boolean match(const NSAPITV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NSAPITV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NSAPITV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
NSAPIV_template& valueField();
const NSAPIV_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const NSAPITV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ProtocolConfigOptionsV : public Base_Type {
  BITSTRING field_configProtocol;
  BITSTRING field_spare;
  BITSTRING field_extensionField;
  OPTIONAL< ProtocolIDs__and__ContainerIDs > field_protocolIDs__and__ContainerIDs;
public:
  ProtocolConfigOptionsV();
  ProtocolConfigOptionsV(const BITSTRING& par_configProtocol,
    const BITSTRING& par_spare,
    const BITSTRING& par_extensionField,
    const OPTIONAL< ProtocolIDs__and__ContainerIDs >& par_protocolIDs__and__ContainerIDs);
  ProtocolConfigOptionsV(const ProtocolConfigOptionsV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ProtocolConfigOptionsV& operator=(const ProtocolConfigOptionsV& other_value);
  boolean operator==(const ProtocolConfigOptionsV& other_value) const;
  inline boolean operator!=(const ProtocolConfigOptionsV& 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& configProtocol()
    {return field_configProtocol;}
  inline const BITSTRING& configProtocol() const
    {return field_configProtocol;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline BITSTRING& extensionField()
    {return field_extensionField;}
  inline const BITSTRING& extensionField() const
    {return field_extensionField;}
  inline OPTIONAL< ProtocolIDs__and__ContainerIDs >& protocolIDs__and__ContainerIDs()
    {return field_protocolIDs__and__ContainerIDs;}
  inline const OPTIONAL< ProtocolIDs__and__ContainerIDs >& protocolIDs__and__ContainerIDs() const
    {return field_protocolIDs__and__ContainerIDs;}
  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 ProtocolConfigOptionsV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ProtocolConfigOptionsV_template *list_value;
} value_list;
struct {
ProtocolConfigOptionsV_template* precondition;
ProtocolConfigOptionsV_template* implied_template;
} implication_;
dynmatch_struct<ProtocolConfigOptionsV>* dyn_match;
};

void set_specific();
void copy_value(const ProtocolConfigOptionsV& other_value);
void copy_template(const ProtocolConfigOptionsV_template& other_value);

public:
ProtocolConfigOptionsV_template();
ProtocolConfigOptionsV_template(template_sel other_value);
ProtocolConfigOptionsV_template(const ProtocolConfigOptionsV& other_value);
ProtocolConfigOptionsV_template(const OPTIONAL<ProtocolConfigOptionsV>& other_value);
ProtocolConfigOptionsV_template(ProtocolConfigOptionsV_template* p_precondition, ProtocolConfigOptionsV_template* p_implied_template);
ProtocolConfigOptionsV_template(Dynamic_Match_Interface<ProtocolConfigOptionsV>* p_dyn_match);
ProtocolConfigOptionsV_template(const ProtocolConfigOptionsV_template& other_value);
~ProtocolConfigOptionsV_template();
ProtocolConfigOptionsV_template& operator=(template_sel other_value);
ProtocolConfigOptionsV_template& operator=(const ProtocolConfigOptionsV& other_value);
ProtocolConfigOptionsV_template& operator=(const OPTIONAL<ProtocolConfigOptionsV>& other_value);
ProtocolConfigOptionsV_template& operator=(const ProtocolConfigOptionsV_template& other_value);
boolean match(const ProtocolConfigOptionsV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ProtocolConfigOptionsV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ProtocolConfigOptionsV_template& list_item(unsigned int list_index) const;
BITSTRING_template& configProtocol();
const BITSTRING_template& configProtocol() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BITSTRING_template& extensionField();
const BITSTRING_template& extensionField() const;
ProtocolIDs__and__ContainerIDs_template& protocolIDs__and__ContainerIDs();
const ProtocolIDs__and__ContainerIDs_template& protocolIDs__and__ContainerIDs() const;
int size_of() const;
void log() const;
void log_match(const ProtocolConfigOptionsV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ProtocolIDs__and__ContainerIDs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
ProtocolID__or__ContainerID **value_elements;
} *val_ptr;

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

public:
  typedef ProtocolID__or__ContainerID of_type;
ProtocolIDs__and__ContainerIDs();
ProtocolIDs__and__ContainerIDs(null_type other_value);
ProtocolIDs__and__ContainerIDs(const ProtocolIDs__and__ContainerIDs& other_value);
~ProtocolIDs__and__ContainerIDs();

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

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

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

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

ProtocolIDs__and__ContainerIDs operator+(const ProtocolIDs__and__ContainerIDs& other_value) const;

ProtocolIDs__and__ContainerIDs substr(int index, int returncount) const;

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

ProtocolIDs__and__ContainerIDs replace(int index, int len, const ProtocolIDs__and__ContainerIDs_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 ProtocolIDs__and__ContainerIDs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
ProtocolID__or__ContainerID_template **value_elements;
} single_value;
struct {
unsigned int n_values;
ProtocolIDs__and__ContainerIDs_template *list_value;
} value_list;
struct {
ProtocolIDs__and__ContainerIDs_template* precondition;
ProtocolIDs__and__ContainerIDs_template* implied_template;
} implication_;
dynmatch_struct<ProtocolIDs__and__ContainerIDs>* dyn_match;
};
void copy_value(const ProtocolIDs__and__ContainerIDs& other_value);
void copy_template(const ProtocolIDs__and__ContainerIDs_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:
ProtocolIDs__and__ContainerIDs_template();
ProtocolIDs__and__ContainerIDs_template(template_sel other_value);
ProtocolIDs__and__ContainerIDs_template(null_type other_value);
ProtocolIDs__and__ContainerIDs_template(const ProtocolIDs__and__ContainerIDs& other_value);
ProtocolIDs__and__ContainerIDs_template(const OPTIONAL<ProtocolIDs__and__ContainerIDs>& other_value);
ProtocolIDs__and__ContainerIDs_template(ProtocolIDs__and__ContainerIDs_template* p_precondition, ProtocolIDs__and__ContainerIDs_template* p_implied_template);
ProtocolIDs__and__ContainerIDs_template(Dynamic_Match_Interface<ProtocolIDs__and__ContainerIDs>* p_dyn_match);
ProtocolIDs__and__ContainerIDs_template(const ProtocolIDs__and__ContainerIDs_template& other_value);
~ProtocolIDs__and__ContainerIDs_template();

void clean_up();
ProtocolIDs__and__ContainerIDs_template& operator=(template_sel other_value);
ProtocolIDs__and__ContainerIDs_template& operator=(null_type other_value);
ProtocolIDs__and__ContainerIDs_template& operator=(const ProtocolIDs__and__ContainerIDs& other_value);
ProtocolIDs__and__ContainerIDs_template& operator=(const OPTIONAL<ProtocolIDs__and__ContainerIDs>& other_value);
ProtocolIDs__and__ContainerIDs_template& operator=(const ProtocolIDs__and__ContainerIDs_template& other_value);

ProtocolID__or__ContainerID_template& operator[](int index_value);
ProtocolID__or__ContainerID_template& operator[](const INTEGER& index_value);
const ProtocolID__or__ContainerID_template& operator[](int index_value) const;
const ProtocolID__or__ContainerID_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 ProtocolIDs__and__ContainerIDs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
ProtocolIDs__and__ContainerIDs valueof() const;
ProtocolIDs__and__ContainerIDs substr(int index, int returncount) const;

ProtocolIDs__and__ContainerIDs replace(int index, int len, const ProtocolIDs__and__ContainerIDs_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
ProtocolIDs__and__ContainerIDs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const ProtocolIDs__and__ContainerIDs& 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;
boolean get_istemplate_kind(const char* type) const;
};

class ProtocolID__or__ContainerID : public Base_Type {
  OCTETSTRING field_protocolID__or__ContainerID;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_protID__orContID__Contents;
public:
  ProtocolID__or__ContainerID();
  ProtocolID__or__ContainerID(const OCTETSTRING& par_protocolID__or__ContainerID,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_protID__orContID__Contents);
  ProtocolID__or__ContainerID(const ProtocolID__or__ContainerID& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ProtocolID__or__ContainerID& operator=(const ProtocolID__or__ContainerID& other_value);
  boolean operator==(const ProtocolID__or__ContainerID& other_value) const;
  inline boolean operator!=(const ProtocolID__or__ContainerID& 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& protocolID__or__ContainerID()
    {return field_protocolID__or__ContainerID;}
  inline const OCTETSTRING& protocolID__or__ContainerID() const
    {return field_protocolID__or__ContainerID;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& protID__orContID__Contents()
    {return field_protID__orContID__Contents;}
  inline const OCTETSTRING& protID__orContID__Contents() const
    {return field_protID__orContID__Contents;}
  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 ProtocolID__or__ContainerID_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ProtocolID__or__ContainerID_template *list_value;
} value_list;
struct {
ProtocolID__or__ContainerID_template* precondition;
ProtocolID__or__ContainerID_template* implied_template;
} implication_;
dynmatch_struct<ProtocolID__or__ContainerID>* dyn_match;
};

void set_specific();
void copy_value(const ProtocolID__or__ContainerID& other_value);
void copy_template(const ProtocolID__or__ContainerID_template& other_value);

public:
ProtocolID__or__ContainerID_template();
ProtocolID__or__ContainerID_template(template_sel other_value);
ProtocolID__or__ContainerID_template(const ProtocolID__or__ContainerID& other_value);
ProtocolID__or__ContainerID_template(const OPTIONAL<ProtocolID__or__ContainerID>& other_value);
ProtocolID__or__ContainerID_template(ProtocolID__or__ContainerID_template* p_precondition, ProtocolID__or__ContainerID_template* p_implied_template);
ProtocolID__or__ContainerID_template(Dynamic_Match_Interface<ProtocolID__or__ContainerID>* p_dyn_match);
ProtocolID__or__ContainerID_template(const ProtocolID__or__ContainerID_template& other_value);
~ProtocolID__or__ContainerID_template();
ProtocolID__or__ContainerID_template& operator=(template_sel other_value);
ProtocolID__or__ContainerID_template& operator=(const ProtocolID__or__ContainerID& other_value);
ProtocolID__or__ContainerID_template& operator=(const OPTIONAL<ProtocolID__or__ContainerID>& other_value);
ProtocolID__or__ContainerID_template& operator=(const ProtocolID__or__ContainerID_template& other_value);
boolean match(const ProtocolID__or__ContainerID& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ProtocolID__or__ContainerID valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ProtocolID__or__ContainerID_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& protocolID__or__ContainerID();
const OCTETSTRING_template& protocolID__or__ContainerID() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& protID__orContID__Contents();
const OCTETSTRING_template& protID__orContID__Contents() const;
int size_of() const;
void log() const;
void log_match(const ProtocolID__or__ContainerID& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ProtocolConfigOptionsTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  ProtocolConfigOptionsV field_protocolConfigOptionsV;
public:
  ProtocolConfigOptionsTLV();
  ProtocolConfigOptionsTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const ProtocolConfigOptionsV& par_protocolConfigOptionsV);
  ProtocolConfigOptionsTLV(const ProtocolConfigOptionsTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ProtocolConfigOptionsTLV& operator=(const ProtocolConfigOptionsTLV& other_value);
  boolean operator==(const ProtocolConfigOptionsTLV& other_value) const;
  inline boolean operator!=(const ProtocolConfigOptionsTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline ProtocolConfigOptionsV& protocolConfigOptionsV()
    {return field_protocolConfigOptionsV;}
  inline const ProtocolConfigOptionsV& protocolConfigOptionsV() const
    {return field_protocolConfigOptionsV;}
  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 ProtocolConfigOptionsTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ProtocolConfigOptionsTLV_template *list_value;
} value_list;
struct {
ProtocolConfigOptionsTLV_template* precondition;
ProtocolConfigOptionsTLV_template* implied_template;
} implication_;
dynmatch_struct<ProtocolConfigOptionsTLV>* dyn_match;
};

void set_specific();
void copy_value(const ProtocolConfigOptionsTLV& other_value);
void copy_template(const ProtocolConfigOptionsTLV_template& other_value);

public:
ProtocolConfigOptionsTLV_template();
ProtocolConfigOptionsTLV_template(template_sel other_value);
ProtocolConfigOptionsTLV_template(const ProtocolConfigOptionsTLV& other_value);
ProtocolConfigOptionsTLV_template(const OPTIONAL<ProtocolConfigOptionsTLV>& other_value);
ProtocolConfigOptionsTLV_template(ProtocolConfigOptionsTLV_template* p_precondition, ProtocolConfigOptionsTLV_template* p_implied_template);
ProtocolConfigOptionsTLV_template(Dynamic_Match_Interface<ProtocolConfigOptionsTLV>* p_dyn_match);
ProtocolConfigOptionsTLV_template(const ProtocolConfigOptionsTLV_template& other_value);
~ProtocolConfigOptionsTLV_template();
ProtocolConfigOptionsTLV_template& operator=(template_sel other_value);
ProtocolConfigOptionsTLV_template& operator=(const ProtocolConfigOptionsTLV& other_value);
ProtocolConfigOptionsTLV_template& operator=(const OPTIONAL<ProtocolConfigOptionsTLV>& other_value);
ProtocolConfigOptionsTLV_template& operator=(const ProtocolConfigOptionsTLV_template& other_value);
boolean match(const ProtocolConfigOptionsTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ProtocolConfigOptionsTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ProtocolConfigOptionsTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
ProtocolConfigOptionsV_template& protocolConfigOptionsV();
const ProtocolConfigOptionsV_template& protocolConfigOptionsV() const;
int size_of() const;
void log() const;
void log_match(const ProtocolConfigOptionsTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDPAddressV : public Base_Type {
  BITSTRING field_pdpTypeOrg;
  BITSTRING field_spare;
  OCTETSTRING field_pdpTypeNum;
  OPTIONAL< OCTETSTRING > field_addressInfo;
public:
  PDPAddressV();
  PDPAddressV(const BITSTRING& par_pdpTypeOrg,
    const BITSTRING& par_spare,
    const OCTETSTRING& par_pdpTypeNum,
    const OPTIONAL< OCTETSTRING >& par_addressInfo);
  PDPAddressV(const PDPAddressV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDPAddressV& operator=(const PDPAddressV& other_value);
  boolean operator==(const PDPAddressV& other_value) const;
  inline boolean operator!=(const PDPAddressV& 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& pdpTypeOrg()
    {return field_pdpTypeOrg;}
  inline const BITSTRING& pdpTypeOrg() const
    {return field_pdpTypeOrg;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline OCTETSTRING& pdpTypeNum()
    {return field_pdpTypeNum;}
  inline const OCTETSTRING& pdpTypeNum() const
    {return field_pdpTypeNum;}
  inline OPTIONAL< OCTETSTRING >& addressInfo()
    {return field_addressInfo;}
  inline const OPTIONAL< OCTETSTRING >& addressInfo() const
    {return field_addressInfo;}
  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 PDPAddressV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDPAddressV_template *list_value;
} value_list;
struct {
PDPAddressV_template* precondition;
PDPAddressV_template* implied_template;
} implication_;
dynmatch_struct<PDPAddressV>* dyn_match;
};

void set_specific();
void copy_value(const PDPAddressV& other_value);
void copy_template(const PDPAddressV_template& other_value);

public:
PDPAddressV_template();
PDPAddressV_template(template_sel other_value);
PDPAddressV_template(const PDPAddressV& other_value);
PDPAddressV_template(const OPTIONAL<PDPAddressV>& other_value);
PDPAddressV_template(PDPAddressV_template* p_precondition, PDPAddressV_template* p_implied_template);
PDPAddressV_template(Dynamic_Match_Interface<PDPAddressV>* p_dyn_match);
PDPAddressV_template(const PDPAddressV_template& other_value);
~PDPAddressV_template();
PDPAddressV_template& operator=(template_sel other_value);
PDPAddressV_template& operator=(const PDPAddressV& other_value);
PDPAddressV_template& operator=(const OPTIONAL<PDPAddressV>& other_value);
PDPAddressV_template& operator=(const PDPAddressV_template& other_value);
boolean match(const PDPAddressV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDPAddressV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDPAddressV_template& list_item(unsigned int list_index) const;
BITSTRING_template& pdpTypeOrg();
const BITSTRING_template& pdpTypeOrg() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
OCTETSTRING_template& pdpTypeNum();
const OCTETSTRING_template& pdpTypeNum() const;
OCTETSTRING_template& addressInfo();
const OCTETSTRING_template& addressInfo() const;
int size_of() const;
void log() const;
void log_match(const PDPAddressV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDPAddressLV : public Base_Type {
  INTEGER field_lengthIndicator;
  PDPAddressV field_pdpAddressV;
public:
  PDPAddressLV();
  PDPAddressLV(const INTEGER& par_lengthIndicator,
    const PDPAddressV& par_pdpAddressV);
  PDPAddressLV(const PDPAddressLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDPAddressLV& operator=(const PDPAddressLV& other_value);
  boolean operator==(const PDPAddressLV& other_value) const;
  inline boolean operator!=(const PDPAddressLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline PDPAddressV& pdpAddressV()
    {return field_pdpAddressV;}
  inline const PDPAddressV& pdpAddressV() const
    {return field_pdpAddressV;}
  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 PDPAddressLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDPAddressLV_template *list_value;
} value_list;
struct {
PDPAddressLV_template* precondition;
PDPAddressLV_template* implied_template;
} implication_;
dynmatch_struct<PDPAddressLV>* dyn_match;
};

void set_specific();
void copy_value(const PDPAddressLV& other_value);
void copy_template(const PDPAddressLV_template& other_value);

public:
PDPAddressLV_template();
PDPAddressLV_template(template_sel other_value);
PDPAddressLV_template(const PDPAddressLV& other_value);
PDPAddressLV_template(const OPTIONAL<PDPAddressLV>& other_value);
PDPAddressLV_template(PDPAddressLV_template* p_precondition, PDPAddressLV_template* p_implied_template);
PDPAddressLV_template(Dynamic_Match_Interface<PDPAddressLV>* p_dyn_match);
PDPAddressLV_template(const PDPAddressLV_template& other_value);
~PDPAddressLV_template();
PDPAddressLV_template& operator=(template_sel other_value);
PDPAddressLV_template& operator=(const PDPAddressLV& other_value);
PDPAddressLV_template& operator=(const OPTIONAL<PDPAddressLV>& other_value);
PDPAddressLV_template& operator=(const PDPAddressLV_template& other_value);
boolean match(const PDPAddressLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDPAddressLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDPAddressLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
PDPAddressV_template& pdpAddressV();
const PDPAddressV_template& pdpAddressV() const;
int size_of() const;
void log() const;
void log_match(const PDPAddressLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDPAddressTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  PDPAddressLV field_pDPAddressLV;
public:
  PDPAddressTLV();
  PDPAddressTLV(const OCTETSTRING& par_elementIdentifier,
    const PDPAddressLV& par_pDPAddressLV);
  PDPAddressTLV(const PDPAddressTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDPAddressTLV& operator=(const PDPAddressTLV& other_value);
  boolean operator==(const PDPAddressTLV& other_value) const;
  inline boolean operator!=(const PDPAddressTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline PDPAddressLV& pDPAddressLV()
    {return field_pDPAddressLV;}
  inline const PDPAddressLV& pDPAddressLV() const
    {return field_pDPAddressLV;}
  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 PDPAddressTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDPAddressTLV_template *list_value;
} value_list;
struct {
PDPAddressTLV_template* precondition;
PDPAddressTLV_template* implied_template;
} implication_;
dynmatch_struct<PDPAddressTLV>* dyn_match;
};

void set_specific();
void copy_value(const PDPAddressTLV& other_value);
void copy_template(const PDPAddressTLV_template& other_value);

public:
PDPAddressTLV_template();
PDPAddressTLV_template(template_sel other_value);
PDPAddressTLV_template(const PDPAddressTLV& other_value);
PDPAddressTLV_template(const OPTIONAL<PDPAddressTLV>& other_value);
PDPAddressTLV_template(PDPAddressTLV_template* p_precondition, PDPAddressTLV_template* p_implied_template);
PDPAddressTLV_template(Dynamic_Match_Interface<PDPAddressTLV>* p_dyn_match);
PDPAddressTLV_template(const PDPAddressTLV_template& other_value);
~PDPAddressTLV_template();
PDPAddressTLV_template& operator=(template_sel other_value);
PDPAddressTLV_template& operator=(const PDPAddressTLV& other_value);
PDPAddressTLV_template& operator=(const OPTIONAL<PDPAddressTLV>& other_value);
PDPAddressTLV_template& operator=(const PDPAddressTLV_template& other_value);
boolean match(const PDPAddressTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDPAddressTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDPAddressTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
PDPAddressLV_template& pDPAddressLV();
const PDPAddressLV_template& pDPAddressLV() const;
int size_of() const;
void log() const;
void log_match(const PDPAddressTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class QoSV : public Base_Type {
  BITSTRING field_reliabilityClass;
  BITSTRING field_delayClass;
  BITSTRING field_spare1;
  BITSTRING field_precedenceClass;
  BITSTRING field_spare2;
  BITSTRING field_peakThroughput;
  BITSTRING field_meanThroughput;
  BITSTRING field_spare3;
  OPTIONAL< BITSTRING > field_deliverErroneusSDU;
  OPTIONAL< BITSTRING > field_deliveryOrder;
  OPTIONAL< BITSTRING > field_trafficClass;
  OPTIONAL< OCTETSTRING > field_maxSDUSize;
  OPTIONAL< OCTETSTRING > field_maxBitrateUplink;
  OPTIONAL< OCTETSTRING > field_maxBitrateDownlink;
  OPTIONAL< BITSTRING > field_sduErrorRatio;
  OPTIONAL< BITSTRING > field_residualBER;
  OPTIONAL< BITSTRING > field_trafficHandlingPriority;
  OPTIONAL< BITSTRING > field_transferDelay;
  OPTIONAL< OCTETSTRING > field_guaranteedBitRateUplink;
  OPTIONAL< OCTETSTRING > field_guaranteedBitRateDownlink;
  OPTIONAL< BITSTRING > field_sourceStatisticsDescriptor;
  OPTIONAL< BITSTRING > field_signallingIndication;
  OPTIONAL< BITSTRING > field_spare4;
  OPTIONAL< OCTETSTRING > field_maxBitrateDownlinkExt;
  OPTIONAL< OCTETSTRING > field_guaranteedBitRateDownlinkExt;
  OPTIONAL< OCTETSTRING > field_maxBitrateUplinkExt;
  OPTIONAL< OCTETSTRING > field_guaranteedBitRateUplinkExt;
  OPTIONAL< OCTETSTRING > field_maxBitrateDownlinkExt2;
  OPTIONAL< OCTETSTRING > field_guaranteedBitRateDownlinkExt2;
  OPTIONAL< OCTETSTRING > field_maxBitrateUplinkExt2;
  OPTIONAL< OCTETSTRING > field_guaranteedBitRateUplinkExt2;
public:
  QoSV();
  QoSV(const BITSTRING& par_reliabilityClass,
    const BITSTRING& par_delayClass,
    const BITSTRING& par_spare1,
    const BITSTRING& par_precedenceClass,
    const BITSTRING& par_spare2,
    const BITSTRING& par_peakThroughput,
    const BITSTRING& par_meanThroughput,
    const BITSTRING& par_spare3,
    const OPTIONAL< BITSTRING >& par_deliverErroneusSDU,
    const OPTIONAL< BITSTRING >& par_deliveryOrder,
    const OPTIONAL< BITSTRING >& par_trafficClass,
    const OPTIONAL< OCTETSTRING >& par_maxSDUSize,
    const OPTIONAL< OCTETSTRING >& par_maxBitrateUplink,
    const OPTIONAL< OCTETSTRING >& par_maxBitrateDownlink,
    const OPTIONAL< BITSTRING >& par_sduErrorRatio,
    const OPTIONAL< BITSTRING >& par_residualBER,
    const OPTIONAL< BITSTRING >& par_trafficHandlingPriority,
    const OPTIONAL< BITSTRING >& par_transferDelay,
    const OPTIONAL< OCTETSTRING >& par_guaranteedBitRateUplink,
    const OPTIONAL< OCTETSTRING >& par_guaranteedBitRateDownlink,
    const OPTIONAL< BITSTRING >& par_sourceStatisticsDescriptor,
    const OPTIONAL< BITSTRING >& par_signallingIndication,
    const OPTIONAL< BITSTRING >& par_spare4,
    const OPTIONAL< OCTETSTRING >& par_maxBitrateDownlinkExt,
    const OPTIONAL< OCTETSTRING >& par_guaranteedBitRateDownlinkExt,
    const OPTIONAL< OCTETSTRING >& par_maxBitrateUplinkExt,
    const OPTIONAL< OCTETSTRING >& par_guaranteedBitRateUplinkExt,
    const OPTIONAL< OCTETSTRING >& par_maxBitrateDownlinkExt2,
    const OPTIONAL< OCTETSTRING >& par_guaranteedBitRateDownlinkExt2,
    const OPTIONAL< OCTETSTRING >& par_maxBitrateUplinkExt2,
    const OPTIONAL< OCTETSTRING >& par_guaranteedBitRateUplinkExt2);
  QoSV(const QoSV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  QoSV& operator=(const QoSV& other_value);
  boolean operator==(const QoSV& other_value) const;
  inline boolean operator!=(const QoSV& 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& reliabilityClass()
    {return field_reliabilityClass;}
  inline const BITSTRING& reliabilityClass() const
    {return field_reliabilityClass;}
  inline BITSTRING& delayClass()
    {return field_delayClass;}
  inline const BITSTRING& delayClass() const
    {return field_delayClass;}
  inline BITSTRING& spare1()
    {return field_spare1;}
  inline const BITSTRING& spare1() const
    {return field_spare1;}
  inline BITSTRING& precedenceClass()
    {return field_precedenceClass;}
  inline const BITSTRING& precedenceClass() const
    {return field_precedenceClass;}
  inline BITSTRING& spare2()
    {return field_spare2;}
  inline const BITSTRING& spare2() const
    {return field_spare2;}
  inline BITSTRING& peakThroughput()
    {return field_peakThroughput;}
  inline const BITSTRING& peakThroughput() const
    {return field_peakThroughput;}
  inline BITSTRING& meanThroughput()
    {return field_meanThroughput;}
  inline const BITSTRING& meanThroughput() const
    {return field_meanThroughput;}
  inline BITSTRING& spare3()
    {return field_spare3;}
  inline const BITSTRING& spare3() const
    {return field_spare3;}
  inline OPTIONAL< BITSTRING >& deliverErroneusSDU()
    {return field_deliverErroneusSDU;}
  inline const OPTIONAL< BITSTRING >& deliverErroneusSDU() const
    {return field_deliverErroneusSDU;}
  inline OPTIONAL< BITSTRING >& deliveryOrder()
    {return field_deliveryOrder;}
  inline const OPTIONAL< BITSTRING >& deliveryOrder() const
    {return field_deliveryOrder;}
  inline OPTIONAL< BITSTRING >& trafficClass()
    {return field_trafficClass;}
  inline const OPTIONAL< BITSTRING >& trafficClass() const
    {return field_trafficClass;}
  inline OPTIONAL< OCTETSTRING >& maxSDUSize()
    {return field_maxSDUSize;}
  inline const OPTIONAL< OCTETSTRING >& maxSDUSize() const
    {return field_maxSDUSize;}
  inline OPTIONAL< OCTETSTRING >& maxBitrateUplink()
    {return field_maxBitrateUplink;}
  inline const OPTIONAL< OCTETSTRING >& maxBitrateUplink() const
    {return field_maxBitrateUplink;}
  inline OPTIONAL< OCTETSTRING >& maxBitrateDownlink()
    {return field_maxBitrateDownlink;}
  inline const OPTIONAL< OCTETSTRING >& maxBitrateDownlink() const
    {return field_maxBitrateDownlink;}
  inline OPTIONAL< BITSTRING >& sduErrorRatio()
    {return field_sduErrorRatio;}
  inline const OPTIONAL< BITSTRING >& sduErrorRatio() const
    {return field_sduErrorRatio;}
  inline OPTIONAL< BITSTRING >& residualBER()
    {return field_residualBER;}
  inline const OPTIONAL< BITSTRING >& residualBER() const
    {return field_residualBER;}
  inline OPTIONAL< BITSTRING >& trafficHandlingPriority()
    {return field_trafficHandlingPriority;}
  inline const OPTIONAL< BITSTRING >& trafficHandlingPriority() const
    {return field_trafficHandlingPriority;}
  inline OPTIONAL< BITSTRING >& transferDelay()
    {return field_transferDelay;}
  inline const OPTIONAL< BITSTRING >& transferDelay() const
    {return field_transferDelay;}
  inline OPTIONAL< OCTETSTRING >& guaranteedBitRateUplink()
    {return field_guaranteedBitRateUplink;}
  inline const OPTIONAL< OCTETSTRING >& guaranteedBitRateUplink() const
    {return field_guaranteedBitRateUplink;}
  inline OPTIONAL< OCTETSTRING >& guaranteedBitRateDownlink()
    {return field_guaranteedBitRateDownlink;}
  inline const OPTIONAL< OCTETSTRING >& guaranteedBitRateDownlink() const
    {return field_guaranteedBitRateDownlink;}
  inline OPTIONAL< BITSTRING >& sourceStatisticsDescriptor()
    {return field_sourceStatisticsDescriptor;}
  inline const OPTIONAL< BITSTRING >& sourceStatisticsDescriptor() const
    {return field_sourceStatisticsDescriptor;}
  inline OPTIONAL< BITSTRING >& signallingIndication()
    {return field_signallingIndication;}
  inline const OPTIONAL< BITSTRING >& signallingIndication() const
    {return field_signallingIndication;}
  inline OPTIONAL< BITSTRING >& spare4()
    {return field_spare4;}
  inline const OPTIONAL< BITSTRING >& spare4() const
    {return field_spare4;}
  inline OPTIONAL< OCTETSTRING >& maxBitrateDownlinkExt()
    {return field_maxBitrateDownlinkExt;}
  inline const OPTIONAL< OCTETSTRING >& maxBitrateDownlinkExt() const
    {return field_maxBitrateDownlinkExt;}
  inline OPTIONAL< OCTETSTRING >& guaranteedBitRateDownlinkExt()
    {return field_guaranteedBitRateDownlinkExt;}
  inline const OPTIONAL< OCTETSTRING >& guaranteedBitRateDownlinkExt() const
    {return field_guaranteedBitRateDownlinkExt;}
  inline OPTIONAL< OCTETSTRING >& maxBitrateUplinkExt()
    {return field_maxBitrateUplinkExt;}
  inline const OPTIONAL< OCTETSTRING >& maxBitrateUplinkExt() const
    {return field_maxBitrateUplinkExt;}
  inline OPTIONAL< OCTETSTRING >& guaranteedBitRateUplinkExt()
    {return field_guaranteedBitRateUplinkExt;}
  inline const OPTIONAL< OCTETSTRING >& guaranteedBitRateUplinkExt() const
    {return field_guaranteedBitRateUplinkExt;}
  inline OPTIONAL< OCTETSTRING >& maxBitrateDownlinkExt2()
    {return field_maxBitrateDownlinkExt2;}
  inline const OPTIONAL< OCTETSTRING >& maxBitrateDownlinkExt2() const
    {return field_maxBitrateDownlinkExt2;}
  inline OPTIONAL< OCTETSTRING >& guaranteedBitRateDownlinkExt2()
    {return field_guaranteedBitRateDownlinkExt2;}
  inline const OPTIONAL< OCTETSTRING >& guaranteedBitRateDownlinkExt2() const
    {return field_guaranteedBitRateDownlinkExt2;}
  inline OPTIONAL< OCTETSTRING >& maxBitrateUplinkExt2()
    {return field_maxBitrateUplinkExt2;}
  inline const OPTIONAL< OCTETSTRING >& maxBitrateUplinkExt2() const
    {return field_maxBitrateUplinkExt2;}
  inline OPTIONAL< OCTETSTRING >& guaranteedBitRateUplinkExt2()
    {return field_guaranteedBitRateUplinkExt2;}
  inline const OPTIONAL< OCTETSTRING >& guaranteedBitRateUplinkExt2() const
    {return field_guaranteedBitRateUplinkExt2;}
  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 QoSV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
QoSV_template *list_value;
} value_list;
struct {
QoSV_template* precondition;
QoSV_template* implied_template;
} implication_;
dynmatch_struct<QoSV>* dyn_match;
};

void set_specific();
void copy_value(const QoSV& other_value);
void copy_template(const QoSV_template& other_value);

public:
QoSV_template();
QoSV_template(template_sel other_value);
QoSV_template(const QoSV& other_value);
QoSV_template(const OPTIONAL<QoSV>& other_value);
QoSV_template(QoSV_template* p_precondition, QoSV_template* p_implied_template);
QoSV_template(Dynamic_Match_Interface<QoSV>* p_dyn_match);
QoSV_template(const QoSV_template& other_value);
~QoSV_template();
QoSV_template& operator=(template_sel other_value);
QoSV_template& operator=(const QoSV& other_value);
QoSV_template& operator=(const OPTIONAL<QoSV>& other_value);
QoSV_template& operator=(const QoSV_template& other_value);
boolean match(const QoSV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
QoSV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
QoSV_template& list_item(unsigned int list_index) const;
BITSTRING_template& reliabilityClass();
const BITSTRING_template& reliabilityClass() const;
BITSTRING_template& delayClass();
const BITSTRING_template& delayClass() const;
BITSTRING_template& spare1();
const BITSTRING_template& spare1() const;
BITSTRING_template& precedenceClass();
const BITSTRING_template& precedenceClass() const;
BITSTRING_template& spare2();
const BITSTRING_template& spare2() const;
BITSTRING_template& peakThroughput();
const BITSTRING_template& peakThroughput() const;
BITSTRING_template& meanThroughput();
const BITSTRING_template& meanThroughput() const;
BITSTRING_template& spare3();
const BITSTRING_template& spare3() const;
BITSTRING_template& deliverErroneusSDU();
const BITSTRING_template& deliverErroneusSDU() const;
BITSTRING_template& deliveryOrder();
const BITSTRING_template& deliveryOrder() const;
BITSTRING_template& trafficClass();
const BITSTRING_template& trafficClass() const;
OCTETSTRING_template& maxSDUSize();
const OCTETSTRING_template& maxSDUSize() const;
OCTETSTRING_template& maxBitrateUplink();
const OCTETSTRING_template& maxBitrateUplink() const;
OCTETSTRING_template& maxBitrateDownlink();
const OCTETSTRING_template& maxBitrateDownlink() const;
BITSTRING_template& sduErrorRatio();
const BITSTRING_template& sduErrorRatio() const;
BITSTRING_template& residualBER();
const BITSTRING_template& residualBER() const;
BITSTRING_template& trafficHandlingPriority();
const BITSTRING_template& trafficHandlingPriority() const;
BITSTRING_template& transferDelay();
const BITSTRING_template& transferDelay() const;
OCTETSTRING_template& guaranteedBitRateUplink();
const OCTETSTRING_template& guaranteedBitRateUplink() const;
OCTETSTRING_template& guaranteedBitRateDownlink();
const OCTETSTRING_template& guaranteedBitRateDownlink() const;
BITSTRING_template& sourceStatisticsDescriptor();
const BITSTRING_template& sourceStatisticsDescriptor() const;
BITSTRING_template& signallingIndication();
const BITSTRING_template& signallingIndication() const;
BITSTRING_template& spare4();
const BITSTRING_template& spare4() const;
OCTETSTRING_template& maxBitrateDownlinkExt();
const OCTETSTRING_template& maxBitrateDownlinkExt() const;
OCTETSTRING_template& guaranteedBitRateDownlinkExt();
const OCTETSTRING_template& guaranteedBitRateDownlinkExt() const;
OCTETSTRING_template& maxBitrateUplinkExt();
const OCTETSTRING_template& maxBitrateUplinkExt() const;
OCTETSTRING_template& guaranteedBitRateUplinkExt();
const OCTETSTRING_template& guaranteedBitRateUplinkExt() const;
OCTETSTRING_template& maxBitrateDownlinkExt2();
const OCTETSTRING_template& maxBitrateDownlinkExt2() const;
OCTETSTRING_template& guaranteedBitRateDownlinkExt2();
const OCTETSTRING_template& guaranteedBitRateDownlinkExt2() const;
OCTETSTRING_template& maxBitrateUplinkExt2();
const OCTETSTRING_template& maxBitrateUplinkExt2() const;
OCTETSTRING_template& guaranteedBitRateUplinkExt2();
const OCTETSTRING_template& guaranteedBitRateUplinkExt2() const;
int size_of() const;
void log() const;
void log_match(const QoSV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class QoSLV : public Base_Type {
  INTEGER field_lengthIndicator;
  QoSV field_qoSV;
public:
  QoSLV();
  QoSLV(const INTEGER& par_lengthIndicator,
    const QoSV& par_qoSV);
  QoSLV(const QoSLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  QoSLV& operator=(const QoSLV& other_value);
  boolean operator==(const QoSLV& other_value) const;
  inline boolean operator!=(const QoSLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline QoSV& qoSV()
    {return field_qoSV;}
  inline const QoSV& qoSV() const
    {return field_qoSV;}
  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 QoSLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
QoSLV_template *list_value;
} value_list;
struct {
QoSLV_template* precondition;
QoSLV_template* implied_template;
} implication_;
dynmatch_struct<QoSLV>* dyn_match;
};

void set_specific();
void copy_value(const QoSLV& other_value);
void copy_template(const QoSLV_template& other_value);

public:
QoSLV_template();
QoSLV_template(template_sel other_value);
QoSLV_template(const QoSLV& other_value);
QoSLV_template(const OPTIONAL<QoSLV>& other_value);
QoSLV_template(QoSLV_template* p_precondition, QoSLV_template* p_implied_template);
QoSLV_template(Dynamic_Match_Interface<QoSLV>* p_dyn_match);
QoSLV_template(const QoSLV_template& other_value);
~QoSLV_template();
QoSLV_template& operator=(template_sel other_value);
QoSLV_template& operator=(const QoSLV& other_value);
QoSLV_template& operator=(const OPTIONAL<QoSLV>& other_value);
QoSLV_template& operator=(const QoSLV_template& other_value);
boolean match(const QoSLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
QoSLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
QoSLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
QoSV_template& qoSV();
const QoSV_template& qoSV() const;
int size_of() const;
void log() const;
void log_match(const QoSLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class QoSTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  QoSLV field_qoSLV;
public:
  QoSTLV();
  QoSTLV(const OCTETSTRING& par_elementIdentifier,
    const QoSLV& par_qoSLV);
  QoSTLV(const QoSTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  QoSTLV& operator=(const QoSTLV& other_value);
  boolean operator==(const QoSTLV& other_value) const;
  inline boolean operator!=(const QoSTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline QoSLV& qoSLV()
    {return field_qoSLV;}
  inline const QoSLV& qoSLV() const
    {return field_qoSLV;}
  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 QoSTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
QoSTLV_template *list_value;
} value_list;
struct {
QoSTLV_template* precondition;
QoSTLV_template* implied_template;
} implication_;
dynmatch_struct<QoSTLV>* dyn_match;
};

void set_specific();
void copy_value(const QoSTLV& other_value);
void copy_template(const QoSTLV_template& other_value);

public:
QoSTLV_template();
QoSTLV_template(template_sel other_value);
QoSTLV_template(const QoSTLV& other_value);
QoSTLV_template(const OPTIONAL<QoSTLV>& other_value);
QoSTLV_template(QoSTLV_template* p_precondition, QoSTLV_template* p_implied_template);
QoSTLV_template(Dynamic_Match_Interface<QoSTLV>* p_dyn_match);
QoSTLV_template(const QoSTLV_template& other_value);
~QoSTLV_template();
QoSTLV_template& operator=(template_sel other_value);
QoSTLV_template& operator=(const QoSTLV& other_value);
QoSTLV_template& operator=(const OPTIONAL<QoSTLV>& other_value);
QoSTLV_template& operator=(const QoSTLV_template& other_value);
boolean match(const QoSTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
QoSTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
QoSTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
QoSLV_template& qoSLV();
const QoSLV_template& qoSLV() const;
int size_of() const;
void log() const;
void log_match(const QoSTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ReAttemptIndicatorV : public Base_Type {
  BITSTRING field_rATCValue;
  BITSTRING field_ePLMNCValue;
  BITSTRING field_spare;
public:
  ReAttemptIndicatorV();
  ReAttemptIndicatorV(const BITSTRING& par_rATCValue,
    const BITSTRING& par_ePLMNCValue,
    const BITSTRING& par_spare);
  ReAttemptIndicatorV(const ReAttemptIndicatorV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ReAttemptIndicatorV& operator=(const ReAttemptIndicatorV& other_value);
  boolean operator==(const ReAttemptIndicatorV& other_value) const;
  inline boolean operator!=(const ReAttemptIndicatorV& 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& rATCValue()
    {return field_rATCValue;}
  inline const BITSTRING& rATCValue() const
    {return field_rATCValue;}
  inline BITSTRING& ePLMNCValue()
    {return field_ePLMNCValue;}
  inline const BITSTRING& ePLMNCValue() const
    {return field_ePLMNCValue;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 ReAttemptIndicatorV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ReAttemptIndicatorV_template *list_value;
} value_list;
struct {
ReAttemptIndicatorV_template* precondition;
ReAttemptIndicatorV_template* implied_template;
} implication_;
dynmatch_struct<ReAttemptIndicatorV>* dyn_match;
};

void set_specific();
void copy_value(const ReAttemptIndicatorV& other_value);
void copy_template(const ReAttemptIndicatorV_template& other_value);

public:
ReAttemptIndicatorV_template();
ReAttemptIndicatorV_template(template_sel other_value);
ReAttemptIndicatorV_template(const ReAttemptIndicatorV& other_value);
ReAttemptIndicatorV_template(const OPTIONAL<ReAttemptIndicatorV>& other_value);
ReAttemptIndicatorV_template(ReAttemptIndicatorV_template* p_precondition, ReAttemptIndicatorV_template* p_implied_template);
ReAttemptIndicatorV_template(Dynamic_Match_Interface<ReAttemptIndicatorV>* p_dyn_match);
ReAttemptIndicatorV_template(const ReAttemptIndicatorV_template& other_value);
~ReAttemptIndicatorV_template();
ReAttemptIndicatorV_template& operator=(template_sel other_value);
ReAttemptIndicatorV_template& operator=(const ReAttemptIndicatorV& other_value);
ReAttemptIndicatorV_template& operator=(const OPTIONAL<ReAttemptIndicatorV>& other_value);
ReAttemptIndicatorV_template& operator=(const ReAttemptIndicatorV_template& other_value);
boolean match(const ReAttemptIndicatorV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ReAttemptIndicatorV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ReAttemptIndicatorV_template& list_item(unsigned int list_index) const;
BITSTRING_template& rATCValue();
const BITSTRING_template& rATCValue() const;
BITSTRING_template& ePLMNCValue();
const BITSTRING_template& ePLMNCValue() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const ReAttemptIndicatorV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ReAttemptIndicatorLV : public Base_Type {
  INTEGER field_lengthIndicator;
  ReAttemptIndicatorV field_reAttemptIndicatorV;
public:
  ReAttemptIndicatorLV();
  ReAttemptIndicatorLV(const INTEGER& par_lengthIndicator,
    const ReAttemptIndicatorV& par_reAttemptIndicatorV);
  ReAttemptIndicatorLV(const ReAttemptIndicatorLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ReAttemptIndicatorLV& operator=(const ReAttemptIndicatorLV& other_value);
  boolean operator==(const ReAttemptIndicatorLV& other_value) const;
  inline boolean operator!=(const ReAttemptIndicatorLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline ReAttemptIndicatorV& reAttemptIndicatorV()
    {return field_reAttemptIndicatorV;}
  inline const ReAttemptIndicatorV& reAttemptIndicatorV() const
    {return field_reAttemptIndicatorV;}
  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 ReAttemptIndicatorLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ReAttemptIndicatorLV_template *list_value;
} value_list;
struct {
ReAttemptIndicatorLV_template* precondition;
ReAttemptIndicatorLV_template* implied_template;
} implication_;
dynmatch_struct<ReAttemptIndicatorLV>* dyn_match;
};

void set_specific();
void copy_value(const ReAttemptIndicatorLV& other_value);
void copy_template(const ReAttemptIndicatorLV_template& other_value);

public:
ReAttemptIndicatorLV_template();
ReAttemptIndicatorLV_template(template_sel other_value);
ReAttemptIndicatorLV_template(const ReAttemptIndicatorLV& other_value);
ReAttemptIndicatorLV_template(const OPTIONAL<ReAttemptIndicatorLV>& other_value);
ReAttemptIndicatorLV_template(ReAttemptIndicatorLV_template* p_precondition, ReAttemptIndicatorLV_template* p_implied_template);
ReAttemptIndicatorLV_template(Dynamic_Match_Interface<ReAttemptIndicatorLV>* p_dyn_match);
ReAttemptIndicatorLV_template(const ReAttemptIndicatorLV_template& other_value);
~ReAttemptIndicatorLV_template();
ReAttemptIndicatorLV_template& operator=(template_sel other_value);
ReAttemptIndicatorLV_template& operator=(const ReAttemptIndicatorLV& other_value);
ReAttemptIndicatorLV_template& operator=(const OPTIONAL<ReAttemptIndicatorLV>& other_value);
ReAttemptIndicatorLV_template& operator=(const ReAttemptIndicatorLV_template& other_value);
boolean match(const ReAttemptIndicatorLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ReAttemptIndicatorLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ReAttemptIndicatorLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
ReAttemptIndicatorV_template& reAttemptIndicatorV();
const ReAttemptIndicatorV_template& reAttemptIndicatorV() const;
int size_of() const;
void log() const;
void log_match(const ReAttemptIndicatorLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ReAttemptIndicatorTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  ReAttemptIndicatorLV field_reAttemptIndicatorLV;
public:
  ReAttemptIndicatorTLV();
  ReAttemptIndicatorTLV(const OCTETSTRING& par_elementIdentifier,
    const ReAttemptIndicatorLV& par_reAttemptIndicatorLV);
  ReAttemptIndicatorTLV(const ReAttemptIndicatorTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ReAttemptIndicatorTLV& operator=(const ReAttemptIndicatorTLV& other_value);
  boolean operator==(const ReAttemptIndicatorTLV& other_value) const;
  inline boolean operator!=(const ReAttemptIndicatorTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline ReAttemptIndicatorLV& reAttemptIndicatorLV()
    {return field_reAttemptIndicatorLV;}
  inline const ReAttemptIndicatorLV& reAttemptIndicatorLV() const
    {return field_reAttemptIndicatorLV;}
  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 ReAttemptIndicatorTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ReAttemptIndicatorTLV_template *list_value;
} value_list;
struct {
ReAttemptIndicatorTLV_template* precondition;
ReAttemptIndicatorTLV_template* implied_template;
} implication_;
dynmatch_struct<ReAttemptIndicatorTLV>* dyn_match;
};

void set_specific();
void copy_value(const ReAttemptIndicatorTLV& other_value);
void copy_template(const ReAttemptIndicatorTLV_template& other_value);

public:
ReAttemptIndicatorTLV_template();
ReAttemptIndicatorTLV_template(template_sel other_value);
ReAttemptIndicatorTLV_template(const ReAttemptIndicatorTLV& other_value);
ReAttemptIndicatorTLV_template(const OPTIONAL<ReAttemptIndicatorTLV>& other_value);
ReAttemptIndicatorTLV_template(ReAttemptIndicatorTLV_template* p_precondition, ReAttemptIndicatorTLV_template* p_implied_template);
ReAttemptIndicatorTLV_template(Dynamic_Match_Interface<ReAttemptIndicatorTLV>* p_dyn_match);
ReAttemptIndicatorTLV_template(const ReAttemptIndicatorTLV_template& other_value);
~ReAttemptIndicatorTLV_template();
ReAttemptIndicatorTLV_template& operator=(template_sel other_value);
ReAttemptIndicatorTLV_template& operator=(const ReAttemptIndicatorTLV& other_value);
ReAttemptIndicatorTLV_template& operator=(const OPTIONAL<ReAttemptIndicatorTLV>& other_value);
ReAttemptIndicatorTLV_template& operator=(const ReAttemptIndicatorTLV_template& other_value);
boolean match(const ReAttemptIndicatorTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ReAttemptIndicatorTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ReAttemptIndicatorTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
ReAttemptIndicatorLV_template& reAttemptIndicatorLV();
const ReAttemptIndicatorLV_template& reAttemptIndicatorLV() const;
int size_of() const;
void log() const;
void log_match(const ReAttemptIndicatorTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class SMCause2LV : public Base_Type {
  INTEGER field_lengthIndicator;
  OCTETSTRING field_sMCause2V;
public:
  SMCause2LV();
  SMCause2LV(const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_sMCause2V);
  SMCause2LV(const SMCause2LV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SMCause2LV& operator=(const SMCause2LV& other_value);
  boolean operator==(const SMCause2LV& other_value) const;
  inline boolean operator!=(const SMCause2LV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& sMCause2V()
    {return field_sMCause2V;}
  inline const OCTETSTRING& sMCause2V() const
    {return field_sMCause2V;}
  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 SMCause2LV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SMCause2LV_template *list_value;
} value_list;
struct {
SMCause2LV_template* precondition;
SMCause2LV_template* implied_template;
} implication_;
dynmatch_struct<SMCause2LV>* dyn_match;
};

void set_specific();
void copy_value(const SMCause2LV& other_value);
void copy_template(const SMCause2LV_template& other_value);

public:
SMCause2LV_template();
SMCause2LV_template(template_sel other_value);
SMCause2LV_template(const SMCause2LV& other_value);
SMCause2LV_template(const OPTIONAL<SMCause2LV>& other_value);
SMCause2LV_template(SMCause2LV_template* p_precondition, SMCause2LV_template* p_implied_template);
SMCause2LV_template(Dynamic_Match_Interface<SMCause2LV>* p_dyn_match);
SMCause2LV_template(const SMCause2LV_template& other_value);
~SMCause2LV_template();
SMCause2LV_template& operator=(template_sel other_value);
SMCause2LV_template& operator=(const SMCause2LV& other_value);
SMCause2LV_template& operator=(const OPTIONAL<SMCause2LV>& other_value);
SMCause2LV_template& operator=(const SMCause2LV_template& other_value);
boolean match(const SMCause2LV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
SMCause2LV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
SMCause2LV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& sMCause2V();
const OCTETSTRING_template& sMCause2V() const;
int size_of() const;
void log() const;
void log_match(const SMCause2LV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class SMCause2TLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  SMCause2LV field_sMCause2LV;
public:
  SMCause2TLV();
  SMCause2TLV(const OCTETSTRING& par_elementIdentifier,
    const SMCause2LV& par_sMCause2LV);
  SMCause2TLV(const SMCause2TLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SMCause2TLV& operator=(const SMCause2TLV& other_value);
  boolean operator==(const SMCause2TLV& other_value) const;
  inline boolean operator!=(const SMCause2TLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline SMCause2LV& sMCause2LV()
    {return field_sMCause2LV;}
  inline const SMCause2LV& sMCause2LV() const
    {return field_sMCause2LV;}
  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 SMCause2TLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SMCause2TLV_template *list_value;
} value_list;
struct {
SMCause2TLV_template* precondition;
SMCause2TLV_template* implied_template;
} implication_;
dynmatch_struct<SMCause2TLV>* dyn_match;
};

void set_specific();
void copy_value(const SMCause2TLV& other_value);
void copy_template(const SMCause2TLV_template& other_value);

public:
SMCause2TLV_template();
SMCause2TLV_template(template_sel other_value);
SMCause2TLV_template(const SMCause2TLV& other_value);
SMCause2TLV_template(const OPTIONAL<SMCause2TLV>& other_value);
SMCause2TLV_template(SMCause2TLV_template* p_precondition, SMCause2TLV_template* p_implied_template);
SMCause2TLV_template(Dynamic_Match_Interface<SMCause2TLV>* p_dyn_match);
SMCause2TLV_template(const SMCause2TLV_template& other_value);
~SMCause2TLV_template();
SMCause2TLV_template& operator=(template_sel other_value);
SMCause2TLV_template& operator=(const SMCause2TLV& other_value);
SMCause2TLV_template& operator=(const OPTIONAL<SMCause2TLV>& other_value);
SMCause2TLV_template& operator=(const SMCause2TLV_template& other_value);
boolean match(const SMCause2TLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
SMCause2TLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
SMCause2TLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
SMCause2LV_template& sMCause2LV();
const SMCause2LV_template& sMCause2LV() const;
int size_of() const;
void log() const;
void log_match(const SMCause2TLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class LinkedTIV : public Base_Type {
  BITSTRING field_spare;
  BITSTRING field_tio;
  BITSTRING field_tiFlag;
  OPTIONAL< TI__Extension > field_tIExtension;
public:
  LinkedTIV();
  LinkedTIV(const BITSTRING& par_spare,
    const BITSTRING& par_tio,
    const BITSTRING& par_tiFlag,
    const OPTIONAL< TI__Extension >& par_tIExtension);
  LinkedTIV(const LinkedTIV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  LinkedTIV& operator=(const LinkedTIV& other_value);
  boolean operator==(const LinkedTIV& other_value) const;
  inline boolean operator!=(const LinkedTIV& 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 BITSTRING& tio()
    {return field_tio;}
  inline const BITSTRING& tio() const
    {return field_tio;}
  inline BITSTRING& tiFlag()
    {return field_tiFlag;}
  inline const BITSTRING& tiFlag() const
    {return field_tiFlag;}
  inline OPTIONAL< TI__Extension >& tIExtension()
    {return field_tIExtension;}
  inline const OPTIONAL< TI__Extension >& tIExtension() const
    {return field_tIExtension;}
  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 LinkedTIV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
LinkedTIV_template *list_value;
} value_list;
struct {
LinkedTIV_template* precondition;
LinkedTIV_template* implied_template;
} implication_;
dynmatch_struct<LinkedTIV>* dyn_match;
};

void set_specific();
void copy_value(const LinkedTIV& other_value);
void copy_template(const LinkedTIV_template& other_value);

public:
LinkedTIV_template();
LinkedTIV_template(template_sel other_value);
LinkedTIV_template(const LinkedTIV& other_value);
LinkedTIV_template(const OPTIONAL<LinkedTIV>& other_value);
LinkedTIV_template(LinkedTIV_template* p_precondition, LinkedTIV_template* p_implied_template);
LinkedTIV_template(Dynamic_Match_Interface<LinkedTIV>* p_dyn_match);
LinkedTIV_template(const LinkedTIV_template& other_value);
~LinkedTIV_template();
LinkedTIV_template& operator=(template_sel other_value);
LinkedTIV_template& operator=(const LinkedTIV& other_value);
LinkedTIV_template& operator=(const OPTIONAL<LinkedTIV>& other_value);
LinkedTIV_template& operator=(const LinkedTIV_template& other_value);
boolean match(const LinkedTIV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
LinkedTIV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
LinkedTIV_template& list_item(unsigned int list_index) const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BITSTRING_template& tio();
const BITSTRING_template& tio() const;
BITSTRING_template& tiFlag();
const BITSTRING_template& tiFlag() const;
TI__Extension_template& tIExtension();
const TI__Extension_template& tIExtension() const;
int size_of() const;
void log() const;
void log_match(const LinkedTIV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TI__Extension : public Base_Type {
  BITSTRING field_tI__Value;
  BITSTRING field_tI__ExtBit;
public:
  TI__Extension();
  TI__Extension(const BITSTRING& par_tI__Value,
    const BITSTRING& par_tI__ExtBit);
  TI__Extension(const TI__Extension& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TI__Extension& operator=(const TI__Extension& other_value);
  boolean operator==(const TI__Extension& other_value) const;
  inline boolean operator!=(const TI__Extension& 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& tI__Value()
    {return field_tI__Value;}
  inline const BITSTRING& tI__Value() const
    {return field_tI__Value;}
  inline BITSTRING& tI__ExtBit()
    {return field_tI__ExtBit;}
  inline const BITSTRING& tI__ExtBit() const
    {return field_tI__ExtBit;}
  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 TI__Extension_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TI__Extension_template *list_value;
} value_list;
struct {
TI__Extension_template* precondition;
TI__Extension_template* implied_template;
} implication_;
dynmatch_struct<TI__Extension>* dyn_match;
};

void set_specific();
void copy_value(const TI__Extension& other_value);
void copy_template(const TI__Extension_template& other_value);

public:
TI__Extension_template();
TI__Extension_template(template_sel other_value);
TI__Extension_template(const TI__Extension& other_value);
TI__Extension_template(const OPTIONAL<TI__Extension>& other_value);
TI__Extension_template(TI__Extension_template* p_precondition, TI__Extension_template* p_implied_template);
TI__Extension_template(Dynamic_Match_Interface<TI__Extension>* p_dyn_match);
TI__Extension_template(const TI__Extension_template& other_value);
~TI__Extension_template();
TI__Extension_template& operator=(template_sel other_value);
TI__Extension_template& operator=(const TI__Extension& other_value);
TI__Extension_template& operator=(const OPTIONAL<TI__Extension>& other_value);
TI__Extension_template& operator=(const TI__Extension_template& other_value);
boolean match(const TI__Extension& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TI__Extension valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TI__Extension_template& list_item(unsigned int list_index) const;
BITSTRING_template& tI__Value();
const BITSTRING_template& tI__Value() const;
BITSTRING_template& tI__ExtBit();
const BITSTRING_template& tI__ExtBit() const;
int size_of() const;
void log() const;
void log_match(const TI__Extension& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class LinkedTILV : public Base_Type {
  INTEGER field_lengthIndicator;
  LinkedTIV field_valueField;
public:
  LinkedTILV();
  LinkedTILV(const INTEGER& par_lengthIndicator,
    const LinkedTIV& par_valueField);
  LinkedTILV(const LinkedTILV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  LinkedTILV& operator=(const LinkedTILV& other_value);
  boolean operator==(const LinkedTILV& other_value) const;
  inline boolean operator!=(const LinkedTILV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline LinkedTIV& valueField()
    {return field_valueField;}
  inline const LinkedTIV& valueField() const
    {return field_valueField;}
  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 LinkedTILV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
LinkedTILV_template *list_value;
} value_list;
struct {
LinkedTILV_template* precondition;
LinkedTILV_template* implied_template;
} implication_;
dynmatch_struct<LinkedTILV>* dyn_match;
};

void set_specific();
void copy_value(const LinkedTILV& other_value);
void copy_template(const LinkedTILV_template& other_value);

public:
LinkedTILV_template();
LinkedTILV_template(template_sel other_value);
LinkedTILV_template(const LinkedTILV& other_value);
LinkedTILV_template(const OPTIONAL<LinkedTILV>& other_value);
LinkedTILV_template(LinkedTILV_template* p_precondition, LinkedTILV_template* p_implied_template);
LinkedTILV_template(Dynamic_Match_Interface<LinkedTILV>* p_dyn_match);
LinkedTILV_template(const LinkedTILV_template& other_value);
~LinkedTILV_template();
LinkedTILV_template& operator=(template_sel other_value);
LinkedTILV_template& operator=(const LinkedTILV& other_value);
LinkedTILV_template& operator=(const OPTIONAL<LinkedTILV>& other_value);
LinkedTILV_template& operator=(const LinkedTILV_template& other_value);
boolean match(const LinkedTILV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
LinkedTILV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
LinkedTILV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
LinkedTIV_template& valueField();
const LinkedTIV_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const LinkedTILV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class LinkedTITLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  LinkedTILV field_linkedTILV;
public:
  LinkedTITLV();
  LinkedTITLV(const OCTETSTRING& par_elementIdentifier,
    const LinkedTILV& par_linkedTILV);
  LinkedTITLV(const LinkedTITLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  LinkedTITLV& operator=(const LinkedTITLV& other_value);
  boolean operator==(const LinkedTITLV& other_value) const;
  inline boolean operator!=(const LinkedTITLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline LinkedTILV& linkedTILV()
    {return field_linkedTILV;}
  inline const LinkedTILV& linkedTILV() const
    {return field_linkedTILV;}
  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 LinkedTITLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
LinkedTITLV_template *list_value;
} value_list;
struct {
LinkedTITLV_template* precondition;
LinkedTITLV_template* implied_template;
} implication_;
dynmatch_struct<LinkedTITLV>* dyn_match;
};

void set_specific();
void copy_value(const LinkedTITLV& other_value);
void copy_template(const LinkedTITLV_template& other_value);

public:
LinkedTITLV_template();
LinkedTITLV_template(template_sel other_value);
LinkedTITLV_template(const LinkedTITLV& other_value);
LinkedTITLV_template(const OPTIONAL<LinkedTITLV>& other_value);
LinkedTITLV_template(LinkedTITLV_template* p_precondition, LinkedTITLV_template* p_implied_template);
LinkedTITLV_template(Dynamic_Match_Interface<LinkedTITLV>* p_dyn_match);
LinkedTITLV_template(const LinkedTITLV_template& other_value);
~LinkedTITLV_template();
LinkedTITLV_template& operator=(template_sel other_value);
LinkedTITLV_template& operator=(const LinkedTITLV& other_value);
LinkedTITLV_template& operator=(const OPTIONAL<LinkedTITLV>& other_value);
LinkedTITLV_template& operator=(const LinkedTITLV_template& other_value);
boolean match(const LinkedTITLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
LinkedTITLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
LinkedTITLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
LinkedTILV_template& linkedTILV();
const LinkedTILV_template& linkedTILV() const;
int size_of() const;
void log() const;
void log_match(const LinkedTITLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class LLC__SAPIV : public Base_Type {
  BITSTRING field_valueField;
  BITSTRING field_spare;
public:
  LLC__SAPIV();
  LLC__SAPIV(const BITSTRING& par_valueField,
    const BITSTRING& par_spare);
  LLC__SAPIV(const LLC__SAPIV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  LLC__SAPIV& operator=(const LLC__SAPIV& other_value);
  boolean operator==(const LLC__SAPIV& other_value) const;
  inline boolean operator!=(const LLC__SAPIV& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 LLC__SAPIV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
LLC__SAPIV_template *list_value;
} value_list;
struct {
LLC__SAPIV_template* precondition;
LLC__SAPIV_template* implied_template;
} implication_;
dynmatch_struct<LLC__SAPIV>* dyn_match;
};

void set_specific();
void copy_value(const LLC__SAPIV& other_value);
void copy_template(const LLC__SAPIV_template& other_value);

public:
LLC__SAPIV_template();
LLC__SAPIV_template(template_sel other_value);
LLC__SAPIV_template(const LLC__SAPIV& other_value);
LLC__SAPIV_template(const OPTIONAL<LLC__SAPIV>& other_value);
LLC__SAPIV_template(LLC__SAPIV_template* p_precondition, LLC__SAPIV_template* p_implied_template);
LLC__SAPIV_template(Dynamic_Match_Interface<LLC__SAPIV>* p_dyn_match);
LLC__SAPIV_template(const LLC__SAPIV_template& other_value);
~LLC__SAPIV_template();
LLC__SAPIV_template& operator=(template_sel other_value);
LLC__SAPIV_template& operator=(const LLC__SAPIV& other_value);
LLC__SAPIV_template& operator=(const OPTIONAL<LLC__SAPIV>& other_value);
LLC__SAPIV_template& operator=(const LLC__SAPIV_template& other_value);
boolean match(const LLC__SAPIV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
LLC__SAPIV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
LLC__SAPIV_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const LLC__SAPIV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class LLC__SAPITV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  LLC__SAPIV field_valueField;
public:
  LLC__SAPITV();
  LLC__SAPITV(const OCTETSTRING& par_elementIdentifier,
    const LLC__SAPIV& par_valueField);
  LLC__SAPITV(const LLC__SAPITV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  LLC__SAPITV& operator=(const LLC__SAPITV& other_value);
  boolean operator==(const LLC__SAPITV& other_value) const;
  inline boolean operator!=(const LLC__SAPITV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline LLC__SAPIV& valueField()
    {return field_valueField;}
  inline const LLC__SAPIV& valueField() const
    {return field_valueField;}
  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 LLC__SAPITV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
LLC__SAPITV_template *list_value;
} value_list;
struct {
LLC__SAPITV_template* precondition;
LLC__SAPITV_template* implied_template;
} implication_;
dynmatch_struct<LLC__SAPITV>* dyn_match;
};

void set_specific();
void copy_value(const LLC__SAPITV& other_value);
void copy_template(const LLC__SAPITV_template& other_value);

public:
LLC__SAPITV_template();
LLC__SAPITV_template(template_sel other_value);
LLC__SAPITV_template(const LLC__SAPITV& other_value);
LLC__SAPITV_template(const OPTIONAL<LLC__SAPITV>& other_value);
LLC__SAPITV_template(LLC__SAPITV_template* p_precondition, LLC__SAPITV_template* p_implied_template);
LLC__SAPITV_template(Dynamic_Match_Interface<LLC__SAPITV>* p_dyn_match);
LLC__SAPITV_template(const LLC__SAPITV_template& other_value);
~LLC__SAPITV_template();
LLC__SAPITV_template& operator=(template_sel other_value);
LLC__SAPITV_template& operator=(const LLC__SAPITV& other_value);
LLC__SAPITV_template& operator=(const OPTIONAL<LLC__SAPITV>& other_value);
LLC__SAPITV_template& operator=(const LLC__SAPITV_template& other_value);
boolean match(const LLC__SAPITV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
LLC__SAPITV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
LLC__SAPITV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
LLC__SAPIV_template& valueField();
const LLC__SAPIV_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const LLC__SAPITV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TearDownIndicatorV : public Base_Type {
  BITSTRING field_tdi__flag;
  BITSTRING field_spare;
public:
  TearDownIndicatorV();
  TearDownIndicatorV(const BITSTRING& par_tdi__flag,
    const BITSTRING& par_spare);
  TearDownIndicatorV(const TearDownIndicatorV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TearDownIndicatorV& operator=(const TearDownIndicatorV& other_value);
  boolean operator==(const TearDownIndicatorV& other_value) const;
  inline boolean operator!=(const TearDownIndicatorV& 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& tdi__flag()
    {return field_tdi__flag;}
  inline const BITSTRING& tdi__flag() const
    {return field_tdi__flag;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 TearDownIndicatorV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TearDownIndicatorV_template *list_value;
} value_list;
struct {
TearDownIndicatorV_template* precondition;
TearDownIndicatorV_template* implied_template;
} implication_;
dynmatch_struct<TearDownIndicatorV>* dyn_match;
};

void set_specific();
void copy_value(const TearDownIndicatorV& other_value);
void copy_template(const TearDownIndicatorV_template& other_value);

public:
TearDownIndicatorV_template();
TearDownIndicatorV_template(template_sel other_value);
TearDownIndicatorV_template(const TearDownIndicatorV& other_value);
TearDownIndicatorV_template(const OPTIONAL<TearDownIndicatorV>& other_value);
TearDownIndicatorV_template(TearDownIndicatorV_template* p_precondition, TearDownIndicatorV_template* p_implied_template);
TearDownIndicatorV_template(Dynamic_Match_Interface<TearDownIndicatorV>* p_dyn_match);
TearDownIndicatorV_template(const TearDownIndicatorV_template& other_value);
~TearDownIndicatorV_template();
TearDownIndicatorV_template& operator=(template_sel other_value);
TearDownIndicatorV_template& operator=(const TearDownIndicatorV& other_value);
TearDownIndicatorV_template& operator=(const OPTIONAL<TearDownIndicatorV>& other_value);
TearDownIndicatorV_template& operator=(const TearDownIndicatorV_template& other_value);
boolean match(const TearDownIndicatorV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TearDownIndicatorV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TearDownIndicatorV_template& list_item(unsigned int list_index) const;
BITSTRING_template& tdi__flag();
const BITSTRING_template& tdi__flag() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const TearDownIndicatorV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TearDownIndicatorTV : public Base_Type {
  TearDownIndicatorV field_tearDownIndicatorV;
  BITSTRING field_elementIdentifier;
public:
  TearDownIndicatorTV();
  TearDownIndicatorTV(const TearDownIndicatorV& par_tearDownIndicatorV,
    const BITSTRING& par_elementIdentifier);
  TearDownIndicatorTV(const TearDownIndicatorTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TearDownIndicatorTV& operator=(const TearDownIndicatorTV& other_value);
  boolean operator==(const TearDownIndicatorTV& other_value) const;
  inline boolean operator!=(const TearDownIndicatorTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline TearDownIndicatorV& tearDownIndicatorV()
    {return field_tearDownIndicatorV;}
  inline const TearDownIndicatorV& tearDownIndicatorV() const
    {return field_tearDownIndicatorV;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 TearDownIndicatorTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TearDownIndicatorTV_template *list_value;
} value_list;
struct {
TearDownIndicatorTV_template* precondition;
TearDownIndicatorTV_template* implied_template;
} implication_;
dynmatch_struct<TearDownIndicatorTV>* dyn_match;
};

void set_specific();
void copy_value(const TearDownIndicatorTV& other_value);
void copy_template(const TearDownIndicatorTV_template& other_value);

public:
TearDownIndicatorTV_template();
TearDownIndicatorTV_template(template_sel other_value);
TearDownIndicatorTV_template(const TearDownIndicatorTV& other_value);
TearDownIndicatorTV_template(const OPTIONAL<TearDownIndicatorTV>& other_value);
TearDownIndicatorTV_template(TearDownIndicatorTV_template* p_precondition, TearDownIndicatorTV_template* p_implied_template);
TearDownIndicatorTV_template(Dynamic_Match_Interface<TearDownIndicatorTV>* p_dyn_match);
TearDownIndicatorTV_template(const TearDownIndicatorTV_template& other_value);
~TearDownIndicatorTV_template();
TearDownIndicatorTV_template& operator=(template_sel other_value);
TearDownIndicatorTV_template& operator=(const TearDownIndicatorTV& other_value);
TearDownIndicatorTV_template& operator=(const OPTIONAL<TearDownIndicatorTV>& other_value);
TearDownIndicatorTV_template& operator=(const TearDownIndicatorTV_template& other_value);
boolean match(const TearDownIndicatorTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TearDownIndicatorTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TearDownIndicatorTV_template& list_item(unsigned int list_index) const;
TearDownIndicatorV_template& tearDownIndicatorV();
const TearDownIndicatorV_template& tearDownIndicatorV() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const TearDownIndicatorTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PacketFlowIDV : public Base_Type {
  BITSTRING field_valueField;
  BITSTRING field_spare;
public:
  PacketFlowIDV();
  PacketFlowIDV(const BITSTRING& par_valueField,
    const BITSTRING& par_spare);
  PacketFlowIDV(const PacketFlowIDV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PacketFlowIDV& operator=(const PacketFlowIDV& other_value);
  boolean operator==(const PacketFlowIDV& other_value) const;
  inline boolean operator!=(const PacketFlowIDV& 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& valueField()
    {return field_valueField;}
  inline const BITSTRING& valueField() const
    {return field_valueField;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 PacketFlowIDV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PacketFlowIDV_template *list_value;
} value_list;
struct {
PacketFlowIDV_template* precondition;
PacketFlowIDV_template* implied_template;
} implication_;
dynmatch_struct<PacketFlowIDV>* dyn_match;
};

void set_specific();
void copy_value(const PacketFlowIDV& other_value);
void copy_template(const PacketFlowIDV_template& other_value);

public:
PacketFlowIDV_template();
PacketFlowIDV_template(template_sel other_value);
PacketFlowIDV_template(const PacketFlowIDV& other_value);
PacketFlowIDV_template(const OPTIONAL<PacketFlowIDV>& other_value);
PacketFlowIDV_template(PacketFlowIDV_template* p_precondition, PacketFlowIDV_template* p_implied_template);
PacketFlowIDV_template(Dynamic_Match_Interface<PacketFlowIDV>* p_dyn_match);
PacketFlowIDV_template(const PacketFlowIDV_template& other_value);
~PacketFlowIDV_template();
PacketFlowIDV_template& operator=(template_sel other_value);
PacketFlowIDV_template& operator=(const PacketFlowIDV& other_value);
PacketFlowIDV_template& operator=(const OPTIONAL<PacketFlowIDV>& other_value);
PacketFlowIDV_template& operator=(const PacketFlowIDV_template& other_value);
boolean match(const PacketFlowIDV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PacketFlowIDV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PacketFlowIDV_template& list_item(unsigned int list_index) const;
BITSTRING_template& valueField();
const BITSTRING_template& valueField() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const PacketFlowIDV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PacketFlowIDTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  PacketFlowIDV field_valueField;
public:
  PacketFlowIDTLV();
  PacketFlowIDTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const PacketFlowIDV& par_valueField);
  PacketFlowIDTLV(const PacketFlowIDTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PacketFlowIDTLV& operator=(const PacketFlowIDTLV& other_value);
  boolean operator==(const PacketFlowIDTLV& other_value) const;
  inline boolean operator!=(const PacketFlowIDTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline PacketFlowIDV& valueField()
    {return field_valueField;}
  inline const PacketFlowIDV& valueField() const
    {return field_valueField;}
  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 PacketFlowIDTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PacketFlowIDTLV_template *list_value;
} value_list;
struct {
PacketFlowIDTLV_template* precondition;
PacketFlowIDTLV_template* implied_template;
} implication_;
dynmatch_struct<PacketFlowIDTLV>* dyn_match;
};

void set_specific();
void copy_value(const PacketFlowIDTLV& other_value);
void copy_template(const PacketFlowIDTLV_template& other_value);

public:
PacketFlowIDTLV_template();
PacketFlowIDTLV_template(template_sel other_value);
PacketFlowIDTLV_template(const PacketFlowIDTLV& other_value);
PacketFlowIDTLV_template(const OPTIONAL<PacketFlowIDTLV>& other_value);
PacketFlowIDTLV_template(PacketFlowIDTLV_template* p_precondition, PacketFlowIDTLV_template* p_implied_template);
PacketFlowIDTLV_template(Dynamic_Match_Interface<PacketFlowIDTLV>* p_dyn_match);
PacketFlowIDTLV_template(const PacketFlowIDTLV_template& other_value);
~PacketFlowIDTLV_template();
PacketFlowIDTLV_template& operator=(template_sel other_value);
PacketFlowIDTLV_template& operator=(const PacketFlowIDTLV& other_value);
PacketFlowIDTLV_template& operator=(const OPTIONAL<PacketFlowIDTLV>& other_value);
PacketFlowIDTLV_template& operator=(const PacketFlowIDTLV_template& other_value);
boolean match(const PacketFlowIDTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PacketFlowIDTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PacketFlowIDTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
PacketFlowIDV_template& valueField();
const PacketFlowIDV_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const PacketFlowIDTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TrafficFlowTemplateV : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_trafficFlowTemplateV__CreateAddReplaceTFT = 1, ALT_trafficFlowTemplateV__DeletePacketFilter = 2, ALT_trafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation = 3 };
private:
union_selection_type union_selection;
union {
TrafficFlowTemplateV__CreateAddReplaceTFT *field_trafficFlowTemplateV__CreateAddReplaceTFT;
TrafficFlowTemplateV__DeletePacketFilter *field_trafficFlowTemplateV__DeletePacketFilter;
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation *field_trafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation;
};
void copy_value(const TrafficFlowTemplateV& other_value);

public:
TrafficFlowTemplateV();
TrafficFlowTemplateV(const TrafficFlowTemplateV& other_value);
~TrafficFlowTemplateV();
TrafficFlowTemplateV& operator=(const TrafficFlowTemplateV& other_value);
boolean operator==(const TrafficFlowTemplateV& other_value) const;
inline boolean operator!=(const TrafficFlowTemplateV& other_value) const { return !(*this == other_value); }
TrafficFlowTemplateV__CreateAddReplaceTFT& trafficFlowTemplateV__CreateAddReplaceTFT();
const TrafficFlowTemplateV__CreateAddReplaceTFT& trafficFlowTemplateV__CreateAddReplaceTFT() const;
TrafficFlowTemplateV__DeletePacketFilter& trafficFlowTemplateV__DeletePacketFilter();
const TrafficFlowTemplateV__DeletePacketFilter& trafficFlowTemplateV__DeletePacketFilter() const;
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& trafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation();
const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& trafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation() 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 TrafficFlowTemplateV_template : public Base_Template {
union {
struct {
TrafficFlowTemplateV::union_selection_type union_selection;
union {
TrafficFlowTemplateV__CreateAddReplaceTFT_template *field_trafficFlowTemplateV__CreateAddReplaceTFT;
TrafficFlowTemplateV__DeletePacketFilter_template *field_trafficFlowTemplateV__DeletePacketFilter;
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template *field_trafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation;
};
} single_value;
struct {
unsigned int n_values;
TrafficFlowTemplateV_template *list_value;
} value_list;
struct {
TrafficFlowTemplateV_template* precondition;
TrafficFlowTemplateV_template* implied_template;
} implication_;
dynmatch_struct<TrafficFlowTemplateV>* dyn_match;
};
void copy_value(const TrafficFlowTemplateV& other_value);

void copy_template(const TrafficFlowTemplateV_template& other_value);

public:
TrafficFlowTemplateV_template();
TrafficFlowTemplateV_template(template_sel other_value);
TrafficFlowTemplateV_template(const TrafficFlowTemplateV& other_value);
TrafficFlowTemplateV_template(const OPTIONAL<TrafficFlowTemplateV>& other_value);
TrafficFlowTemplateV_template(TrafficFlowTemplateV_template* p_precondition, TrafficFlowTemplateV_template* p_implied_template);
TrafficFlowTemplateV_template(Dynamic_Match_Interface<TrafficFlowTemplateV>* p_dyn_match);
TrafficFlowTemplateV_template(const TrafficFlowTemplateV_template& other_value);
~TrafficFlowTemplateV_template();
void clean_up();
TrafficFlowTemplateV_template& operator=(template_sel other_value);
TrafficFlowTemplateV_template& operator=(const TrafficFlowTemplateV& other_value);
TrafficFlowTemplateV_template& operator=(const OPTIONAL<TrafficFlowTemplateV>& other_value);
TrafficFlowTemplateV_template& operator=(const TrafficFlowTemplateV_template& other_value);
boolean match(const TrafficFlowTemplateV& other_value, boolean legacy = FALSE) const;
boolean is_value() const;TrafficFlowTemplateV valueof() const;
TrafficFlowTemplateV_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
TrafficFlowTemplateV__CreateAddReplaceTFT_template& trafficFlowTemplateV__CreateAddReplaceTFT();
const TrafficFlowTemplateV__CreateAddReplaceTFT_template& trafficFlowTemplateV__CreateAddReplaceTFT() const;
TrafficFlowTemplateV__DeletePacketFilter_template& trafficFlowTemplateV__DeletePacketFilter();
const TrafficFlowTemplateV__DeletePacketFilter_template& trafficFlowTemplateV__DeletePacketFilter() const;
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& trafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation();
const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& trafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation() const;
boolean ischosen(TrafficFlowTemplateV::union_selection_type checked_selection) const;
void log() const;
void log_match(const TrafficFlowTemplateV& 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 PacketFilterList__CreateAddReplaceTFT : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
PacketFilter **value_elements;
} *val_ptr;

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

public:
  typedef PacketFilter of_type;
PacketFilterList__CreateAddReplaceTFT();
PacketFilterList__CreateAddReplaceTFT(null_type other_value);
PacketFilterList__CreateAddReplaceTFT(const PacketFilterList__CreateAddReplaceTFT& other_value);
~PacketFilterList__CreateAddReplaceTFT();

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

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

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

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

PacketFilterList__CreateAddReplaceTFT operator+(const PacketFilterList__CreateAddReplaceTFT& other_value) const;

PacketFilterList__CreateAddReplaceTFT substr(int index, int returncount) const;

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

PacketFilterList__CreateAddReplaceTFT replace(int index, int len, const PacketFilterList__CreateAddReplaceTFT_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 PacketFilterList__CreateAddReplaceTFT_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
PacketFilter_template **value_elements;
} single_value;
struct {
unsigned int n_values;
PacketFilterList__CreateAddReplaceTFT_template *list_value;
} value_list;
struct {
PacketFilterList__CreateAddReplaceTFT_template* precondition;
PacketFilterList__CreateAddReplaceTFT_template* implied_template;
} implication_;
dynmatch_struct<PacketFilterList__CreateAddReplaceTFT>* dyn_match;
};
void copy_value(const PacketFilterList__CreateAddReplaceTFT& other_value);
void copy_template(const PacketFilterList__CreateAddReplaceTFT_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:
PacketFilterList__CreateAddReplaceTFT_template();
PacketFilterList__CreateAddReplaceTFT_template(template_sel other_value);
PacketFilterList__CreateAddReplaceTFT_template(null_type other_value);
PacketFilterList__CreateAddReplaceTFT_template(const PacketFilterList__CreateAddReplaceTFT& other_value);
PacketFilterList__CreateAddReplaceTFT_template(const OPTIONAL<PacketFilterList__CreateAddReplaceTFT>& other_value);
PacketFilterList__CreateAddReplaceTFT_template(PacketFilterList__CreateAddReplaceTFT_template* p_precondition, PacketFilterList__CreateAddReplaceTFT_template* p_implied_template);
PacketFilterList__CreateAddReplaceTFT_template(Dynamic_Match_Interface<PacketFilterList__CreateAddReplaceTFT>* p_dyn_match);
PacketFilterList__CreateAddReplaceTFT_template(const PacketFilterList__CreateAddReplaceTFT_template& other_value);
~PacketFilterList__CreateAddReplaceTFT_template();

void clean_up();
PacketFilterList__CreateAddReplaceTFT_template& operator=(template_sel other_value);
PacketFilterList__CreateAddReplaceTFT_template& operator=(null_type other_value);
PacketFilterList__CreateAddReplaceTFT_template& operator=(const PacketFilterList__CreateAddReplaceTFT& other_value);
PacketFilterList__CreateAddReplaceTFT_template& operator=(const OPTIONAL<PacketFilterList__CreateAddReplaceTFT>& other_value);
PacketFilterList__CreateAddReplaceTFT_template& operator=(const PacketFilterList__CreateAddReplaceTFT_template& other_value);

PacketFilter_template& operator[](int index_value);
PacketFilter_template& operator[](const INTEGER& index_value);
const PacketFilter_template& operator[](int index_value) const;
const PacketFilter_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 PacketFilterList__CreateAddReplaceTFT& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
PacketFilterList__CreateAddReplaceTFT valueof() const;
PacketFilterList__CreateAddReplaceTFT substr(int index, int returncount) const;

PacketFilterList__CreateAddReplaceTFT replace(int index, int len, const PacketFilterList__CreateAddReplaceTFT_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
PacketFilterList__CreateAddReplaceTFT_template& list_item(unsigned int list_index);
void log() const;
void log_match(const PacketFilterList__CreateAddReplaceTFT& 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;
boolean get_istemplate_kind(const char* type) const;
};

class PacketFilterIdentifier__CreateAddReplaceTFT : public Base_Type {
  BITSTRING field_packetFilterIdentifier;
  BITSTRING field_packetFilterDirection;
  BITSTRING field_spare;
public:
  PacketFilterIdentifier__CreateAddReplaceTFT();
  PacketFilterIdentifier__CreateAddReplaceTFT(const BITSTRING& par_packetFilterIdentifier,
    const BITSTRING& par_packetFilterDirection,
    const BITSTRING& par_spare);
  PacketFilterIdentifier__CreateAddReplaceTFT(const PacketFilterIdentifier__CreateAddReplaceTFT& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PacketFilterIdentifier__CreateAddReplaceTFT& operator=(const PacketFilterIdentifier__CreateAddReplaceTFT& other_value);
  boolean operator==(const PacketFilterIdentifier__CreateAddReplaceTFT& other_value) const;
  inline boolean operator!=(const PacketFilterIdentifier__CreateAddReplaceTFT& 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& packetFilterIdentifier()
    {return field_packetFilterIdentifier;}
  inline const BITSTRING& packetFilterIdentifier() const
    {return field_packetFilterIdentifier;}
  inline BITSTRING& packetFilterDirection()
    {return field_packetFilterDirection;}
  inline const BITSTRING& packetFilterDirection() const
    {return field_packetFilterDirection;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 PacketFilterIdentifier__CreateAddReplaceTFT_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PacketFilterIdentifier__CreateAddReplaceTFT_template *list_value;
} value_list;
struct {
PacketFilterIdentifier__CreateAddReplaceTFT_template* precondition;
PacketFilterIdentifier__CreateAddReplaceTFT_template* implied_template;
} implication_;
dynmatch_struct<PacketFilterIdentifier__CreateAddReplaceTFT>* dyn_match;
};

void set_specific();
void copy_value(const PacketFilterIdentifier__CreateAddReplaceTFT& other_value);
void copy_template(const PacketFilterIdentifier__CreateAddReplaceTFT_template& other_value);

public:
PacketFilterIdentifier__CreateAddReplaceTFT_template();
PacketFilterIdentifier__CreateAddReplaceTFT_template(template_sel other_value);
PacketFilterIdentifier__CreateAddReplaceTFT_template(const PacketFilterIdentifier__CreateAddReplaceTFT& other_value);
PacketFilterIdentifier__CreateAddReplaceTFT_template(const OPTIONAL<PacketFilterIdentifier__CreateAddReplaceTFT>& other_value);
PacketFilterIdentifier__CreateAddReplaceTFT_template(PacketFilterIdentifier__CreateAddReplaceTFT_template* p_precondition, PacketFilterIdentifier__CreateAddReplaceTFT_template* p_implied_template);
PacketFilterIdentifier__CreateAddReplaceTFT_template(Dynamic_Match_Interface<PacketFilterIdentifier__CreateAddReplaceTFT>* p_dyn_match);
PacketFilterIdentifier__CreateAddReplaceTFT_template(const PacketFilterIdentifier__CreateAddReplaceTFT_template& other_value);
~PacketFilterIdentifier__CreateAddReplaceTFT_template();
PacketFilterIdentifier__CreateAddReplaceTFT_template& operator=(template_sel other_value);
PacketFilterIdentifier__CreateAddReplaceTFT_template& operator=(const PacketFilterIdentifier__CreateAddReplaceTFT& other_value);
PacketFilterIdentifier__CreateAddReplaceTFT_template& operator=(const OPTIONAL<PacketFilterIdentifier__CreateAddReplaceTFT>& other_value);
PacketFilterIdentifier__CreateAddReplaceTFT_template& operator=(const PacketFilterIdentifier__CreateAddReplaceTFT_template& other_value);
boolean match(const PacketFilterIdentifier__CreateAddReplaceTFT& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PacketFilterIdentifier__CreateAddReplaceTFT valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PacketFilterIdentifier__CreateAddReplaceTFT_template& list_item(unsigned int list_index) const;
BITSTRING_template& packetFilterIdentifier();
const BITSTRING_template& packetFilterIdentifier() const;
BITSTRING_template& packetFilterDirection();
const BITSTRING_template& packetFilterDirection() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const PacketFilterIdentifier__CreateAddReplaceTFT& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PacketFilter : public Base_Type {
  PacketFilterIdentifier__CreateAddReplaceTFT field_identifier;
  OCTETSTRING field_evaluationPrecedence;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_contents;
public:
  PacketFilter();
  PacketFilter(const PacketFilterIdentifier__CreateAddReplaceTFT& par_identifier,
    const OCTETSTRING& par_evaluationPrecedence,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_contents);
  PacketFilter(const PacketFilter& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PacketFilter& operator=(const PacketFilter& other_value);
  boolean operator==(const PacketFilter& other_value) const;
  inline boolean operator!=(const PacketFilter& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline PacketFilterIdentifier__CreateAddReplaceTFT& identifier()
    {return field_identifier;}
  inline const PacketFilterIdentifier__CreateAddReplaceTFT& identifier() const
    {return field_identifier;}
  inline OCTETSTRING& evaluationPrecedence()
    {return field_evaluationPrecedence;}
  inline const OCTETSTRING& evaluationPrecedence() const
    {return field_evaluationPrecedence;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& contents()
    {return field_contents;}
  inline const OCTETSTRING& contents() const
    {return field_contents;}
  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 PacketFilter_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PacketFilter_template *list_value;
} value_list;
struct {
PacketFilter_template* precondition;
PacketFilter_template* implied_template;
} implication_;
dynmatch_struct<PacketFilter>* dyn_match;
};

void set_specific();
void copy_value(const PacketFilter& other_value);
void copy_template(const PacketFilter_template& other_value);

public:
PacketFilter_template();
PacketFilter_template(template_sel other_value);
PacketFilter_template(const PacketFilter& other_value);
PacketFilter_template(const OPTIONAL<PacketFilter>& other_value);
PacketFilter_template(PacketFilter_template* p_precondition, PacketFilter_template* p_implied_template);
PacketFilter_template(Dynamic_Match_Interface<PacketFilter>* p_dyn_match);
PacketFilter_template(const PacketFilter_template& other_value);
~PacketFilter_template();
PacketFilter_template& operator=(template_sel other_value);
PacketFilter_template& operator=(const PacketFilter& other_value);
PacketFilter_template& operator=(const OPTIONAL<PacketFilter>& other_value);
PacketFilter_template& operator=(const PacketFilter_template& other_value);
boolean match(const PacketFilter& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PacketFilter valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PacketFilter_template& list_item(unsigned int list_index) const;
PacketFilterIdentifier__CreateAddReplaceTFT_template& identifier();
const PacketFilterIdentifier__CreateAddReplaceTFT_template& identifier() const;
OCTETSTRING_template& evaluationPrecedence();
const OCTETSTRING_template& evaluationPrecedence() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& contents();
const OCTETSTRING_template& contents() const;
int size_of() const;
void log() const;
void log_match(const PacketFilter& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TrafficFlowTemplateV__CreateAddReplaceTFT : public Base_Type {
  INTEGER field_numberOfPacketFilters;
  BITSTRING field_eBIT;
  BITSTRING field_operationCodeTFT;
  PacketFilterList__CreateAddReplaceTFT field_packetFilterList__CreateAddReplaceTFT;
  OPTIONAL< ParametersList > field_parametersList;
public:
  TrafficFlowTemplateV__CreateAddReplaceTFT();
  TrafficFlowTemplateV__CreateAddReplaceTFT(const INTEGER& par_numberOfPacketFilters,
    const BITSTRING& par_eBIT,
    const BITSTRING& par_operationCodeTFT,
    const PacketFilterList__CreateAddReplaceTFT& par_packetFilterList__CreateAddReplaceTFT,
    const OPTIONAL< ParametersList >& par_parametersList);
  TrafficFlowTemplateV__CreateAddReplaceTFT(const TrafficFlowTemplateV__CreateAddReplaceTFT& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TrafficFlowTemplateV__CreateAddReplaceTFT& operator=(const TrafficFlowTemplateV__CreateAddReplaceTFT& other_value);
  boolean operator==(const TrafficFlowTemplateV__CreateAddReplaceTFT& other_value) const;
  inline boolean operator!=(const TrafficFlowTemplateV__CreateAddReplaceTFT& 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& numberOfPacketFilters()
    {return field_numberOfPacketFilters;}
  inline const INTEGER& numberOfPacketFilters() const
    {return field_numberOfPacketFilters;}
  inline BITSTRING& eBIT()
    {return field_eBIT;}
  inline const BITSTRING& eBIT() const
    {return field_eBIT;}
  inline BITSTRING& operationCodeTFT()
    {return field_operationCodeTFT;}
  inline const BITSTRING& operationCodeTFT() const
    {return field_operationCodeTFT;}
  inline PacketFilterList__CreateAddReplaceTFT& packetFilterList__CreateAddReplaceTFT()
    {return field_packetFilterList__CreateAddReplaceTFT;}
  inline const PacketFilterList__CreateAddReplaceTFT& packetFilterList__CreateAddReplaceTFT() const
    {return field_packetFilterList__CreateAddReplaceTFT;}
  inline OPTIONAL< ParametersList >& parametersList()
    {return field_parametersList;}
  inline const OPTIONAL< ParametersList >& parametersList() const
    {return field_parametersList;}
  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 TrafficFlowTemplateV__CreateAddReplaceTFT_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TrafficFlowTemplateV__CreateAddReplaceTFT_template *list_value;
} value_list;
struct {
TrafficFlowTemplateV__CreateAddReplaceTFT_template* precondition;
TrafficFlowTemplateV__CreateAddReplaceTFT_template* implied_template;
} implication_;
dynmatch_struct<TrafficFlowTemplateV__CreateAddReplaceTFT>* dyn_match;
};

void set_specific();
void copy_value(const TrafficFlowTemplateV__CreateAddReplaceTFT& other_value);
void copy_template(const TrafficFlowTemplateV__CreateAddReplaceTFT_template& other_value);

public:
TrafficFlowTemplateV__CreateAddReplaceTFT_template();
TrafficFlowTemplateV__CreateAddReplaceTFT_template(template_sel other_value);
TrafficFlowTemplateV__CreateAddReplaceTFT_template(const TrafficFlowTemplateV__CreateAddReplaceTFT& other_value);
TrafficFlowTemplateV__CreateAddReplaceTFT_template(const OPTIONAL<TrafficFlowTemplateV__CreateAddReplaceTFT>& other_value);
TrafficFlowTemplateV__CreateAddReplaceTFT_template(TrafficFlowTemplateV__CreateAddReplaceTFT_template* p_precondition, TrafficFlowTemplateV__CreateAddReplaceTFT_template* p_implied_template);
TrafficFlowTemplateV__CreateAddReplaceTFT_template(Dynamic_Match_Interface<TrafficFlowTemplateV__CreateAddReplaceTFT>* p_dyn_match);
TrafficFlowTemplateV__CreateAddReplaceTFT_template(const TrafficFlowTemplateV__CreateAddReplaceTFT_template& other_value);
~TrafficFlowTemplateV__CreateAddReplaceTFT_template();
TrafficFlowTemplateV__CreateAddReplaceTFT_template& operator=(template_sel other_value);
TrafficFlowTemplateV__CreateAddReplaceTFT_template& operator=(const TrafficFlowTemplateV__CreateAddReplaceTFT& other_value);
TrafficFlowTemplateV__CreateAddReplaceTFT_template& operator=(const OPTIONAL<TrafficFlowTemplateV__CreateAddReplaceTFT>& other_value);
TrafficFlowTemplateV__CreateAddReplaceTFT_template& operator=(const TrafficFlowTemplateV__CreateAddReplaceTFT_template& other_value);
boolean match(const TrafficFlowTemplateV__CreateAddReplaceTFT& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TrafficFlowTemplateV__CreateAddReplaceTFT valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TrafficFlowTemplateV__CreateAddReplaceTFT_template& list_item(unsigned int list_index) const;
INTEGER_template& numberOfPacketFilters();
const INTEGER_template& numberOfPacketFilters() const;
BITSTRING_template& eBIT();
const BITSTRING_template& eBIT() const;
BITSTRING_template& operationCodeTFT();
const BITSTRING_template& operationCodeTFT() const;
PacketFilterList__CreateAddReplaceTFT_template& packetFilterList__CreateAddReplaceTFT();
const PacketFilterList__CreateAddReplaceTFT_template& packetFilterList__CreateAddReplaceTFT() const;
ParametersList_template& parametersList();
const ParametersList_template& parametersList() const;
int size_of() const;
void log() const;
void log_match(const TrafficFlowTemplateV__CreateAddReplaceTFT& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ParametersList : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
Parameter **value_elements;
} *val_ptr;

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

public:
  typedef Parameter of_type;
ParametersList();
ParametersList(null_type other_value);
ParametersList(const ParametersList& other_value);
~ParametersList();

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

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

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

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

ParametersList operator+(const ParametersList& other_value) const;

ParametersList substr(int index, int returncount) const;

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

ParametersList replace(int index, int len, const ParametersList_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 ParametersList_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
Parameter_template **value_elements;
} single_value;
struct {
unsigned int n_values;
ParametersList_template *list_value;
} value_list;
struct {
ParametersList_template* precondition;
ParametersList_template* implied_template;
} implication_;
dynmatch_struct<ParametersList>* dyn_match;
};
void copy_value(const ParametersList& other_value);
void copy_template(const ParametersList_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:
ParametersList_template();
ParametersList_template(template_sel other_value);
ParametersList_template(null_type other_value);
ParametersList_template(const ParametersList& other_value);
ParametersList_template(const OPTIONAL<ParametersList>& other_value);
ParametersList_template(ParametersList_template* p_precondition, ParametersList_template* p_implied_template);
ParametersList_template(Dynamic_Match_Interface<ParametersList>* p_dyn_match);
ParametersList_template(const ParametersList_template& other_value);
~ParametersList_template();

void clean_up();
ParametersList_template& operator=(template_sel other_value);
ParametersList_template& operator=(null_type other_value);
ParametersList_template& operator=(const ParametersList& other_value);
ParametersList_template& operator=(const OPTIONAL<ParametersList>& other_value);
ParametersList_template& operator=(const ParametersList_template& other_value);

Parameter_template& operator[](int index_value);
Parameter_template& operator[](const INTEGER& index_value);
const Parameter_template& operator[](int index_value) const;
const Parameter_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 ParametersList& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
ParametersList valueof() const;
ParametersList substr(int index, int returncount) const;

ParametersList replace(int index, int len, const ParametersList_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
ParametersList_template& list_item(unsigned int list_index);
void log() const;
void log_match(const ParametersList& 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;
boolean get_istemplate_kind(const char* type) const;
};

class Parameter : public Base_Type {
  OCTETSTRING field_parameterIdentifier;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_contents;
public:
  Parameter();
  Parameter(const OCTETSTRING& par_parameterIdentifier,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_contents);
  Parameter(const Parameter& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Parameter& operator=(const Parameter& other_value);
  boolean operator==(const Parameter& other_value) const;
  inline boolean operator!=(const Parameter& 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& parameterIdentifier()
    {return field_parameterIdentifier;}
  inline const OCTETSTRING& parameterIdentifier() const
    {return field_parameterIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& contents()
    {return field_contents;}
  inline const OCTETSTRING& contents() const
    {return field_contents;}
  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 Parameter_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
Parameter_template *list_value;
} value_list;
struct {
Parameter_template* precondition;
Parameter_template* implied_template;
} implication_;
dynmatch_struct<Parameter>* dyn_match;
};

void set_specific();
void copy_value(const Parameter& other_value);
void copy_template(const Parameter_template& other_value);

public:
Parameter_template();
Parameter_template(template_sel other_value);
Parameter_template(const Parameter& other_value);
Parameter_template(const OPTIONAL<Parameter>& other_value);
Parameter_template(Parameter_template* p_precondition, Parameter_template* p_implied_template);
Parameter_template(Dynamic_Match_Interface<Parameter>* p_dyn_match);
Parameter_template(const Parameter_template& other_value);
~Parameter_template();
Parameter_template& operator=(template_sel other_value);
Parameter_template& operator=(const Parameter& other_value);
Parameter_template& operator=(const OPTIONAL<Parameter>& other_value);
Parameter_template& operator=(const Parameter_template& other_value);
boolean match(const Parameter& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
Parameter valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
Parameter_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& parameterIdentifier();
const OCTETSTRING_template& parameterIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& contents();
const OCTETSTRING_template& contents() const;
int size_of() const;
void log() const;
void log_match(const Parameter& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PacketFilterList__DeletePacketFilter : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
PacketFilterIdentifier **value_elements;
} *val_ptr;

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

public:
  typedef PacketFilterIdentifier of_type;
PacketFilterList__DeletePacketFilter();
PacketFilterList__DeletePacketFilter(null_type other_value);
PacketFilterList__DeletePacketFilter(const PacketFilterList__DeletePacketFilter& other_value);
~PacketFilterList__DeletePacketFilter();

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

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

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

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

PacketFilterList__DeletePacketFilter operator+(const PacketFilterList__DeletePacketFilter& other_value) const;

PacketFilterList__DeletePacketFilter substr(int index, int returncount) const;

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

PacketFilterList__DeletePacketFilter replace(int index, int len, const PacketFilterList__DeletePacketFilter_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 PacketFilterList__DeletePacketFilter_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
PacketFilterIdentifier_template **value_elements;
} single_value;
struct {
unsigned int n_values;
PacketFilterList__DeletePacketFilter_template *list_value;
} value_list;
struct {
PacketFilterList__DeletePacketFilter_template* precondition;
PacketFilterList__DeletePacketFilter_template* implied_template;
} implication_;
dynmatch_struct<PacketFilterList__DeletePacketFilter>* dyn_match;
};
void copy_value(const PacketFilterList__DeletePacketFilter& other_value);
void copy_template(const PacketFilterList__DeletePacketFilter_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:
PacketFilterList__DeletePacketFilter_template();
PacketFilterList__DeletePacketFilter_template(template_sel other_value);
PacketFilterList__DeletePacketFilter_template(null_type other_value);
PacketFilterList__DeletePacketFilter_template(const PacketFilterList__DeletePacketFilter& other_value);
PacketFilterList__DeletePacketFilter_template(const OPTIONAL<PacketFilterList__DeletePacketFilter>& other_value);
PacketFilterList__DeletePacketFilter_template(PacketFilterList__DeletePacketFilter_template* p_precondition, PacketFilterList__DeletePacketFilter_template* p_implied_template);
PacketFilterList__DeletePacketFilter_template(Dynamic_Match_Interface<PacketFilterList__DeletePacketFilter>* p_dyn_match);
PacketFilterList__DeletePacketFilter_template(const PacketFilterList__DeletePacketFilter_template& other_value);
~PacketFilterList__DeletePacketFilter_template();

void clean_up();
PacketFilterList__DeletePacketFilter_template& operator=(template_sel other_value);
PacketFilterList__DeletePacketFilter_template& operator=(null_type other_value);
PacketFilterList__DeletePacketFilter_template& operator=(const PacketFilterList__DeletePacketFilter& other_value);
PacketFilterList__DeletePacketFilter_template& operator=(const OPTIONAL<PacketFilterList__DeletePacketFilter>& other_value);
PacketFilterList__DeletePacketFilter_template& operator=(const PacketFilterList__DeletePacketFilter_template& other_value);

PacketFilterIdentifier_template& operator[](int index_value);
PacketFilterIdentifier_template& operator[](const INTEGER& index_value);
const PacketFilterIdentifier_template& operator[](int index_value) const;
const PacketFilterIdentifier_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 PacketFilterList__DeletePacketFilter& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
PacketFilterList__DeletePacketFilter valueof() const;
PacketFilterList__DeletePacketFilter substr(int index, int returncount) const;

PacketFilterList__DeletePacketFilter replace(int index, int len, const PacketFilterList__DeletePacketFilter_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
PacketFilterList__DeletePacketFilter_template& list_item(unsigned int list_index);
void log() const;
void log_match(const PacketFilterList__DeletePacketFilter& 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;
boolean get_istemplate_kind(const char* type) const;
};

class PacketFilterIdentifier : public Base_Type {
  BITSTRING field_packetFilterIdentifier;
  BITSTRING field_spare;
public:
  PacketFilterIdentifier();
  PacketFilterIdentifier(const BITSTRING& par_packetFilterIdentifier,
    const BITSTRING& par_spare);
  PacketFilterIdentifier(const PacketFilterIdentifier& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PacketFilterIdentifier& operator=(const PacketFilterIdentifier& other_value);
  boolean operator==(const PacketFilterIdentifier& other_value) const;
  inline boolean operator!=(const PacketFilterIdentifier& 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& packetFilterIdentifier()
    {return field_packetFilterIdentifier;}
  inline const BITSTRING& packetFilterIdentifier() const
    {return field_packetFilterIdentifier;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 PacketFilterIdentifier_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PacketFilterIdentifier_template *list_value;
} value_list;
struct {
PacketFilterIdentifier_template* precondition;
PacketFilterIdentifier_template* implied_template;
} implication_;
dynmatch_struct<PacketFilterIdentifier>* dyn_match;
};

void set_specific();
void copy_value(const PacketFilterIdentifier& other_value);
void copy_template(const PacketFilterIdentifier_template& other_value);

public:
PacketFilterIdentifier_template();
PacketFilterIdentifier_template(template_sel other_value);
PacketFilterIdentifier_template(const PacketFilterIdentifier& other_value);
PacketFilterIdentifier_template(const OPTIONAL<PacketFilterIdentifier>& other_value);
PacketFilterIdentifier_template(PacketFilterIdentifier_template* p_precondition, PacketFilterIdentifier_template* p_implied_template);
PacketFilterIdentifier_template(Dynamic_Match_Interface<PacketFilterIdentifier>* p_dyn_match);
PacketFilterIdentifier_template(const PacketFilterIdentifier_template& other_value);
~PacketFilterIdentifier_template();
PacketFilterIdentifier_template& operator=(template_sel other_value);
PacketFilterIdentifier_template& operator=(const PacketFilterIdentifier& other_value);
PacketFilterIdentifier_template& operator=(const OPTIONAL<PacketFilterIdentifier>& other_value);
PacketFilterIdentifier_template& operator=(const PacketFilterIdentifier_template& other_value);
boolean match(const PacketFilterIdentifier& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PacketFilterIdentifier valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PacketFilterIdentifier_template& list_item(unsigned int list_index) const;
BITSTRING_template& packetFilterIdentifier();
const BITSTRING_template& packetFilterIdentifier() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const PacketFilterIdentifier& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TrafficFlowTemplateV__DeletePacketFilter : public Base_Type {
  INTEGER field_numberOfPacketFilters;
  BITSTRING field_eBIT;
  BITSTRING field_operationCodeTFT;
  PacketFilterList__DeletePacketFilter field_packetFilterList__DeletePacketFilter;
  OPTIONAL< ParametersList > field_parametersList;
public:
  TrafficFlowTemplateV__DeletePacketFilter();
  TrafficFlowTemplateV__DeletePacketFilter(const INTEGER& par_numberOfPacketFilters,
    const BITSTRING& par_eBIT,
    const BITSTRING& par_operationCodeTFT,
    const PacketFilterList__DeletePacketFilter& par_packetFilterList__DeletePacketFilter,
    const OPTIONAL< ParametersList >& par_parametersList);
  TrafficFlowTemplateV__DeletePacketFilter(const TrafficFlowTemplateV__DeletePacketFilter& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TrafficFlowTemplateV__DeletePacketFilter& operator=(const TrafficFlowTemplateV__DeletePacketFilter& other_value);
  boolean operator==(const TrafficFlowTemplateV__DeletePacketFilter& other_value) const;
  inline boolean operator!=(const TrafficFlowTemplateV__DeletePacketFilter& 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& numberOfPacketFilters()
    {return field_numberOfPacketFilters;}
  inline const INTEGER& numberOfPacketFilters() const
    {return field_numberOfPacketFilters;}
  inline BITSTRING& eBIT()
    {return field_eBIT;}
  inline const BITSTRING& eBIT() const
    {return field_eBIT;}
  inline BITSTRING& operationCodeTFT()
    {return field_operationCodeTFT;}
  inline const BITSTRING& operationCodeTFT() const
    {return field_operationCodeTFT;}
  inline PacketFilterList__DeletePacketFilter& packetFilterList__DeletePacketFilter()
    {return field_packetFilterList__DeletePacketFilter;}
  inline const PacketFilterList__DeletePacketFilter& packetFilterList__DeletePacketFilter() const
    {return field_packetFilterList__DeletePacketFilter;}
  inline OPTIONAL< ParametersList >& parametersList()
    {return field_parametersList;}
  inline const OPTIONAL< ParametersList >& parametersList() const
    {return field_parametersList;}
  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 TrafficFlowTemplateV__DeletePacketFilter_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TrafficFlowTemplateV__DeletePacketFilter_template *list_value;
} value_list;
struct {
TrafficFlowTemplateV__DeletePacketFilter_template* precondition;
TrafficFlowTemplateV__DeletePacketFilter_template* implied_template;
} implication_;
dynmatch_struct<TrafficFlowTemplateV__DeletePacketFilter>* dyn_match;
};

void set_specific();
void copy_value(const TrafficFlowTemplateV__DeletePacketFilter& other_value);
void copy_template(const TrafficFlowTemplateV__DeletePacketFilter_template& other_value);

public:
TrafficFlowTemplateV__DeletePacketFilter_template();
TrafficFlowTemplateV__DeletePacketFilter_template(template_sel other_value);
TrafficFlowTemplateV__DeletePacketFilter_template(const TrafficFlowTemplateV__DeletePacketFilter& other_value);
TrafficFlowTemplateV__DeletePacketFilter_template(const OPTIONAL<TrafficFlowTemplateV__DeletePacketFilter>& other_value);
TrafficFlowTemplateV__DeletePacketFilter_template(TrafficFlowTemplateV__DeletePacketFilter_template* p_precondition, TrafficFlowTemplateV__DeletePacketFilter_template* p_implied_template);
TrafficFlowTemplateV__DeletePacketFilter_template(Dynamic_Match_Interface<TrafficFlowTemplateV__DeletePacketFilter>* p_dyn_match);
TrafficFlowTemplateV__DeletePacketFilter_template(const TrafficFlowTemplateV__DeletePacketFilter_template& other_value);
~TrafficFlowTemplateV__DeletePacketFilter_template();
TrafficFlowTemplateV__DeletePacketFilter_template& operator=(template_sel other_value);
TrafficFlowTemplateV__DeletePacketFilter_template& operator=(const TrafficFlowTemplateV__DeletePacketFilter& other_value);
TrafficFlowTemplateV__DeletePacketFilter_template& operator=(const OPTIONAL<TrafficFlowTemplateV__DeletePacketFilter>& other_value);
TrafficFlowTemplateV__DeletePacketFilter_template& operator=(const TrafficFlowTemplateV__DeletePacketFilter_template& other_value);
boolean match(const TrafficFlowTemplateV__DeletePacketFilter& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TrafficFlowTemplateV__DeletePacketFilter valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TrafficFlowTemplateV__DeletePacketFilter_template& list_item(unsigned int list_index) const;
INTEGER_template& numberOfPacketFilters();
const INTEGER_template& numberOfPacketFilters() const;
BITSTRING_template& eBIT();
const BITSTRING_template& eBIT() const;
BITSTRING_template& operationCodeTFT();
const BITSTRING_template& operationCodeTFT() const;
PacketFilterList__DeletePacketFilter_template& packetFilterList__DeletePacketFilter();
const PacketFilterList__DeletePacketFilter_template& packetFilterList__DeletePacketFilter() const;
ParametersList_template& parametersList();
const ParametersList_template& parametersList() const;
int size_of() const;
void log() const;
void log_match(const TrafficFlowTemplateV__DeletePacketFilter& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation : public Base_Type {
  BITSTRING field_numberOfPacketFilters;
  BITSTRING field_eBIT;
  BITSTRING field_operationCodeTFT;
  OPTIONAL< ParametersList > field_parametersList;
public:
  TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation();
  TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation(const BITSTRING& par_numberOfPacketFilters,
    const BITSTRING& par_eBIT,
    const BITSTRING& par_operationCodeTFT,
    const OPTIONAL< ParametersList >& par_parametersList);
  TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& operator=(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& other_value);
  boolean operator==(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& other_value) const;
  inline boolean operator!=(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& 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& numberOfPacketFilters()
    {return field_numberOfPacketFilters;}
  inline const BITSTRING& numberOfPacketFilters() const
    {return field_numberOfPacketFilters;}
  inline BITSTRING& eBIT()
    {return field_eBIT;}
  inline const BITSTRING& eBIT() const
    {return field_eBIT;}
  inline BITSTRING& operationCodeTFT()
    {return field_operationCodeTFT;}
  inline const BITSTRING& operationCodeTFT() const
    {return field_operationCodeTFT;}
  inline OPTIONAL< ParametersList >& parametersList()
    {return field_parametersList;}
  inline const OPTIONAL< ParametersList >& parametersList() const
    {return field_parametersList;}
  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 TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template *list_value;
} value_list;
struct {
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template* precondition;
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template* implied_template;
} implication_;
dynmatch_struct<TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation>* dyn_match;
};

void set_specific();
void copy_value(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& other_value);
void copy_template(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& other_value);

public:
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template();
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template(template_sel other_value);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& other_value);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template(const OPTIONAL<TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation>& other_value);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template(TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template* p_precondition, TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template* p_implied_template);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template(Dynamic_Match_Interface<TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation>* p_dyn_match);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& other_value);
~TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template();
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& operator=(template_sel other_value);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& operator=(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& other_value);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& operator=(const OPTIONAL<TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation>& other_value);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& operator=(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& other_value);
boolean match(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_template& list_item(unsigned int list_index) const;
BITSTRING_template& numberOfPacketFilters();
const BITSTRING_template& numberOfPacketFilters() const;
BITSTRING_template& eBIT();
const BITSTRING_template& eBIT() const;
BITSTRING_template& operationCodeTFT();
const BITSTRING_template& operationCodeTFT() const;
ParametersList_template& parametersList();
const ParametersList_template& parametersList() const;
int size_of() const;
void log() const;
void log_match(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TrafficFlowTemplateLV : public Base_Type {
  INTEGER field_lengthIndicator;
  TrafficFlowTemplateV field_valueField;
public:
  TrafficFlowTemplateLV();
  TrafficFlowTemplateLV(const INTEGER& par_lengthIndicator,
    const TrafficFlowTemplateV& par_valueField);
  TrafficFlowTemplateLV(const TrafficFlowTemplateLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TrafficFlowTemplateLV& operator=(const TrafficFlowTemplateLV& other_value);
  boolean operator==(const TrafficFlowTemplateLV& other_value) const;
  inline boolean operator!=(const TrafficFlowTemplateLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline TrafficFlowTemplateV& valueField()
    {return field_valueField;}
  inline const TrafficFlowTemplateV& valueField() const
    {return field_valueField;}
  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 TrafficFlowTemplateLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TrafficFlowTemplateLV_template *list_value;
} value_list;
struct {
TrafficFlowTemplateLV_template* precondition;
TrafficFlowTemplateLV_template* implied_template;
} implication_;
dynmatch_struct<TrafficFlowTemplateLV>* dyn_match;
};

void set_specific();
void copy_value(const TrafficFlowTemplateLV& other_value);
void copy_template(const TrafficFlowTemplateLV_template& other_value);

public:
TrafficFlowTemplateLV_template();
TrafficFlowTemplateLV_template(template_sel other_value);
TrafficFlowTemplateLV_template(const TrafficFlowTemplateLV& other_value);
TrafficFlowTemplateLV_template(const OPTIONAL<TrafficFlowTemplateLV>& other_value);
TrafficFlowTemplateLV_template(TrafficFlowTemplateLV_template* p_precondition, TrafficFlowTemplateLV_template* p_implied_template);
TrafficFlowTemplateLV_template(Dynamic_Match_Interface<TrafficFlowTemplateLV>* p_dyn_match);
TrafficFlowTemplateLV_template(const TrafficFlowTemplateLV_template& other_value);
~TrafficFlowTemplateLV_template();
TrafficFlowTemplateLV_template& operator=(template_sel other_value);
TrafficFlowTemplateLV_template& operator=(const TrafficFlowTemplateLV& other_value);
TrafficFlowTemplateLV_template& operator=(const OPTIONAL<TrafficFlowTemplateLV>& other_value);
TrafficFlowTemplateLV_template& operator=(const TrafficFlowTemplateLV_template& other_value);
boolean match(const TrafficFlowTemplateLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TrafficFlowTemplateLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TrafficFlowTemplateLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
TrafficFlowTemplateV_template& valueField();
const TrafficFlowTemplateV_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const TrafficFlowTemplateLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TrafficFlowTemplateTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  TrafficFlowTemplateLV field_trafficFlowTemplateLV;
public:
  TrafficFlowTemplateTLV();
  TrafficFlowTemplateTLV(const OCTETSTRING& par_elementIdentifier,
    const TrafficFlowTemplateLV& par_trafficFlowTemplateLV);
  TrafficFlowTemplateTLV(const TrafficFlowTemplateTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TrafficFlowTemplateTLV& operator=(const TrafficFlowTemplateTLV& other_value);
  boolean operator==(const TrafficFlowTemplateTLV& other_value) const;
  inline boolean operator!=(const TrafficFlowTemplateTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline TrafficFlowTemplateLV& trafficFlowTemplateLV()
    {return field_trafficFlowTemplateLV;}
  inline const TrafficFlowTemplateLV& trafficFlowTemplateLV() const
    {return field_trafficFlowTemplateLV;}
  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 TrafficFlowTemplateTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TrafficFlowTemplateTLV_template *list_value;
} value_list;
struct {
TrafficFlowTemplateTLV_template* precondition;
TrafficFlowTemplateTLV_template* implied_template;
} implication_;
dynmatch_struct<TrafficFlowTemplateTLV>* dyn_match;
};

void set_specific();
void copy_value(const TrafficFlowTemplateTLV& other_value);
void copy_template(const TrafficFlowTemplateTLV_template& other_value);

public:
TrafficFlowTemplateTLV_template();
TrafficFlowTemplateTLV_template(template_sel other_value);
TrafficFlowTemplateTLV_template(const TrafficFlowTemplateTLV& other_value);
TrafficFlowTemplateTLV_template(const OPTIONAL<TrafficFlowTemplateTLV>& other_value);
TrafficFlowTemplateTLV_template(TrafficFlowTemplateTLV_template* p_precondition, TrafficFlowTemplateTLV_template* p_implied_template);
TrafficFlowTemplateTLV_template(Dynamic_Match_Interface<TrafficFlowTemplateTLV>* p_dyn_match);
TrafficFlowTemplateTLV_template(const TrafficFlowTemplateTLV_template& other_value);
~TrafficFlowTemplateTLV_template();
TrafficFlowTemplateTLV_template& operator=(template_sel other_value);
TrafficFlowTemplateTLV_template& operator=(const TrafficFlowTemplateTLV& other_value);
TrafficFlowTemplateTLV_template& operator=(const OPTIONAL<TrafficFlowTemplateTLV>& other_value);
TrafficFlowTemplateTLV_template& operator=(const TrafficFlowTemplateTLV_template& other_value);
boolean match(const TrafficFlowTemplateTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TrafficFlowTemplateTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TrafficFlowTemplateTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
TrafficFlowTemplateLV_template& trafficFlowTemplateLV();
const TrafficFlowTemplateLV_template& trafficFlowTemplateLV() const;
int size_of() const;
void log() const;
void log_match(const TrafficFlowTemplateTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class TemporaryMobileGroupIDLV : public Base_Type {
  INTEGER field_lengthIndicator;
  OCTETSTRING field_mBMSServiceID;
  HEXSTRING field_mccDigit1;
  HEXSTRING field_mccDigit2;
  HEXSTRING field_mccDigit3;
  HEXSTRING field_mncDigit3;
  HEXSTRING field_mncDigit1;
  HEXSTRING field_mncDigit2;
public:
  TemporaryMobileGroupIDLV();
  TemporaryMobileGroupIDLV(const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_mBMSServiceID,
    const HEXSTRING& par_mccDigit1,
    const HEXSTRING& par_mccDigit2,
    const HEXSTRING& par_mccDigit3,
    const HEXSTRING& par_mncDigit3,
    const HEXSTRING& par_mncDigit1,
    const HEXSTRING& par_mncDigit2);
  TemporaryMobileGroupIDLV(const TemporaryMobileGroupIDLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TemporaryMobileGroupIDLV& operator=(const TemporaryMobileGroupIDLV& other_value);
  boolean operator==(const TemporaryMobileGroupIDLV& other_value) const;
  inline boolean operator!=(const TemporaryMobileGroupIDLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& mBMSServiceID()
    {return field_mBMSServiceID;}
  inline const OCTETSTRING& mBMSServiceID() const
    {return field_mBMSServiceID;}
  inline HEXSTRING& mccDigit1()
    {return field_mccDigit1;}
  inline const HEXSTRING& mccDigit1() const
    {return field_mccDigit1;}
  inline HEXSTRING& mccDigit2()
    {return field_mccDigit2;}
  inline const HEXSTRING& mccDigit2() const
    {return field_mccDigit2;}
  inline HEXSTRING& mccDigit3()
    {return field_mccDigit3;}
  inline const HEXSTRING& mccDigit3() const
    {return field_mccDigit3;}
  inline HEXSTRING& mncDigit3()
    {return field_mncDigit3;}
  inline const HEXSTRING& mncDigit3() const
    {return field_mncDigit3;}
  inline HEXSTRING& mncDigit1()
    {return field_mncDigit1;}
  inline const HEXSTRING& mncDigit1() const
    {return field_mncDigit1;}
  inline HEXSTRING& mncDigit2()
    {return field_mncDigit2;}
  inline const HEXSTRING& mncDigit2() const
    {return field_mncDigit2;}
  inline int size_of() const
    {return 8;}
  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 TemporaryMobileGroupIDLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TemporaryMobileGroupIDLV_template *list_value;
} value_list;
struct {
TemporaryMobileGroupIDLV_template* precondition;
TemporaryMobileGroupIDLV_template* implied_template;
} implication_;
dynmatch_struct<TemporaryMobileGroupIDLV>* dyn_match;
};

void set_specific();
void copy_value(const TemporaryMobileGroupIDLV& other_value);
void copy_template(const TemporaryMobileGroupIDLV_template& other_value);

public:
TemporaryMobileGroupIDLV_template();
TemporaryMobileGroupIDLV_template(template_sel other_value);
TemporaryMobileGroupIDLV_template(const TemporaryMobileGroupIDLV& other_value);
TemporaryMobileGroupIDLV_template(const OPTIONAL<TemporaryMobileGroupIDLV>& other_value);
TemporaryMobileGroupIDLV_template(TemporaryMobileGroupIDLV_template* p_precondition, TemporaryMobileGroupIDLV_template* p_implied_template);
TemporaryMobileGroupIDLV_template(Dynamic_Match_Interface<TemporaryMobileGroupIDLV>* p_dyn_match);
TemporaryMobileGroupIDLV_template(const TemporaryMobileGroupIDLV_template& other_value);
~TemporaryMobileGroupIDLV_template();
TemporaryMobileGroupIDLV_template& operator=(template_sel other_value);
TemporaryMobileGroupIDLV_template& operator=(const TemporaryMobileGroupIDLV& other_value);
TemporaryMobileGroupIDLV_template& operator=(const OPTIONAL<TemporaryMobileGroupIDLV>& other_value);
TemporaryMobileGroupIDLV_template& operator=(const TemporaryMobileGroupIDLV_template& other_value);
boolean match(const TemporaryMobileGroupIDLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TemporaryMobileGroupIDLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TemporaryMobileGroupIDLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& mBMSServiceID();
const OCTETSTRING_template& mBMSServiceID() const;
HEXSTRING_template& mccDigit1();
const HEXSTRING_template& mccDigit1() const;
HEXSTRING_template& mccDigit2();
const HEXSTRING_template& mccDigit2() const;
HEXSTRING_template& mccDigit3();
const HEXSTRING_template& mccDigit3() const;
HEXSTRING_template& mncDigit3();
const HEXSTRING_template& mncDigit3() const;
HEXSTRING_template& mncDigit1();
const HEXSTRING_template& mncDigit1() const;
HEXSTRING_template& mncDigit2();
const HEXSTRING_template& mncDigit2() const;
int size_of() const;
void log() const;
void log_match(const TemporaryMobileGroupIDLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MBMSBearerCapabilitiesLV : public Base_Type {
  INTEGER field_lengthIndicator;
  OCTETSTRING field_maxBitrateDownlink;
  OPTIONAL< OCTETSTRING > field_maxBitrateDownlinkExtended;
public:
  MBMSBearerCapabilitiesLV();
  MBMSBearerCapabilitiesLV(const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_maxBitrateDownlink,
    const OPTIONAL< OCTETSTRING >& par_maxBitrateDownlinkExtended);
  MBMSBearerCapabilitiesLV(const MBMSBearerCapabilitiesLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MBMSBearerCapabilitiesLV& operator=(const MBMSBearerCapabilitiesLV& other_value);
  boolean operator==(const MBMSBearerCapabilitiesLV& other_value) const;
  inline boolean operator!=(const MBMSBearerCapabilitiesLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& maxBitrateDownlink()
    {return field_maxBitrateDownlink;}
  inline const OCTETSTRING& maxBitrateDownlink() const
    {return field_maxBitrateDownlink;}
  inline OPTIONAL< OCTETSTRING >& maxBitrateDownlinkExtended()
    {return field_maxBitrateDownlinkExtended;}
  inline const OPTIONAL< OCTETSTRING >& maxBitrateDownlinkExtended() const
    {return field_maxBitrateDownlinkExtended;}
  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 MBMSBearerCapabilitiesLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MBMSBearerCapabilitiesLV_template *list_value;
} value_list;
struct {
MBMSBearerCapabilitiesLV_template* precondition;
MBMSBearerCapabilitiesLV_template* implied_template;
} implication_;
dynmatch_struct<MBMSBearerCapabilitiesLV>* dyn_match;
};

void set_specific();
void copy_value(const MBMSBearerCapabilitiesLV& other_value);
void copy_template(const MBMSBearerCapabilitiesLV_template& other_value);

public:
MBMSBearerCapabilitiesLV_template();
MBMSBearerCapabilitiesLV_template(template_sel other_value);
MBMSBearerCapabilitiesLV_template(const MBMSBearerCapabilitiesLV& other_value);
MBMSBearerCapabilitiesLV_template(const OPTIONAL<MBMSBearerCapabilitiesLV>& other_value);
MBMSBearerCapabilitiesLV_template(MBMSBearerCapabilitiesLV_template* p_precondition, MBMSBearerCapabilitiesLV_template* p_implied_template);
MBMSBearerCapabilitiesLV_template(Dynamic_Match_Interface<MBMSBearerCapabilitiesLV>* p_dyn_match);
MBMSBearerCapabilitiesLV_template(const MBMSBearerCapabilitiesLV_template& other_value);
~MBMSBearerCapabilitiesLV_template();
MBMSBearerCapabilitiesLV_template& operator=(template_sel other_value);
MBMSBearerCapabilitiesLV_template& operator=(const MBMSBearerCapabilitiesLV& other_value);
MBMSBearerCapabilitiesLV_template& operator=(const OPTIONAL<MBMSBearerCapabilitiesLV>& other_value);
MBMSBearerCapabilitiesLV_template& operator=(const MBMSBearerCapabilitiesLV_template& other_value);
boolean match(const MBMSBearerCapabilitiesLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MBMSBearerCapabilitiesLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MBMSBearerCapabilitiesLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& maxBitrateDownlink();
const OCTETSTRING_template& maxBitrateDownlink() const;
OCTETSTRING_template& maxBitrateDownlinkExtended();
const OCTETSTRING_template& maxBitrateDownlinkExtended() const;
int size_of() const;
void log() const;
void log_match(const MBMSBearerCapabilitiesLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MBMSProtocolConfigOptionsTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_spare;
  OCTETSTRING field_valueField;
public:
  MBMSProtocolConfigOptionsTLV();
  MBMSProtocolConfigOptionsTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_spare,
    const OCTETSTRING& par_valueField);
  MBMSProtocolConfigOptionsTLV(const MBMSProtocolConfigOptionsTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MBMSProtocolConfigOptionsTLV& operator=(const MBMSProtocolConfigOptionsTLV& other_value);
  boolean operator==(const MBMSProtocolConfigOptionsTLV& other_value) const;
  inline boolean operator!=(const MBMSProtocolConfigOptionsTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& spare()
    {return field_spare;}
  inline const OCTETSTRING& spare() const
    {return field_spare;}
  inline OCTETSTRING& valueField()
    {return field_valueField;}
  inline const OCTETSTRING& valueField() const
    {return field_valueField;}
  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 MBMSProtocolConfigOptionsTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MBMSProtocolConfigOptionsTLV_template *list_value;
} value_list;
struct {
MBMSProtocolConfigOptionsTLV_template* precondition;
MBMSProtocolConfigOptionsTLV_template* implied_template;
} implication_;
dynmatch_struct<MBMSProtocolConfigOptionsTLV>* dyn_match;
};

void set_specific();
void copy_value(const MBMSProtocolConfigOptionsTLV& other_value);
void copy_template(const MBMSProtocolConfigOptionsTLV_template& other_value);

public:
MBMSProtocolConfigOptionsTLV_template();
MBMSProtocolConfigOptionsTLV_template(template_sel other_value);
MBMSProtocolConfigOptionsTLV_template(const MBMSProtocolConfigOptionsTLV& other_value);
MBMSProtocolConfigOptionsTLV_template(const OPTIONAL<MBMSProtocolConfigOptionsTLV>& other_value);
MBMSProtocolConfigOptionsTLV_template(MBMSProtocolConfigOptionsTLV_template* p_precondition, MBMSProtocolConfigOptionsTLV_template* p_implied_template);
MBMSProtocolConfigOptionsTLV_template(Dynamic_Match_Interface<MBMSProtocolConfigOptionsTLV>* p_dyn_match);
MBMSProtocolConfigOptionsTLV_template(const MBMSProtocolConfigOptionsTLV_template& other_value);
~MBMSProtocolConfigOptionsTLV_template();
MBMSProtocolConfigOptionsTLV_template& operator=(template_sel other_value);
MBMSProtocolConfigOptionsTLV_template& operator=(const MBMSProtocolConfigOptionsTLV& other_value);
MBMSProtocolConfigOptionsTLV_template& operator=(const OPTIONAL<MBMSProtocolConfigOptionsTLV>& other_value);
MBMSProtocolConfigOptionsTLV_template& operator=(const MBMSProtocolConfigOptionsTLV_template& other_value);
boolean match(const MBMSProtocolConfigOptionsTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MBMSProtocolConfigOptionsTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MBMSProtocolConfigOptionsTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& spare();
const OCTETSTRING_template& spare() const;
OCTETSTRING_template& valueField();
const OCTETSTRING_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const MBMSProtocolConfigOptionsTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class EnhancedNetworkSeviveAccessPointIDV : public Base_Type {
  OCTETSTRING field_enhancedNetworkSeviveAccessPointIDValue;
public:
  EnhancedNetworkSeviveAccessPointIDV();
  EnhancedNetworkSeviveAccessPointIDV(const OCTETSTRING& par_enhancedNetworkSeviveAccessPointIDValue);
  EnhancedNetworkSeviveAccessPointIDV(const EnhancedNetworkSeviveAccessPointIDV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  EnhancedNetworkSeviveAccessPointIDV& operator=(const EnhancedNetworkSeviveAccessPointIDV& other_value);
  boolean operator==(const EnhancedNetworkSeviveAccessPointIDV& other_value) const;
  inline boolean operator!=(const EnhancedNetworkSeviveAccessPointIDV& 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& enhancedNetworkSeviveAccessPointIDValue()
    {return field_enhancedNetworkSeviveAccessPointIDValue;}
  inline const OCTETSTRING& enhancedNetworkSeviveAccessPointIDValue() const
    {return field_enhancedNetworkSeviveAccessPointIDValue;}
  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 EnhancedNetworkSeviveAccessPointIDV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
EnhancedNetworkSeviveAccessPointIDV_template *list_value;
} value_list;
struct {
EnhancedNetworkSeviveAccessPointIDV_template* precondition;
EnhancedNetworkSeviveAccessPointIDV_template* implied_template;
} implication_;
dynmatch_struct<EnhancedNetworkSeviveAccessPointIDV>* dyn_match;
};

void set_specific();
void copy_value(const EnhancedNetworkSeviveAccessPointIDV& other_value);
void copy_template(const EnhancedNetworkSeviveAccessPointIDV_template& other_value);

public:
EnhancedNetworkSeviveAccessPointIDV_template();
EnhancedNetworkSeviveAccessPointIDV_template(template_sel other_value);
EnhancedNetworkSeviveAccessPointIDV_template(const EnhancedNetworkSeviveAccessPointIDV& other_value);
EnhancedNetworkSeviveAccessPointIDV_template(const OPTIONAL<EnhancedNetworkSeviveAccessPointIDV>& other_value);
EnhancedNetworkSeviveAccessPointIDV_template(EnhancedNetworkSeviveAccessPointIDV_template* p_precondition, EnhancedNetworkSeviveAccessPointIDV_template* p_implied_template);
EnhancedNetworkSeviveAccessPointIDV_template(Dynamic_Match_Interface<EnhancedNetworkSeviveAccessPointIDV>* p_dyn_match);
EnhancedNetworkSeviveAccessPointIDV_template(const EnhancedNetworkSeviveAccessPointIDV_template& other_value);
~EnhancedNetworkSeviveAccessPointIDV_template();
EnhancedNetworkSeviveAccessPointIDV_template& operator=(template_sel other_value);
EnhancedNetworkSeviveAccessPointIDV_template& operator=(const EnhancedNetworkSeviveAccessPointIDV& other_value);
EnhancedNetworkSeviveAccessPointIDV_template& operator=(const OPTIONAL<EnhancedNetworkSeviveAccessPointIDV>& other_value);
EnhancedNetworkSeviveAccessPointIDV_template& operator=(const EnhancedNetworkSeviveAccessPointIDV_template& other_value);
boolean match(const EnhancedNetworkSeviveAccessPointIDV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
EnhancedNetworkSeviveAccessPointIDV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
EnhancedNetworkSeviveAccessPointIDV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& enhancedNetworkSeviveAccessPointIDValue();
const OCTETSTRING_template& enhancedNetworkSeviveAccessPointIDValue() const;
int size_of() const;
void log() const;
void log_match(const EnhancedNetworkSeviveAccessPointIDV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RequestTypeTV : public Base_Type {
  BITSTRING field_requestTypeV;
  BITSTRING field_spare;
  BITSTRING field_elementIdentifier;
public:
  RequestTypeTV();
  RequestTypeTV(const BITSTRING& par_requestTypeV,
    const BITSTRING& par_spare,
    const BITSTRING& par_elementIdentifier);
  RequestTypeTV(const RequestTypeTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RequestTypeTV& operator=(const RequestTypeTV& other_value);
  boolean operator==(const RequestTypeTV& other_value) const;
  inline boolean operator!=(const RequestTypeTV& 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& requestTypeV()
    {return field_requestTypeV;}
  inline const BITSTRING& requestTypeV() const
    {return field_requestTypeV;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 RequestTypeTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RequestTypeTV_template *list_value;
} value_list;
struct {
RequestTypeTV_template* precondition;
RequestTypeTV_template* implied_template;
} implication_;
dynmatch_struct<RequestTypeTV>* dyn_match;
};

void set_specific();
void copy_value(const RequestTypeTV& other_value);
void copy_template(const RequestTypeTV_template& other_value);

public:
RequestTypeTV_template();
RequestTypeTV_template(template_sel other_value);
RequestTypeTV_template(const RequestTypeTV& other_value);
RequestTypeTV_template(const OPTIONAL<RequestTypeTV>& other_value);
RequestTypeTV_template(RequestTypeTV_template* p_precondition, RequestTypeTV_template* p_implied_template);
RequestTypeTV_template(Dynamic_Match_Interface<RequestTypeTV>* p_dyn_match);
RequestTypeTV_template(const RequestTypeTV_template& other_value);
~RequestTypeTV_template();
RequestTypeTV_template& operator=(template_sel other_value);
RequestTypeTV_template& operator=(const RequestTypeTV& other_value);
RequestTypeTV_template& operator=(const OPTIONAL<RequestTypeTV>& other_value);
RequestTypeTV_template& operator=(const RequestTypeTV_template& other_value);
boolean match(const RequestTypeTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RequestTypeTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RequestTypeTV_template& list_item(unsigned int list_index) const;
BITSTRING_template& requestTypeV();
const BITSTRING_template& requestTypeV() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const RequestTypeTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NotificationIndicatorLV : public Base_Type {
  INTEGER field_lengthIndicator;
  OCTETSTRING field_valueField;
public:
  NotificationIndicatorLV();
  NotificationIndicatorLV(const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_valueField);
  NotificationIndicatorLV(const NotificationIndicatorLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NotificationIndicatorLV& operator=(const NotificationIndicatorLV& other_value);
  boolean operator==(const NotificationIndicatorLV& other_value) const;
  inline boolean operator!=(const NotificationIndicatorLV& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& valueField()
    {return field_valueField;}
  inline const OCTETSTRING& valueField() const
    {return field_valueField;}
  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 NotificationIndicatorLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NotificationIndicatorLV_template *list_value;
} value_list;
struct {
NotificationIndicatorLV_template* precondition;
NotificationIndicatorLV_template* implied_template;
} implication_;
dynmatch_struct<NotificationIndicatorLV>* dyn_match;
};

void set_specific();
void copy_value(const NotificationIndicatorLV& other_value);
void copy_template(const NotificationIndicatorLV_template& other_value);

public:
NotificationIndicatorLV_template();
NotificationIndicatorLV_template(template_sel other_value);
NotificationIndicatorLV_template(const NotificationIndicatorLV& other_value);
NotificationIndicatorLV_template(const OPTIONAL<NotificationIndicatorLV>& other_value);
NotificationIndicatorLV_template(NotificationIndicatorLV_template* p_precondition, NotificationIndicatorLV_template* p_implied_template);
NotificationIndicatorLV_template(Dynamic_Match_Interface<NotificationIndicatorLV>* p_dyn_match);
NotificationIndicatorLV_template(const NotificationIndicatorLV_template& other_value);
~NotificationIndicatorLV_template();
NotificationIndicatorLV_template& operator=(template_sel other_value);
NotificationIndicatorLV_template& operator=(const NotificationIndicatorLV& other_value);
NotificationIndicatorLV_template& operator=(const OPTIONAL<NotificationIndicatorLV>& other_value);
NotificationIndicatorLV_template& operator=(const NotificationIndicatorLV_template& other_value);
boolean match(const NotificationIndicatorLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NotificationIndicatorLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NotificationIndicatorLV_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& valueField();
const OCTETSTRING_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const NotificationIndicatorLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ConnectivityTypeTV : public Base_Type {
  BITSTRING field_connectivityTypeValue;
  BITSTRING field_elementIdentifier;
public:
  ConnectivityTypeTV();
  ConnectivityTypeTV(const BITSTRING& par_connectivityTypeValue,
    const BITSTRING& par_elementIdentifier);
  ConnectivityTypeTV(const ConnectivityTypeTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ConnectivityTypeTV& operator=(const ConnectivityTypeTV& other_value);
  boolean operator==(const ConnectivityTypeTV& other_value) const;
  inline boolean operator!=(const ConnectivityTypeTV& 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& connectivityTypeValue()
    {return field_connectivityTypeValue;}
  inline const BITSTRING& connectivityTypeValue() const
    {return field_connectivityTypeValue;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 ConnectivityTypeTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ConnectivityTypeTV_template *list_value;
} value_list;
struct {
ConnectivityTypeTV_template* precondition;
ConnectivityTypeTV_template* implied_template;
} implication_;
dynmatch_struct<ConnectivityTypeTV>* dyn_match;
};

void set_specific();
void copy_value(const ConnectivityTypeTV& other_value);
void copy_template(const ConnectivityTypeTV_template& other_value);

public:
ConnectivityTypeTV_template();
ConnectivityTypeTV_template(template_sel other_value);
ConnectivityTypeTV_template(const ConnectivityTypeTV& other_value);
ConnectivityTypeTV_template(const OPTIONAL<ConnectivityTypeTV>& other_value);
ConnectivityTypeTV_template(ConnectivityTypeTV_template* p_precondition, ConnectivityTypeTV_template* p_implied_template);
ConnectivityTypeTV_template(Dynamic_Match_Interface<ConnectivityTypeTV>* p_dyn_match);
ConnectivityTypeTV_template(const ConnectivityTypeTV_template& other_value);
~ConnectivityTypeTV_template();
ConnectivityTypeTV_template& operator=(template_sel other_value);
ConnectivityTypeTV_template& operator=(const ConnectivityTypeTV& other_value);
ConnectivityTypeTV_template& operator=(const OPTIONAL<ConnectivityTypeTV>& other_value);
ConnectivityTypeTV_template& operator=(const ConnectivityTypeTV_template& other_value);
boolean match(const ConnectivityTypeTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ConnectivityTypeTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ConnectivityTypeTV_template& list_item(unsigned int list_index) const;
BITSTRING_template& connectivityTypeValue();
const BITSTRING_template& connectivityTypeValue() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const ConnectivityTypeTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class WLANOffloadAcceptabilityTV : public Base_Type {
  BITSTRING field_eUTRANOffloadAcceptabilityValue;
  BITSTRING field_uTRANOffloadAcceptabilityValue;
  BITSTRING field_spare;
  BITSTRING field_elementIdentifier;
public:
  WLANOffloadAcceptabilityTV();
  WLANOffloadAcceptabilityTV(const BITSTRING& par_eUTRANOffloadAcceptabilityValue,
    const BITSTRING& par_uTRANOffloadAcceptabilityValue,
    const BITSTRING& par_spare,
    const BITSTRING& par_elementIdentifier);
  WLANOffloadAcceptabilityTV(const WLANOffloadAcceptabilityTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  WLANOffloadAcceptabilityTV& operator=(const WLANOffloadAcceptabilityTV& other_value);
  boolean operator==(const WLANOffloadAcceptabilityTV& other_value) const;
  inline boolean operator!=(const WLANOffloadAcceptabilityTV& 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& eUTRANOffloadAcceptabilityValue()
    {return field_eUTRANOffloadAcceptabilityValue;}
  inline const BITSTRING& eUTRANOffloadAcceptabilityValue() const
    {return field_eUTRANOffloadAcceptabilityValue;}
  inline BITSTRING& uTRANOffloadAcceptabilityValue()
    {return field_uTRANOffloadAcceptabilityValue;}
  inline const BITSTRING& uTRANOffloadAcceptabilityValue() const
    {return field_uTRANOffloadAcceptabilityValue;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 WLANOffloadAcceptabilityTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
WLANOffloadAcceptabilityTV_template *list_value;
} value_list;
struct {
WLANOffloadAcceptabilityTV_template* precondition;
WLANOffloadAcceptabilityTV_template* implied_template;
} implication_;
dynmatch_struct<WLANOffloadAcceptabilityTV>* dyn_match;
};

void set_specific();
void copy_value(const WLANOffloadAcceptabilityTV& other_value);
void copy_template(const WLANOffloadAcceptabilityTV_template& other_value);

public:
WLANOffloadAcceptabilityTV_template();
WLANOffloadAcceptabilityTV_template(template_sel other_value);
WLANOffloadAcceptabilityTV_template(const WLANOffloadAcceptabilityTV& other_value);
WLANOffloadAcceptabilityTV_template(const OPTIONAL<WLANOffloadAcceptabilityTV>& other_value);
WLANOffloadAcceptabilityTV_template(WLANOffloadAcceptabilityTV_template* p_precondition, WLANOffloadAcceptabilityTV_template* p_implied_template);
WLANOffloadAcceptabilityTV_template(Dynamic_Match_Interface<WLANOffloadAcceptabilityTV>* p_dyn_match);
WLANOffloadAcceptabilityTV_template(const WLANOffloadAcceptabilityTV_template& other_value);
~WLANOffloadAcceptabilityTV_template();
WLANOffloadAcceptabilityTV_template& operator=(template_sel other_value);
WLANOffloadAcceptabilityTV_template& operator=(const WLANOffloadAcceptabilityTV& other_value);
WLANOffloadAcceptabilityTV_template& operator=(const OPTIONAL<WLANOffloadAcceptabilityTV>& other_value);
WLANOffloadAcceptabilityTV_template& operator=(const WLANOffloadAcceptabilityTV_template& other_value);
boolean match(const WLANOffloadAcceptabilityTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
WLANOffloadAcceptabilityTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
WLANOffloadAcceptabilityTV_template& list_item(unsigned int list_index) const;
BITSTRING_template& eUTRANOffloadAcceptabilityValue();
const BITSTRING_template& eUTRANOffloadAcceptabilityValue() const;
BITSTRING_template& uTRANOffloadAcceptabilityValue();
const BITSTRING_template& uTRANOffloadAcceptabilityValue() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const WLANOffloadAcceptabilityTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NBIFOM__ParameterList : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
NBIFOM__Parameter **value_elements;
} *val_ptr;

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

public:
  typedef NBIFOM__Parameter of_type;
NBIFOM__ParameterList();
NBIFOM__ParameterList(null_type other_value);
NBIFOM__ParameterList(const NBIFOM__ParameterList& other_value);
~NBIFOM__ParameterList();

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

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

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

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

NBIFOM__ParameterList operator+(const NBIFOM__ParameterList& other_value) const;

NBIFOM__ParameterList substr(int index, int returncount) const;

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

NBIFOM__ParameterList replace(int index, int len, const NBIFOM__ParameterList_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 NBIFOM__ParameterList_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
NBIFOM__Parameter_template **value_elements;
} single_value;
struct {
unsigned int n_values;
NBIFOM__ParameterList_template *list_value;
} value_list;
struct {
NBIFOM__ParameterList_template* precondition;
NBIFOM__ParameterList_template* implied_template;
} implication_;
dynmatch_struct<NBIFOM__ParameterList>* dyn_match;
};
void copy_value(const NBIFOM__ParameterList& other_value);
void copy_template(const NBIFOM__ParameterList_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:
NBIFOM__ParameterList_template();
NBIFOM__ParameterList_template(template_sel other_value);
NBIFOM__ParameterList_template(null_type other_value);
NBIFOM__ParameterList_template(const NBIFOM__ParameterList& other_value);
NBIFOM__ParameterList_template(const OPTIONAL<NBIFOM__ParameterList>& other_value);
NBIFOM__ParameterList_template(NBIFOM__ParameterList_template* p_precondition, NBIFOM__ParameterList_template* p_implied_template);
NBIFOM__ParameterList_template(Dynamic_Match_Interface<NBIFOM__ParameterList>* p_dyn_match);
NBIFOM__ParameterList_template(const NBIFOM__ParameterList_template& other_value);
~NBIFOM__ParameterList_template();

void clean_up();
NBIFOM__ParameterList_template& operator=(template_sel other_value);
NBIFOM__ParameterList_template& operator=(null_type other_value);
NBIFOM__ParameterList_template& operator=(const NBIFOM__ParameterList& other_value);
NBIFOM__ParameterList_template& operator=(const OPTIONAL<NBIFOM__ParameterList>& other_value);
NBIFOM__ParameterList_template& operator=(const NBIFOM__ParameterList_template& other_value);

NBIFOM__Parameter_template& operator[](int index_value);
NBIFOM__Parameter_template& operator[](const INTEGER& index_value);
const NBIFOM__Parameter_template& operator[](int index_value) const;
const NBIFOM__Parameter_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 NBIFOM__ParameterList& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
NBIFOM__ParameterList valueof() const;
NBIFOM__ParameterList substr(int index, int returncount) const;

NBIFOM__ParameterList replace(int index, int len, const NBIFOM__ParameterList_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
NBIFOM__ParameterList_template& list_item(unsigned int list_index);
void log() const;
void log_match(const NBIFOM__ParameterList& 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;
boolean get_istemplate_kind(const char* type) const;
};

class NBIFOM__ParameterContents : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_nBIFOM__Mode = 1, ALT_nBIFOM__DefaultAccess = 2, ALT_nBIFOM__Status = 3, ALT_nBIFOM__RoutingRules = 4, ALT_nBIFOM__IPFlowMapping = 5, ALT_nBIFOM__RANRulesHandling = 6, ALT_nBIFOM__RANRulesStatus = 7, ALT_nBIFOM__AccessUsabilityIndication = 8, ALT_unknownParameter = 9 };
private:
union_selection_type union_selection;
union {
OCTETSTRING *field_nBIFOM__Mode;
OCTETSTRING *field_nBIFOM__DefaultAccess;
OCTETSTRING *field_nBIFOM__Status;
NBIFOM__RoutingRules *field_nBIFOM__RoutingRules;
NBIFOM__RoutingRules *field_nBIFOM__IPFlowMapping;
OCTETSTRING *field_nBIFOM__RANRulesHandling;
OCTETSTRING *field_nBIFOM__RANRulesStatus;
NBIFOM__AccessUsabilityIndication *field_nBIFOM__AccessUsabilityIndication;
OCTETSTRING *field_unknownParameter;
};
void copy_value(const NBIFOM__ParameterContents& other_value);

public:
NBIFOM__ParameterContents();
NBIFOM__ParameterContents(const NBIFOM__ParameterContents& other_value);
~NBIFOM__ParameterContents();
NBIFOM__ParameterContents& operator=(const NBIFOM__ParameterContents& other_value);
boolean operator==(const NBIFOM__ParameterContents& other_value) const;
inline boolean operator!=(const NBIFOM__ParameterContents& other_value) const { return !(*this == other_value); }
OCTETSTRING& nBIFOM__Mode();
const OCTETSTRING& nBIFOM__Mode() const;
OCTETSTRING& nBIFOM__DefaultAccess();
const OCTETSTRING& nBIFOM__DefaultAccess() const;
OCTETSTRING& nBIFOM__Status();
const OCTETSTRING& nBIFOM__Status() const;
NBIFOM__RoutingRules& nBIFOM__RoutingRules();
const NBIFOM__RoutingRules& nBIFOM__RoutingRules() const;
NBIFOM__RoutingRules& nBIFOM__IPFlowMapping();
const NBIFOM__RoutingRules& nBIFOM__IPFlowMapping() const;
OCTETSTRING& nBIFOM__RANRulesHandling();
const OCTETSTRING& nBIFOM__RANRulesHandling() const;
OCTETSTRING& nBIFOM__RANRulesStatus();
const OCTETSTRING& nBIFOM__RANRulesStatus() const;
NBIFOM__AccessUsabilityIndication& nBIFOM__AccessUsabilityIndication();
const NBIFOM__AccessUsabilityIndication& nBIFOM__AccessUsabilityIndication() const;
OCTETSTRING& unknownParameter();
const OCTETSTRING& unknownParameter() 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 NBIFOM__ParameterContents_template : public Base_Template {
union {
struct {
NBIFOM__ParameterContents::union_selection_type union_selection;
union {
OCTETSTRING_template *field_nBIFOM__Mode;
OCTETSTRING_template *field_nBIFOM__DefaultAccess;
OCTETSTRING_template *field_nBIFOM__Status;
NBIFOM__RoutingRules_template *field_nBIFOM__RoutingRules;
NBIFOM__RoutingRules_template *field_nBIFOM__IPFlowMapping;
OCTETSTRING_template *field_nBIFOM__RANRulesHandling;
OCTETSTRING_template *field_nBIFOM__RANRulesStatus;
NBIFOM__AccessUsabilityIndication_template *field_nBIFOM__AccessUsabilityIndication;
OCTETSTRING_template *field_unknownParameter;
};
} single_value;
struct {
unsigned int n_values;
NBIFOM__ParameterContents_template *list_value;
} value_list;
struct {
NBIFOM__ParameterContents_template* precondition;
NBIFOM__ParameterContents_template* implied_template;
} implication_;
dynmatch_struct<NBIFOM__ParameterContents>* dyn_match;
};
void copy_value(const NBIFOM__ParameterContents& other_value);

void copy_template(const NBIFOM__ParameterContents_template& other_value);

public:
NBIFOM__ParameterContents_template();
NBIFOM__ParameterContents_template(template_sel other_value);
NBIFOM__ParameterContents_template(const NBIFOM__ParameterContents& other_value);
NBIFOM__ParameterContents_template(const OPTIONAL<NBIFOM__ParameterContents>& other_value);
NBIFOM__ParameterContents_template(NBIFOM__ParameterContents_template* p_precondition, NBIFOM__ParameterContents_template* p_implied_template);
NBIFOM__ParameterContents_template(Dynamic_Match_Interface<NBIFOM__ParameterContents>* p_dyn_match);
NBIFOM__ParameterContents_template(const NBIFOM__ParameterContents_template& other_value);
~NBIFOM__ParameterContents_template();
void clean_up();
NBIFOM__ParameterContents_template& operator=(template_sel other_value);
NBIFOM__ParameterContents_template& operator=(const NBIFOM__ParameterContents& other_value);
NBIFOM__ParameterContents_template& operator=(const OPTIONAL<NBIFOM__ParameterContents>& other_value);
NBIFOM__ParameterContents_template& operator=(const NBIFOM__ParameterContents_template& other_value);
boolean match(const NBIFOM__ParameterContents& other_value, boolean legacy = FALSE) const;
boolean is_value() const;NBIFOM__ParameterContents valueof() const;
NBIFOM__ParameterContents_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
OCTETSTRING_template& nBIFOM__Mode();
const OCTETSTRING_template& nBIFOM__Mode() const;
OCTETSTRING_template& nBIFOM__DefaultAccess();
const OCTETSTRING_template& nBIFOM__DefaultAccess() const;
OCTETSTRING_template& nBIFOM__Status();
const OCTETSTRING_template& nBIFOM__Status() const;
NBIFOM__RoutingRules_template& nBIFOM__RoutingRules();
const NBIFOM__RoutingRules_template& nBIFOM__RoutingRules() const;
NBIFOM__RoutingRules_template& nBIFOM__IPFlowMapping();
const NBIFOM__RoutingRules_template& nBIFOM__IPFlowMapping() const;
OCTETSTRING_template& nBIFOM__RANRulesHandling();
const OCTETSTRING_template& nBIFOM__RANRulesHandling() const;
OCTETSTRING_template& nBIFOM__RANRulesStatus();
const OCTETSTRING_template& nBIFOM__RANRulesStatus() const;
NBIFOM__AccessUsabilityIndication_template& nBIFOM__AccessUsabilityIndication();
const NBIFOM__AccessUsabilityIndication_template& nBIFOM__AccessUsabilityIndication() const;
OCTETSTRING_template& unknownParameter();
const OCTETSTRING_template& unknownParameter() const;
boolean ischosen(NBIFOM__ParameterContents::union_selection_type checked_selection) const;
void log() const;
void log_match(const NBIFOM__ParameterContents& 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 NBIFOM__RoutingRules : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
NBIFOM__RoutingRule **value_elements;
} *val_ptr;

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

public:
  typedef NBIFOM__RoutingRule of_type;
NBIFOM__RoutingRules();
NBIFOM__RoutingRules(null_type other_value);
NBIFOM__RoutingRules(const NBIFOM__RoutingRules& other_value);
~NBIFOM__RoutingRules();

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

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

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

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

NBIFOM__RoutingRules operator+(const NBIFOM__RoutingRules& other_value) const;

NBIFOM__RoutingRules substr(int index, int returncount) const;

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

NBIFOM__RoutingRules replace(int index, int len, const NBIFOM__RoutingRules_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 NBIFOM__RoutingRules_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
NBIFOM__RoutingRule_template **value_elements;
} single_value;
struct {
unsigned int n_values;
NBIFOM__RoutingRules_template *list_value;
} value_list;
struct {
NBIFOM__RoutingRules_template* precondition;
NBIFOM__RoutingRules_template* implied_template;
} implication_;
dynmatch_struct<NBIFOM__RoutingRules>* dyn_match;
};
void copy_value(const NBIFOM__RoutingRules& other_value);
void copy_template(const NBIFOM__RoutingRules_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:
NBIFOM__RoutingRules_template();
NBIFOM__RoutingRules_template(template_sel other_value);
NBIFOM__RoutingRules_template(null_type other_value);
NBIFOM__RoutingRules_template(const NBIFOM__RoutingRules& other_value);
NBIFOM__RoutingRules_template(const OPTIONAL<NBIFOM__RoutingRules>& other_value);
NBIFOM__RoutingRules_template(NBIFOM__RoutingRules_template* p_precondition, NBIFOM__RoutingRules_template* p_implied_template);
NBIFOM__RoutingRules_template(Dynamic_Match_Interface<NBIFOM__RoutingRules>* p_dyn_match);
NBIFOM__RoutingRules_template(const NBIFOM__RoutingRules_template& other_value);
~NBIFOM__RoutingRules_template();

void clean_up();
NBIFOM__RoutingRules_template& operator=(template_sel other_value);
NBIFOM__RoutingRules_template& operator=(null_type other_value);
NBIFOM__RoutingRules_template& operator=(const NBIFOM__RoutingRules& other_value);
NBIFOM__RoutingRules_template& operator=(const OPTIONAL<NBIFOM__RoutingRules>& other_value);
NBIFOM__RoutingRules_template& operator=(const NBIFOM__RoutingRules_template& other_value);

NBIFOM__RoutingRule_template& operator[](int index_value);
NBIFOM__RoutingRule_template& operator[](const INTEGER& index_value);
const NBIFOM__RoutingRule_template& operator[](int index_value) const;
const NBIFOM__RoutingRule_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 NBIFOM__RoutingRules& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
NBIFOM__RoutingRules valueof() const;
NBIFOM__RoutingRules substr(int index, int returncount) const;

NBIFOM__RoutingRules replace(int index, int len, const NBIFOM__RoutingRules_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
NBIFOM__RoutingRules_template& list_item(unsigned int list_index);
void log() const;
void log_match(const NBIFOM__RoutingRules& 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;
boolean get_istemplate_kind(const char* type) const;
};

class RoutingFilter : public Base_Type {
  BITSTRING field_flagA;
  BITSTRING field_flagB;
  BITSTRING field_flagC;
  BITSTRING field_flagD;
  BITSTRING field_flagE;
  BITSTRING field_flagF;
  BITSTRING field_flagG;
  BITSTRING field_flagH;
  BITSTRING field_flagI;
  BITSTRING field_flagJ;
  BITSTRING field_flagK;
  BITSTRING field_flagL;
  BITSTRING field_flagM;
  BITSTRING field_flagN;
  BITSTRING field_flagsZ;
  OPTIONAL< OCTETSTRING > field_sourceIPv4Address;
  OPTIONAL< OCTETSTRING > field_destinationIPv4Address;
  OPTIONAL< OCTETSTRING > field_sourceIPv6Address;
  OPTIONAL< OCTETSTRING > field_destinationIPv6Address;
  OPTIONAL< OCTETSTRING > field_sourceAddressPrefixLength;
  OPTIONAL< OCTETSTRING > field_destinationAddressPrefixLength;
  OPTIONAL< OCTETSTRING > field_iPSecSecurityParameterIndex;
  OPTIONAL< OCTETSTRING > field_protocolTypeNextHeader;
  OPTIONAL< OCTETSTRING > field_startSourcePortRange;
  OPTIONAL< OCTETSTRING > field_endSourcePortRange;
  OPTIONAL< OCTETSTRING > field_startDestinationPortRange;
  OPTIONAL< OCTETSTRING > field_endDestinationPortRange;
  OPTIONAL< OCTETSTRING > field_typeOfService;
  OPTIONAL< OCTETSTRING > field_flowLabel;
public:
  RoutingFilter();
  RoutingFilter(const BITSTRING& par_flagA,
    const BITSTRING& par_flagB,
    const BITSTRING& par_flagC,
    const BITSTRING& par_flagD,
    const BITSTRING& par_flagE,
    const BITSTRING& par_flagF,
    const BITSTRING& par_flagG,
    const BITSTRING& par_flagH,
    const BITSTRING& par_flagI,
    const BITSTRING& par_flagJ,
    const BITSTRING& par_flagK,
    const BITSTRING& par_flagL,
    const BITSTRING& par_flagM,
    const BITSTRING& par_flagN,
    const BITSTRING& par_flagsZ,
    const OPTIONAL< OCTETSTRING >& par_sourceIPv4Address,
    const OPTIONAL< OCTETSTRING >& par_destinationIPv4Address,
    const OPTIONAL< OCTETSTRING >& par_sourceIPv6Address,
    const OPTIONAL< OCTETSTRING >& par_destinationIPv6Address,
    const OPTIONAL< OCTETSTRING >& par_sourceAddressPrefixLength,
    const OPTIONAL< OCTETSTRING >& par_destinationAddressPrefixLength,
    const OPTIONAL< OCTETSTRING >& par_iPSecSecurityParameterIndex,
    const OPTIONAL< OCTETSTRING >& par_protocolTypeNextHeader,
    const OPTIONAL< OCTETSTRING >& par_startSourcePortRange,
    const OPTIONAL< OCTETSTRING >& par_endSourcePortRange,
    const OPTIONAL< OCTETSTRING >& par_startDestinationPortRange,
    const OPTIONAL< OCTETSTRING >& par_endDestinationPortRange,
    const OPTIONAL< OCTETSTRING >& par_typeOfService,
    const OPTIONAL< OCTETSTRING >& par_flowLabel);
  RoutingFilter(const RoutingFilter& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RoutingFilter& operator=(const RoutingFilter& other_value);
  boolean operator==(const RoutingFilter& other_value) const;
  inline boolean operator!=(const RoutingFilter& 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& flagA()
    {return field_flagA;}
  inline const BITSTRING& flagA() const
    {return field_flagA;}
  inline BITSTRING& flagB()
    {return field_flagB;}
  inline const BITSTRING& flagB() const
    {return field_flagB;}
  inline BITSTRING& flagC()
    {return field_flagC;}
  inline const BITSTRING& flagC() const
    {return field_flagC;}
  inline BITSTRING& flagD()
    {return field_flagD;}
  inline const BITSTRING& flagD() const
    {return field_flagD;}
  inline BITSTRING& flagE()
    {return field_flagE;}
  inline const BITSTRING& flagE() const
    {return field_flagE;}
  inline BITSTRING& flagF()
    {return field_flagF;}
  inline const BITSTRING& flagF() const
    {return field_flagF;}
  inline BITSTRING& flagG()
    {return field_flagG;}
  inline const BITSTRING& flagG() const
    {return field_flagG;}
  inline BITSTRING& flagH()
    {return field_flagH;}
  inline const BITSTRING& flagH() const
    {return field_flagH;}
  inline BITSTRING& flagI()
    {return field_flagI;}
  inline const BITSTRING& flagI() const
    {return field_flagI;}
  inline BITSTRING& flagJ()
    {return field_flagJ;}
  inline const BITSTRING& flagJ() const
    {return field_flagJ;}
  inline BITSTRING& flagK()
    {return field_flagK;}
  inline const BITSTRING& flagK() const
    {return field_flagK;}
  inline BITSTRING& flagL()
    {return field_flagL;}
  inline const BITSTRING& flagL() const
    {return field_flagL;}
  inline BITSTRING& flagM()
    {return field_flagM;}
  inline const BITSTRING& flagM() const
    {return field_flagM;}
  inline BITSTRING& flagN()
    {return field_flagN;}
  inline const BITSTRING& flagN() const
    {return field_flagN;}
  inline BITSTRING& flagsZ()
    {return field_flagsZ;}
  inline const BITSTRING& flagsZ() const
    {return field_flagsZ;}
  inline OPTIONAL< OCTETSTRING >& sourceIPv4Address()
    {return field_sourceIPv4Address;}
  inline const OPTIONAL< OCTETSTRING >& sourceIPv4Address() const
    {return field_sourceIPv4Address;}
  inline OPTIONAL< OCTETSTRING >& destinationIPv4Address()
    {return field_destinationIPv4Address;}
  inline const OPTIONAL< OCTETSTRING >& destinationIPv4Address() const
    {return field_destinationIPv4Address;}
  inline OPTIONAL< OCTETSTRING >& sourceIPv6Address()
    {return field_sourceIPv6Address;}
  inline const OPTIONAL< OCTETSTRING >& sourceIPv6Address() const
    {return field_sourceIPv6Address;}
  inline OPTIONAL< OCTETSTRING >& destinationIPv6Address()
    {return field_destinationIPv6Address;}
  inline const OPTIONAL< OCTETSTRING >& destinationIPv6Address() const
    {return field_destinationIPv6Address;}
  inline OPTIONAL< OCTETSTRING >& sourceAddressPrefixLength()
    {return field_sourceAddressPrefixLength;}
  inline const OPTIONAL< OCTETSTRING >& sourceAddressPrefixLength() const
    {return field_sourceAddressPrefixLength;}
  inline OPTIONAL< OCTETSTRING >& destinationAddressPrefixLength()
    {return field_destinationAddressPrefixLength;}
  inline const OPTIONAL< OCTETSTRING >& destinationAddressPrefixLength() const
    {return field_destinationAddressPrefixLength;}
  inline OPTIONAL< OCTETSTRING >& iPSecSecurityParameterIndex()
    {return field_iPSecSecurityParameterIndex;}
  inline const OPTIONAL< OCTETSTRING >& iPSecSecurityParameterIndex() const
    {return field_iPSecSecurityParameterIndex;}
  inline OPTIONAL< OCTETSTRING >& protocolTypeNextHeader()
    {return field_protocolTypeNextHeader;}
  inline const OPTIONAL< OCTETSTRING >& protocolTypeNextHeader() const
    {return field_protocolTypeNextHeader;}
  inline OPTIONAL< OCTETSTRING >& startSourcePortRange()
    {return field_startSourcePortRange;}
  inline const OPTIONAL< OCTETSTRING >& startSourcePortRange() const
    {return field_startSourcePortRange;}
  inline OPTIONAL< OCTETSTRING >& endSourcePortRange()
    {return field_endSourcePortRange;}
  inline const OPTIONAL< OCTETSTRING >& endSourcePortRange() const
    {return field_endSourcePortRange;}
  inline OPTIONAL< OCTETSTRING >& startDestinationPortRange()
    {return field_startDestinationPortRange;}
  inline const OPTIONAL< OCTETSTRING >& startDestinationPortRange() const
    {return field_startDestinationPortRange;}
  inline OPTIONAL< OCTETSTRING >& endDestinationPortRange()
    {return field_endDestinationPortRange;}
  inline const OPTIONAL< OCTETSTRING >& endDestinationPortRange() const
    {return field_endDestinationPortRange;}
  inline OPTIONAL< OCTETSTRING >& typeOfService()
    {return field_typeOfService;}
  inline const OPTIONAL< OCTETSTRING >& typeOfService() const
    {return field_typeOfService;}
  inline OPTIONAL< OCTETSTRING >& flowLabel()
    {return field_flowLabel;}
  inline const OPTIONAL< OCTETSTRING >& flowLabel() const
    {return field_flowLabel;}
  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 RoutingFilter_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RoutingFilter_template *list_value;
} value_list;
struct {
RoutingFilter_template* precondition;
RoutingFilter_template* implied_template;
} implication_;
dynmatch_struct<RoutingFilter>* dyn_match;
};

void set_specific();
void copy_value(const RoutingFilter& other_value);
void copy_template(const RoutingFilter_template& other_value);

public:
RoutingFilter_template();
RoutingFilter_template(template_sel other_value);
RoutingFilter_template(const RoutingFilter& other_value);
RoutingFilter_template(const OPTIONAL<RoutingFilter>& other_value);
RoutingFilter_template(RoutingFilter_template* p_precondition, RoutingFilter_template* p_implied_template);
RoutingFilter_template(Dynamic_Match_Interface<RoutingFilter>* p_dyn_match);
RoutingFilter_template(const RoutingFilter_template& other_value);
~RoutingFilter_template();
RoutingFilter_template& operator=(template_sel other_value);
RoutingFilter_template& operator=(const RoutingFilter& other_value);
RoutingFilter_template& operator=(const OPTIONAL<RoutingFilter>& other_value);
RoutingFilter_template& operator=(const RoutingFilter_template& other_value);
boolean match(const RoutingFilter& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RoutingFilter valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RoutingFilter_template& list_item(unsigned int list_index) const;
BITSTRING_template& flagA();
const BITSTRING_template& flagA() const;
BITSTRING_template& flagB();
const BITSTRING_template& flagB() const;
BITSTRING_template& flagC();
const BITSTRING_template& flagC() const;
BITSTRING_template& flagD();
const BITSTRING_template& flagD() const;
BITSTRING_template& flagE();
const BITSTRING_template& flagE() const;
BITSTRING_template& flagF();
const BITSTRING_template& flagF() const;
BITSTRING_template& flagG();
const BITSTRING_template& flagG() const;
BITSTRING_template& flagH();
const BITSTRING_template& flagH() const;
BITSTRING_template& flagI();
const BITSTRING_template& flagI() const;
BITSTRING_template& flagJ();
const BITSTRING_template& flagJ() const;
BITSTRING_template& flagK();
const BITSTRING_template& flagK() const;
BITSTRING_template& flagL();
const BITSTRING_template& flagL() const;
BITSTRING_template& flagM();
const BITSTRING_template& flagM() const;
BITSTRING_template& flagN();
const BITSTRING_template& flagN() const;
BITSTRING_template& flagsZ();
const BITSTRING_template& flagsZ() const;
OCTETSTRING_template& sourceIPv4Address();
const OCTETSTRING_template& sourceIPv4Address() const;
OCTETSTRING_template& destinationIPv4Address();
const OCTETSTRING_template& destinationIPv4Address() const;
OCTETSTRING_template& sourceIPv6Address();
const OCTETSTRING_template& sourceIPv6Address() const;
OCTETSTRING_template& destinationIPv6Address();
const OCTETSTRING_template& destinationIPv6Address() const;
OCTETSTRING_template& sourceAddressPrefixLength();
const OCTETSTRING_template& sourceAddressPrefixLength() const;
OCTETSTRING_template& destinationAddressPrefixLength();
const OCTETSTRING_template& destinationAddressPrefixLength() const;
OCTETSTRING_template& iPSecSecurityParameterIndex();
const OCTETSTRING_template& iPSecSecurityParameterIndex() const;
OCTETSTRING_template& protocolTypeNextHeader();
const OCTETSTRING_template& protocolTypeNextHeader() const;
OCTETSTRING_template& startSourcePortRange();
const OCTETSTRING_template& startSourcePortRange() const;
OCTETSTRING_template& endSourcePortRange();
const OCTETSTRING_template& endSourcePortRange() const;
OCTETSTRING_template& startDestinationPortRange();
const OCTETSTRING_template& startDestinationPortRange() const;
OCTETSTRING_template& endDestinationPortRange();
const OCTETSTRING_template& endDestinationPortRange() const;
OCTETSTRING_template& typeOfService();
const OCTETSTRING_template& typeOfService() const;
OCTETSTRING_template& flowLabel();
const OCTETSTRING_template& flowLabel() const;
int size_of() const;
void log() const;
void log_match(const RoutingFilter& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NBIFOM__RoutingRule : public Base_Type {
  INTEGER field_lengthIndicator;
  OCTETSTRING field_routingRuleIdentifier;
  BITSTRING field_operationCode;
  BITSTRING field_spare;
  BITSTRING field_routingAccess;
  OCTETSTRING field_routingRulePrioroty;
  RoutingFilter field_routingFilter;
public:
  NBIFOM__RoutingRule();
  NBIFOM__RoutingRule(const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_routingRuleIdentifier,
    const BITSTRING& par_operationCode,
    const BITSTRING& par_spare,
    const BITSTRING& par_routingAccess,
    const OCTETSTRING& par_routingRulePrioroty,
    const RoutingFilter& par_routingFilter);
  NBIFOM__RoutingRule(const NBIFOM__RoutingRule& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NBIFOM__RoutingRule& operator=(const NBIFOM__RoutingRule& other_value);
  boolean operator==(const NBIFOM__RoutingRule& other_value) const;
  inline boolean operator!=(const NBIFOM__RoutingRule& 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& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& routingRuleIdentifier()
    {return field_routingRuleIdentifier;}
  inline const OCTETSTRING& routingRuleIdentifier() const
    {return field_routingRuleIdentifier;}
  inline BITSTRING& operationCode()
    {return field_operationCode;}
  inline const BITSTRING& operationCode() const
    {return field_operationCode;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline BITSTRING& routingAccess()
    {return field_routingAccess;}
  inline const BITSTRING& routingAccess() const
    {return field_routingAccess;}
  inline OCTETSTRING& routingRulePrioroty()
    {return field_routingRulePrioroty;}
  inline const OCTETSTRING& routingRulePrioroty() const
    {return field_routingRulePrioroty;}
  inline RoutingFilter& routingFilter()
    {return field_routingFilter;}
  inline const RoutingFilter& routingFilter() const
    {return field_routingFilter;}
  inline int size_of() const
    {return 7;}
  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 NBIFOM__RoutingRule_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NBIFOM__RoutingRule_template *list_value;
} value_list;
struct {
NBIFOM__RoutingRule_template* precondition;
NBIFOM__RoutingRule_template* implied_template;
} implication_;
dynmatch_struct<NBIFOM__RoutingRule>* dyn_match;
};

void set_specific();
void copy_value(const NBIFOM__RoutingRule& other_value);
void copy_template(const NBIFOM__RoutingRule_template& other_value);

public:
NBIFOM__RoutingRule_template();
NBIFOM__RoutingRule_template(template_sel other_value);
NBIFOM__RoutingRule_template(const NBIFOM__RoutingRule& other_value);
NBIFOM__RoutingRule_template(const OPTIONAL<NBIFOM__RoutingRule>& other_value);
NBIFOM__RoutingRule_template(NBIFOM__RoutingRule_template* p_precondition, NBIFOM__RoutingRule_template* p_implied_template);
NBIFOM__RoutingRule_template(Dynamic_Match_Interface<NBIFOM__RoutingRule>* p_dyn_match);
NBIFOM__RoutingRule_template(const NBIFOM__RoutingRule_template& other_value);
~NBIFOM__RoutingRule_template();
NBIFOM__RoutingRule_template& operator=(template_sel other_value);
NBIFOM__RoutingRule_template& operator=(const NBIFOM__RoutingRule& other_value);
NBIFOM__RoutingRule_template& operator=(const OPTIONAL<NBIFOM__RoutingRule>& other_value);
NBIFOM__RoutingRule_template& operator=(const NBIFOM__RoutingRule_template& other_value);
boolean match(const NBIFOM__RoutingRule& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NBIFOM__RoutingRule valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NBIFOM__RoutingRule_template& list_item(unsigned int list_index) const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& routingRuleIdentifier();
const OCTETSTRING_template& routingRuleIdentifier() const;
BITSTRING_template& operationCode();
const BITSTRING_template& operationCode() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BITSTRING_template& routingAccess();
const BITSTRING_template& routingAccess() const;
OCTETSTRING_template& routingRulePrioroty();
const OCTETSTRING_template& routingRulePrioroty() const;
RoutingFilter_template& routingFilter();
const RoutingFilter_template& routingFilter() const;
int size_of() const;
void log() const;
void log_match(const NBIFOM__RoutingRule& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NBIFOM__AccessUsabilityIndication : public Base_Type {
  BITSTRING field_threeGPPAccessUsableValue;
  BITSTRING field_wLANAccessUsableValue;
  BITSTRING field_spare;
public:
  NBIFOM__AccessUsabilityIndication();
  NBIFOM__AccessUsabilityIndication(const BITSTRING& par_threeGPPAccessUsableValue,
    const BITSTRING& par_wLANAccessUsableValue,
    const BITSTRING& par_spare);
  NBIFOM__AccessUsabilityIndication(const NBIFOM__AccessUsabilityIndication& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NBIFOM__AccessUsabilityIndication& operator=(const NBIFOM__AccessUsabilityIndication& other_value);
  boolean operator==(const NBIFOM__AccessUsabilityIndication& other_value) const;
  inline boolean operator!=(const NBIFOM__AccessUsabilityIndication& 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& threeGPPAccessUsableValue()
    {return field_threeGPPAccessUsableValue;}
  inline const BITSTRING& threeGPPAccessUsableValue() const
    {return field_threeGPPAccessUsableValue;}
  inline BITSTRING& wLANAccessUsableValue()
    {return field_wLANAccessUsableValue;}
  inline const BITSTRING& wLANAccessUsableValue() const
    {return field_wLANAccessUsableValue;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 NBIFOM__AccessUsabilityIndication_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NBIFOM__AccessUsabilityIndication_template *list_value;
} value_list;
struct {
NBIFOM__AccessUsabilityIndication_template* precondition;
NBIFOM__AccessUsabilityIndication_template* implied_template;
} implication_;
dynmatch_struct<NBIFOM__AccessUsabilityIndication>* dyn_match;
};

void set_specific();
void copy_value(const NBIFOM__AccessUsabilityIndication& other_value);
void copy_template(const NBIFOM__AccessUsabilityIndication_template& other_value);

public:
NBIFOM__AccessUsabilityIndication_template();
NBIFOM__AccessUsabilityIndication_template(template_sel other_value);
NBIFOM__AccessUsabilityIndication_template(const NBIFOM__AccessUsabilityIndication& other_value);
NBIFOM__AccessUsabilityIndication_template(const OPTIONAL<NBIFOM__AccessUsabilityIndication>& other_value);
NBIFOM__AccessUsabilityIndication_template(NBIFOM__AccessUsabilityIndication_template* p_precondition, NBIFOM__AccessUsabilityIndication_template* p_implied_template);
NBIFOM__AccessUsabilityIndication_template(Dynamic_Match_Interface<NBIFOM__AccessUsabilityIndication>* p_dyn_match);
NBIFOM__AccessUsabilityIndication_template(const NBIFOM__AccessUsabilityIndication_template& other_value);
~NBIFOM__AccessUsabilityIndication_template();
NBIFOM__AccessUsabilityIndication_template& operator=(template_sel other_value);
NBIFOM__AccessUsabilityIndication_template& operator=(const NBIFOM__AccessUsabilityIndication& other_value);
NBIFOM__AccessUsabilityIndication_template& operator=(const OPTIONAL<NBIFOM__AccessUsabilityIndication>& other_value);
NBIFOM__AccessUsabilityIndication_template& operator=(const NBIFOM__AccessUsabilityIndication_template& other_value);
boolean match(const NBIFOM__AccessUsabilityIndication& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NBIFOM__AccessUsabilityIndication valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NBIFOM__AccessUsabilityIndication_template& list_item(unsigned int list_index) const;
BITSTRING_template& threeGPPAccessUsableValue();
const BITSTRING_template& threeGPPAccessUsableValue() const;
BITSTRING_template& wLANAccessUsableValue();
const BITSTRING_template& wLANAccessUsableValue() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const NBIFOM__AccessUsabilityIndication& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NBIFOM__Parameter : public Base_Type {
  OCTETSTRING field_parameterIdentifier;
  INTEGER field_lengthIndicator;
  NBIFOM__ParameterContents field_parameterContents;
public:
  NBIFOM__Parameter();
  NBIFOM__Parameter(const OCTETSTRING& par_parameterIdentifier,
    const INTEGER& par_lengthIndicator,
    const NBIFOM__ParameterContents& par_parameterContents);
  NBIFOM__Parameter(const NBIFOM__Parameter& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NBIFOM__Parameter& operator=(const NBIFOM__Parameter& other_value);
  boolean operator==(const NBIFOM__Parameter& other_value) const;
  inline boolean operator!=(const NBIFOM__Parameter& 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& parameterIdentifier()
    {return field_parameterIdentifier;}
  inline const OCTETSTRING& parameterIdentifier() const
    {return field_parameterIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline NBIFOM__ParameterContents& parameterContents()
    {return field_parameterContents;}
  inline const NBIFOM__ParameterContents& parameterContents() const
    {return field_parameterContents;}
  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 NBIFOM__Parameter_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NBIFOM__Parameter_template *list_value;
} value_list;
struct {
NBIFOM__Parameter_template* precondition;
NBIFOM__Parameter_template* implied_template;
} implication_;
dynmatch_struct<NBIFOM__Parameter>* dyn_match;
};

void set_specific();
void copy_value(const NBIFOM__Parameter& other_value);
void copy_template(const NBIFOM__Parameter_template& other_value);

public:
NBIFOM__Parameter_template();
NBIFOM__Parameter_template(template_sel other_value);
NBIFOM__Parameter_template(const NBIFOM__Parameter& other_value);
NBIFOM__Parameter_template(const OPTIONAL<NBIFOM__Parameter>& other_value);
NBIFOM__Parameter_template(NBIFOM__Parameter_template* p_precondition, NBIFOM__Parameter_template* p_implied_template);
NBIFOM__Parameter_template(Dynamic_Match_Interface<NBIFOM__Parameter>* p_dyn_match);
NBIFOM__Parameter_template(const NBIFOM__Parameter_template& other_value);
~NBIFOM__Parameter_template();
NBIFOM__Parameter_template& operator=(template_sel other_value);
NBIFOM__Parameter_template& operator=(const NBIFOM__Parameter& other_value);
NBIFOM__Parameter_template& operator=(const OPTIONAL<NBIFOM__Parameter>& other_value);
NBIFOM__Parameter_template& operator=(const NBIFOM__Parameter_template& other_value);
boolean match(const NBIFOM__Parameter& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NBIFOM__Parameter valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NBIFOM__Parameter_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& parameterIdentifier();
const OCTETSTRING_template& parameterIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
NBIFOM__ParameterContents_template& parameterContents();
const NBIFOM__ParameterContents_template& parameterContents() const;
int size_of() const;
void log() const;
void log_match(const NBIFOM__Parameter& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class NBIFOM__ContainerTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  NBIFOM__ParameterList field_contents;
public:
  NBIFOM__ContainerTLV();
  NBIFOM__ContainerTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const NBIFOM__ParameterList& par_contents);
  NBIFOM__ContainerTLV(const NBIFOM__ContainerTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NBIFOM__ContainerTLV& operator=(const NBIFOM__ContainerTLV& other_value);
  boolean operator==(const NBIFOM__ContainerTLV& other_value) const;
  inline boolean operator!=(const NBIFOM__ContainerTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline NBIFOM__ParameterList& contents()
    {return field_contents;}
  inline const NBIFOM__ParameterList& contents() const
    {return field_contents;}
  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 NBIFOM__ContainerTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NBIFOM__ContainerTLV_template *list_value;
} value_list;
struct {
NBIFOM__ContainerTLV_template* precondition;
NBIFOM__ContainerTLV_template* implied_template;
} implication_;
dynmatch_struct<NBIFOM__ContainerTLV>* dyn_match;
};

void set_specific();
void copy_value(const NBIFOM__ContainerTLV& other_value);
void copy_template(const NBIFOM__ContainerTLV_template& other_value);

public:
NBIFOM__ContainerTLV_template();
NBIFOM__ContainerTLV_template(template_sel other_value);
NBIFOM__ContainerTLV_template(const NBIFOM__ContainerTLV& other_value);
NBIFOM__ContainerTLV_template(const OPTIONAL<NBIFOM__ContainerTLV>& other_value);
NBIFOM__ContainerTLV_template(NBIFOM__ContainerTLV_template* p_precondition, NBIFOM__ContainerTLV_template* p_implied_template);
NBIFOM__ContainerTLV_template(Dynamic_Match_Interface<NBIFOM__ContainerTLV>* p_dyn_match);
NBIFOM__ContainerTLV_template(const NBIFOM__ContainerTLV_template& other_value);
~NBIFOM__ContainerTLV_template();
NBIFOM__ContainerTLV_template& operator=(template_sel other_value);
NBIFOM__ContainerTLV_template& operator=(const NBIFOM__ContainerTLV& other_value);
NBIFOM__ContainerTLV_template& operator=(const OPTIONAL<NBIFOM__ContainerTLV>& other_value);
NBIFOM__ContainerTLV_template& operator=(const NBIFOM__ContainerTLV_template& other_value);
boolean match(const NBIFOM__ContainerTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NBIFOM__ContainerTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NBIFOM__ContainerTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
NBIFOM__ParameterList_template& contents();
const NBIFOM__ParameterList_template& contents() const;
int size_of() const;
void log() const;
void log_match(const NBIFOM__ContainerTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDPContextStatusTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_valueField;
public:
  PDPContextStatusTLV();
  PDPContextStatusTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_valueField);
  PDPContextStatusTLV(const PDPContextStatusTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDPContextStatusTLV& operator=(const PDPContextStatusTLV& other_value);
  boolean operator==(const PDPContextStatusTLV& other_value) const;
  inline boolean operator!=(const PDPContextStatusTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& valueField()
    {return field_valueField;}
  inline const OCTETSTRING& valueField() const
    {return field_valueField;}
  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 PDPContextStatusTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDPContextStatusTLV_template *list_value;
} value_list;
struct {
PDPContextStatusTLV_template* precondition;
PDPContextStatusTLV_template* implied_template;
} implication_;
dynmatch_struct<PDPContextStatusTLV>* dyn_match;
};

void set_specific();
void copy_value(const PDPContextStatusTLV& other_value);
void copy_template(const PDPContextStatusTLV_template& other_value);

public:
PDPContextStatusTLV_template();
PDPContextStatusTLV_template(template_sel other_value);
PDPContextStatusTLV_template(const PDPContextStatusTLV& other_value);
PDPContextStatusTLV_template(const OPTIONAL<PDPContextStatusTLV>& other_value);
PDPContextStatusTLV_template(PDPContextStatusTLV_template* p_precondition, PDPContextStatusTLV_template* p_implied_template);
PDPContextStatusTLV_template(Dynamic_Match_Interface<PDPContextStatusTLV>* p_dyn_match);
PDPContextStatusTLV_template(const PDPContextStatusTLV_template& other_value);
~PDPContextStatusTLV_template();
PDPContextStatusTLV_template& operator=(template_sel other_value);
PDPContextStatusTLV_template& operator=(const PDPContextStatusTLV& other_value);
PDPContextStatusTLV_template& operator=(const OPTIONAL<PDPContextStatusTLV>& other_value);
PDPContextStatusTLV_template& operator=(const PDPContextStatusTLV_template& other_value);
boolean match(const PDPContextStatusTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDPContextStatusTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDPContextStatusTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& valueField();
const OCTETSTRING_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const PDPContextStatusTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RadioPriorityV : public Base_Type {
  BITSTRING field_priorityLevelValue;
  BITSTRING field_spare;
public:
  RadioPriorityV();
  RadioPriorityV(const BITSTRING& par_priorityLevelValue,
    const BITSTRING& par_spare);
  RadioPriorityV(const RadioPriorityV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RadioPriorityV& operator=(const RadioPriorityV& other_value);
  boolean operator==(const RadioPriorityV& other_value) const;
  inline boolean operator!=(const RadioPriorityV& 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& priorityLevelValue()
    {return field_priorityLevelValue;}
  inline const BITSTRING& priorityLevelValue() const
    {return field_priorityLevelValue;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 RadioPriorityV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RadioPriorityV_template *list_value;
} value_list;
struct {
RadioPriorityV_template* precondition;
RadioPriorityV_template* implied_template;
} implication_;
dynmatch_struct<RadioPriorityV>* dyn_match;
};

void set_specific();
void copy_value(const RadioPriorityV& other_value);
void copy_template(const RadioPriorityV_template& other_value);

public:
RadioPriorityV_template();
RadioPriorityV_template(template_sel other_value);
RadioPriorityV_template(const RadioPriorityV& other_value);
RadioPriorityV_template(const OPTIONAL<RadioPriorityV>& other_value);
RadioPriorityV_template(RadioPriorityV_template* p_precondition, RadioPriorityV_template* p_implied_template);
RadioPriorityV_template(Dynamic_Match_Interface<RadioPriorityV>* p_dyn_match);
RadioPriorityV_template(const RadioPriorityV_template& other_value);
~RadioPriorityV_template();
RadioPriorityV_template& operator=(template_sel other_value);
RadioPriorityV_template& operator=(const RadioPriorityV& other_value);
RadioPriorityV_template& operator=(const OPTIONAL<RadioPriorityV>& other_value);
RadioPriorityV_template& operator=(const RadioPriorityV_template& other_value);
boolean match(const RadioPriorityV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RadioPriorityV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RadioPriorityV_template& list_item(unsigned int list_index) const;
BITSTRING_template& priorityLevelValue();
const BITSTRING_template& priorityLevelValue() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const RadioPriorityV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RadioPriorityTV : public Base_Type {
  RadioPriorityV field_valueField;
  BITSTRING field_elementIdentifier;
public:
  RadioPriorityTV();
  RadioPriorityTV(const RadioPriorityV& par_valueField,
    const BITSTRING& par_elementIdentifier);
  RadioPriorityTV(const RadioPriorityTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RadioPriorityTV& operator=(const RadioPriorityTV& other_value);
  boolean operator==(const RadioPriorityTV& other_value) const;
  inline boolean operator!=(const RadioPriorityTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline RadioPriorityV& valueField()
    {return field_valueField;}
  inline const RadioPriorityV& valueField() const
    {return field_valueField;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 RadioPriorityTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RadioPriorityTV_template *list_value;
} value_list;
struct {
RadioPriorityTV_template* precondition;
RadioPriorityTV_template* implied_template;
} implication_;
dynmatch_struct<RadioPriorityTV>* dyn_match;
};

void set_specific();
void copy_value(const RadioPriorityTV& other_value);
void copy_template(const RadioPriorityTV_template& other_value);

public:
RadioPriorityTV_template();
RadioPriorityTV_template(template_sel other_value);
RadioPriorityTV_template(const RadioPriorityTV& other_value);
RadioPriorityTV_template(const OPTIONAL<RadioPriorityTV>& other_value);
RadioPriorityTV_template(RadioPriorityTV_template* p_precondition, RadioPriorityTV_template* p_implied_template);
RadioPriorityTV_template(Dynamic_Match_Interface<RadioPriorityTV>* p_dyn_match);
RadioPriorityTV_template(const RadioPriorityTV_template& other_value);
~RadioPriorityTV_template();
RadioPriorityTV_template& operator=(template_sel other_value);
RadioPriorityTV_template& operator=(const RadioPriorityTV& other_value);
RadioPriorityTV_template& operator=(const OPTIONAL<RadioPriorityTV>& other_value);
RadioPriorityTV_template& operator=(const RadioPriorityTV_template& other_value);
boolean match(const RadioPriorityTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RadioPriorityTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RadioPriorityTV_template& list_item(unsigned int list_index) const;
RadioPriorityV_template& valueField();
const RadioPriorityV_template& valueField() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const RadioPriorityTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class GPRSTimerV : public Base_Type {
  BITSTRING field_timerValue;
  BITSTRING field_unit;
public:
  GPRSTimerV();
  GPRSTimerV(const BITSTRING& par_timerValue,
    const BITSTRING& par_unit);
  GPRSTimerV(const GPRSTimerV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  GPRSTimerV& operator=(const GPRSTimerV& other_value);
  boolean operator==(const GPRSTimerV& other_value) const;
  inline boolean operator!=(const GPRSTimerV& 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& timerValue()
    {return field_timerValue;}
  inline const BITSTRING& timerValue() const
    {return field_timerValue;}
  inline BITSTRING& unit()
    {return field_unit;}
  inline const BITSTRING& unit() const
    {return field_unit;}
  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 GPRSTimerV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
GPRSTimerV_template *list_value;
} value_list;
struct {
GPRSTimerV_template* precondition;
GPRSTimerV_template* implied_template;
} implication_;
dynmatch_struct<GPRSTimerV>* dyn_match;
};

void set_specific();
void copy_value(const GPRSTimerV& other_value);
void copy_template(const GPRSTimerV_template& other_value);

public:
GPRSTimerV_template();
GPRSTimerV_template(template_sel other_value);
GPRSTimerV_template(const GPRSTimerV& other_value);
GPRSTimerV_template(const OPTIONAL<GPRSTimerV>& other_value);
GPRSTimerV_template(GPRSTimerV_template* p_precondition, GPRSTimerV_template* p_implied_template);
GPRSTimerV_template(Dynamic_Match_Interface<GPRSTimerV>* p_dyn_match);
GPRSTimerV_template(const GPRSTimerV_template& other_value);
~GPRSTimerV_template();
GPRSTimerV_template& operator=(template_sel other_value);
GPRSTimerV_template& operator=(const GPRSTimerV& other_value);
GPRSTimerV_template& operator=(const OPTIONAL<GPRSTimerV>& other_value);
GPRSTimerV_template& operator=(const GPRSTimerV_template& other_value);
boolean match(const GPRSTimerV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
GPRSTimerV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
GPRSTimerV_template& list_item(unsigned int list_index) const;
BITSTRING_template& timerValue();
const BITSTRING_template& timerValue() const;
BITSTRING_template& unit();
const BITSTRING_template& unit() const;
int size_of() const;
void log() const;
void log_match(const GPRSTimerV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class GPRSTimerTV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  GPRSTimerV field_gprsTimerV;
public:
  GPRSTimerTV();
  GPRSTimerTV(const OCTETSTRING& par_elementIdentifier,
    const GPRSTimerV& par_gprsTimerV);
  GPRSTimerTV(const GPRSTimerTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  GPRSTimerTV& operator=(const GPRSTimerTV& other_value);
  boolean operator==(const GPRSTimerTV& other_value) const;
  inline boolean operator!=(const GPRSTimerTV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline GPRSTimerV& gprsTimerV()
    {return field_gprsTimerV;}
  inline const GPRSTimerV& gprsTimerV() const
    {return field_gprsTimerV;}
  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 GPRSTimerTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
GPRSTimerTV_template *list_value;
} value_list;
struct {
GPRSTimerTV_template* precondition;
GPRSTimerTV_template* implied_template;
} implication_;
dynmatch_struct<GPRSTimerTV>* dyn_match;
};

void set_specific();
void copy_value(const GPRSTimerTV& other_value);
void copy_template(const GPRSTimerTV_template& other_value);

public:
GPRSTimerTV_template();
GPRSTimerTV_template(template_sel other_value);
GPRSTimerTV_template(const GPRSTimerTV& other_value);
GPRSTimerTV_template(const OPTIONAL<GPRSTimerTV>& other_value);
GPRSTimerTV_template(GPRSTimerTV_template* p_precondition, GPRSTimerTV_template* p_implied_template);
GPRSTimerTV_template(Dynamic_Match_Interface<GPRSTimerTV>* p_dyn_match);
GPRSTimerTV_template(const GPRSTimerTV_template& other_value);
~GPRSTimerTV_template();
GPRSTimerTV_template& operator=(template_sel other_value);
GPRSTimerTV_template& operator=(const GPRSTimerTV& other_value);
GPRSTimerTV_template& operator=(const OPTIONAL<GPRSTimerTV>& other_value);
GPRSTimerTV_template& operator=(const GPRSTimerTV_template& other_value);
boolean match(const GPRSTimerTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
GPRSTimerTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
GPRSTimerTV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
GPRSTimerV_template& gprsTimerV();
const GPRSTimerV_template& gprsTimerV() const;
int size_of() const;
void log() const;
void log_match(const GPRSTimerTV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class GPRSTimer2TLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  GPRSTimerV field_gprsTimer2V;
public:
  GPRSTimer2TLV();
  GPRSTimer2TLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const GPRSTimerV& par_gprsTimer2V);
  GPRSTimer2TLV(const GPRSTimer2TLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  GPRSTimer2TLV& operator=(const GPRSTimer2TLV& other_value);
  boolean operator==(const GPRSTimer2TLV& other_value) const;
  inline boolean operator!=(const GPRSTimer2TLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline GPRSTimerV& gprsTimer2V()
    {return field_gprsTimer2V;}
  inline const GPRSTimerV& gprsTimer2V() const
    {return field_gprsTimer2V;}
  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 GPRSTimer2TLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
GPRSTimer2TLV_template *list_value;
} value_list;
struct {
GPRSTimer2TLV_template* precondition;
GPRSTimer2TLV_template* implied_template;
} implication_;
dynmatch_struct<GPRSTimer2TLV>* dyn_match;
};

void set_specific();
void copy_value(const GPRSTimer2TLV& other_value);
void copy_template(const GPRSTimer2TLV_template& other_value);

public:
GPRSTimer2TLV_template();
GPRSTimer2TLV_template(template_sel other_value);
GPRSTimer2TLV_template(const GPRSTimer2TLV& other_value);
GPRSTimer2TLV_template(const OPTIONAL<GPRSTimer2TLV>& other_value);
GPRSTimer2TLV_template(GPRSTimer2TLV_template* p_precondition, GPRSTimer2TLV_template* p_implied_template);
GPRSTimer2TLV_template(Dynamic_Match_Interface<GPRSTimer2TLV>* p_dyn_match);
GPRSTimer2TLV_template(const GPRSTimer2TLV_template& other_value);
~GPRSTimer2TLV_template();
GPRSTimer2TLV_template& operator=(template_sel other_value);
GPRSTimer2TLV_template& operator=(const GPRSTimer2TLV& other_value);
GPRSTimer2TLV_template& operator=(const OPTIONAL<GPRSTimer2TLV>& other_value);
GPRSTimer2TLV_template& operator=(const GPRSTimer2TLV_template& other_value);
boolean match(const GPRSTimer2TLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
GPRSTimer2TLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
GPRSTimer2TLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
GPRSTimerV_template& gprsTimer2V();
const GPRSTimerV_template& gprsTimer2V() const;
int size_of() const;
void log() const;
void log_match(const GPRSTimer2TLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RadioPriority2V : public Base_Type {
  BITSTRING field_priorityLevelValue;
  BITSTRING field_spare;
public:
  RadioPriority2V();
  RadioPriority2V(const BITSTRING& par_priorityLevelValue,
    const BITSTRING& par_spare);
  RadioPriority2V(const RadioPriority2V& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RadioPriority2V& operator=(const RadioPriority2V& other_value);
  boolean operator==(const RadioPriority2V& other_value) const;
  inline boolean operator!=(const RadioPriority2V& 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& priorityLevelValue()
    {return field_priorityLevelValue;}
  inline const BITSTRING& priorityLevelValue() const
    {return field_priorityLevelValue;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 RadioPriority2V_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RadioPriority2V_template *list_value;
} value_list;
struct {
RadioPriority2V_template* precondition;
RadioPriority2V_template* implied_template;
} implication_;
dynmatch_struct<RadioPriority2V>* dyn_match;
};

void set_specific();
void copy_value(const RadioPriority2V& other_value);
void copy_template(const RadioPriority2V_template& other_value);

public:
RadioPriority2V_template();
RadioPriority2V_template(template_sel other_value);
RadioPriority2V_template(const RadioPriority2V& other_value);
RadioPriority2V_template(const OPTIONAL<RadioPriority2V>& other_value);
RadioPriority2V_template(RadioPriority2V_template* p_precondition, RadioPriority2V_template* p_implied_template);
RadioPriority2V_template(Dynamic_Match_Interface<RadioPriority2V>* p_dyn_match);
RadioPriority2V_template(const RadioPriority2V_template& other_value);
~RadioPriority2V_template();
RadioPriority2V_template& operator=(template_sel other_value);
RadioPriority2V_template& operator=(const RadioPriority2V& other_value);
RadioPriority2V_template& operator=(const OPTIONAL<RadioPriority2V>& other_value);
RadioPriority2V_template& operator=(const RadioPriority2V_template& other_value);
boolean match(const RadioPriority2V& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RadioPriority2V valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RadioPriority2V_template& list_item(unsigned int list_index) const;
BITSTRING_template& priorityLevelValue();
const BITSTRING_template& priorityLevelValue() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const RadioPriority2V& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RadioPriority2TV : public Base_Type {
  RadioPriority2V field_valueField;
  BITSTRING field_elementIdentifier;
public:
  RadioPriority2TV();
  RadioPriority2TV(const RadioPriority2V& par_valueField,
    const BITSTRING& par_elementIdentifier);
  RadioPriority2TV(const RadioPriority2TV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RadioPriority2TV& operator=(const RadioPriority2TV& other_value);
  boolean operator==(const RadioPriority2TV& other_value) const;
  inline boolean operator!=(const RadioPriority2TV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline RadioPriority2V& valueField()
    {return field_valueField;}
  inline const RadioPriority2V& valueField() const
    {return field_valueField;}
  inline BITSTRING& elementIdentifier()
    {return field_elementIdentifier;}
  inline const BITSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  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 RadioPriority2TV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RadioPriority2TV_template *list_value;
} value_list;
struct {
RadioPriority2TV_template* precondition;
RadioPriority2TV_template* implied_template;
} implication_;
dynmatch_struct<RadioPriority2TV>* dyn_match;
};

void set_specific();
void copy_value(const RadioPriority2TV& other_value);
void copy_template(const RadioPriority2TV_template& other_value);

public:
RadioPriority2TV_template();
RadioPriority2TV_template(template_sel other_value);
RadioPriority2TV_template(const RadioPriority2TV& other_value);
RadioPriority2TV_template(const OPTIONAL<RadioPriority2TV>& other_value);
RadioPriority2TV_template(RadioPriority2TV_template* p_precondition, RadioPriority2TV_template* p_implied_template);
RadioPriority2TV_template(Dynamic_Match_Interface<RadioPriority2TV>* p_dyn_match);
RadioPriority2TV_template(const RadioPriority2TV_template& other_value);
~RadioPriority2TV_template();
RadioPriority2TV_template& operator=(template_sel other_value);
RadioPriority2TV_template& operator=(const RadioPriority2TV& other_value);
RadioPriority2TV_template& operator=(const OPTIONAL<RadioPriority2TV>& other_value);
RadioPriority2TV_template& operator=(const RadioPriority2TV_template& other_value);
boolean match(const RadioPriority2TV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RadioPriority2TV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RadioPriority2TV_template& list_item(unsigned int list_index) const;
RadioPriority2V_template& valueField();
const RadioPriority2V_template& valueField() const;
BITSTRING_template& elementIdentifier();
const BITSTRING_template& elementIdentifier() const;
int size_of() const;
void log() const;
void log_match(const RadioPriority2TV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class MBMS__ContextStatusTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  OCTETSTRING field_mBMSContextStatusInformation;
public:
  MBMS__ContextStatusTLV();
  MBMS__ContextStatusTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const OCTETSTRING& par_mBMSContextStatusInformation);
  MBMS__ContextStatusTLV(const MBMS__ContextStatusTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MBMS__ContextStatusTLV& operator=(const MBMS__ContextStatusTLV& other_value);
  boolean operator==(const MBMS__ContextStatusTLV& other_value) const;
  inline boolean operator!=(const MBMS__ContextStatusTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& mBMSContextStatusInformation()
    {return field_mBMSContextStatusInformation;}
  inline const OCTETSTRING& mBMSContextStatusInformation() const
    {return field_mBMSContextStatusInformation;}
  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 MBMS__ContextStatusTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MBMS__ContextStatusTLV_template *list_value;
} value_list;
struct {
MBMS__ContextStatusTLV_template* precondition;
MBMS__ContextStatusTLV_template* implied_template;
} implication_;
dynmatch_struct<MBMS__ContextStatusTLV>* dyn_match;
};

void set_specific();
void copy_value(const MBMS__ContextStatusTLV& other_value);
void copy_template(const MBMS__ContextStatusTLV_template& other_value);

public:
MBMS__ContextStatusTLV_template();
MBMS__ContextStatusTLV_template(template_sel other_value);
MBMS__ContextStatusTLV_template(const MBMS__ContextStatusTLV& other_value);
MBMS__ContextStatusTLV_template(const OPTIONAL<MBMS__ContextStatusTLV>& other_value);
MBMS__ContextStatusTLV_template(MBMS__ContextStatusTLV_template* p_precondition, MBMS__ContextStatusTLV_template* p_implied_template);
MBMS__ContextStatusTLV_template(Dynamic_Match_Interface<MBMS__ContextStatusTLV>* p_dyn_match);
MBMS__ContextStatusTLV_template(const MBMS__ContextStatusTLV_template& other_value);
~MBMS__ContextStatusTLV_template();
MBMS__ContextStatusTLV_template& operator=(template_sel other_value);
MBMS__ContextStatusTLV_template& operator=(const MBMS__ContextStatusTLV& other_value);
MBMS__ContextStatusTLV_template& operator=(const OPTIONAL<MBMS__ContextStatusTLV>& other_value);
MBMS__ContextStatusTLV_template& operator=(const MBMS__ContextStatusTLV_template& other_value);
boolean match(const MBMS__ContextStatusTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MBMS__ContextStatusTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MBMS__ContextStatusTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
OCTETSTRING_template& mBMSContextStatusInformation();
const OCTETSTRING_template& mBMSContextStatusInformation() const;
int size_of() const;
void log() const;
void log_match(const MBMS__ContextStatusTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UplinkDataStatusV : public Base_Type {
  BITSTRING field_spare;
  BITSTRING field_nSAPI__5__to__7;
  BITSTRING field_nSAPI__8__to__15;
public:
  UplinkDataStatusV();
  UplinkDataStatusV(const BITSTRING& par_spare,
    const BITSTRING& par_nSAPI__5__to__7,
    const BITSTRING& par_nSAPI__8__to__15);
  UplinkDataStatusV(const UplinkDataStatusV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UplinkDataStatusV& operator=(const UplinkDataStatusV& other_value);
  boolean operator==(const UplinkDataStatusV& other_value) const;
  inline boolean operator!=(const UplinkDataStatusV& 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 BITSTRING& nSAPI__5__to__7()
    {return field_nSAPI__5__to__7;}
  inline const BITSTRING& nSAPI__5__to__7() const
    {return field_nSAPI__5__to__7;}
  inline BITSTRING& nSAPI__8__to__15()
    {return field_nSAPI__8__to__15;}
  inline const BITSTRING& nSAPI__8__to__15() const
    {return field_nSAPI__8__to__15;}
  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 UplinkDataStatusV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UplinkDataStatusV_template *list_value;
} value_list;
struct {
UplinkDataStatusV_template* precondition;
UplinkDataStatusV_template* implied_template;
} implication_;
dynmatch_struct<UplinkDataStatusV>* dyn_match;
};

void set_specific();
void copy_value(const UplinkDataStatusV& other_value);
void copy_template(const UplinkDataStatusV_template& other_value);

public:
UplinkDataStatusV_template();
UplinkDataStatusV_template(template_sel other_value);
UplinkDataStatusV_template(const UplinkDataStatusV& other_value);
UplinkDataStatusV_template(const OPTIONAL<UplinkDataStatusV>& other_value);
UplinkDataStatusV_template(UplinkDataStatusV_template* p_precondition, UplinkDataStatusV_template* p_implied_template);
UplinkDataStatusV_template(Dynamic_Match_Interface<UplinkDataStatusV>* p_dyn_match);
UplinkDataStatusV_template(const UplinkDataStatusV_template& other_value);
~UplinkDataStatusV_template();
UplinkDataStatusV_template& operator=(template_sel other_value);
UplinkDataStatusV_template& operator=(const UplinkDataStatusV& other_value);
UplinkDataStatusV_template& operator=(const OPTIONAL<UplinkDataStatusV>& other_value);
UplinkDataStatusV_template& operator=(const UplinkDataStatusV_template& other_value);
boolean match(const UplinkDataStatusV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UplinkDataStatusV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UplinkDataStatusV_template& list_item(unsigned int list_index) const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BITSTRING_template& nSAPI__5__to__7();
const BITSTRING_template& nSAPI__5__to__7() const;
BITSTRING_template& nSAPI__8__to__15();
const BITSTRING_template& nSAPI__8__to__15() const;
int size_of() const;
void log() const;
void log_match(const UplinkDataStatusV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class UplinkDataStatusTLV : public Base_Type {
  OCTETSTRING field_elementIdentifier;
  INTEGER field_lengthIndicator;
  UplinkDataStatusV field_valueField;
public:
  UplinkDataStatusTLV();
  UplinkDataStatusTLV(const OCTETSTRING& par_elementIdentifier,
    const INTEGER& par_lengthIndicator,
    const UplinkDataStatusV& par_valueField);
  UplinkDataStatusTLV(const UplinkDataStatusTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UplinkDataStatusTLV& operator=(const UplinkDataStatusTLV& other_value);
  boolean operator==(const UplinkDataStatusTLV& other_value) const;
  inline boolean operator!=(const UplinkDataStatusTLV& 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& elementIdentifier()
    {return field_elementIdentifier;}
  inline const OCTETSTRING& elementIdentifier() const
    {return field_elementIdentifier;}
  inline INTEGER& lengthIndicator()
    {return field_lengthIndicator;}
  inline const INTEGER& lengthIndicator() const
    {return field_lengthIndicator;}
  inline UplinkDataStatusV& valueField()
    {return field_valueField;}
  inline const UplinkDataStatusV& valueField() const
    {return field_valueField;}
  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 UplinkDataStatusTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UplinkDataStatusTLV_template *list_value;
} value_list;
struct {
UplinkDataStatusTLV_template* precondition;
UplinkDataStatusTLV_template* implied_template;
} implication_;
dynmatch_struct<UplinkDataStatusTLV>* dyn_match;
};

void set_specific();
void copy_value(const UplinkDataStatusTLV& other_value);
void copy_template(const UplinkDataStatusTLV_template& other_value);

public:
UplinkDataStatusTLV_template();
UplinkDataStatusTLV_template(template_sel other_value);
UplinkDataStatusTLV_template(const UplinkDataStatusTLV& other_value);
UplinkDataStatusTLV_template(const OPTIONAL<UplinkDataStatusTLV>& other_value);
UplinkDataStatusTLV_template(UplinkDataStatusTLV_template* p_precondition, UplinkDataStatusTLV_template* p_implied_template);
UplinkDataStatusTLV_template(Dynamic_Match_Interface<UplinkDataStatusTLV>* p_dyn_match);
UplinkDataStatusTLV_template(const UplinkDataStatusTLV_template& other_value);
~UplinkDataStatusTLV_template();
UplinkDataStatusTLV_template& operator=(template_sel other_value);
UplinkDataStatusTLV_template& operator=(const UplinkDataStatusTLV& other_value);
UplinkDataStatusTLV_template& operator=(const OPTIONAL<UplinkDataStatusTLV>& other_value);
UplinkDataStatusTLV_template& operator=(const UplinkDataStatusTLV_template& other_value);
boolean match(const UplinkDataStatusTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UplinkDataStatusTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UplinkDataStatusTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& elementIdentifier();
const OCTETSTRING_template& elementIdentifier() const;
INTEGER_template& lengthIndicator();
const INTEGER_template& lengthIndicator() const;
UplinkDataStatusV_template& valueField();
const UplinkDataStatusV_template& valueField() const;
int size_of() const;
void log() const;
void log_match(const UplinkDataStatusTLV& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__AttachRequest : public Base_Type {
  BITSTRING field_messageType;
  MSNetworkCapabilityLV field_msNetworkCapability;
  AttachTypeV field_attachType;
  MobileL3__CommonIE__Types::CipheringKeySequenceNumberV field_gprsCKSN;
  DRXParameterV field_drxParam;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mobileIdentity;
  RoutingAreaIdentificationV field_oldRoutingAreaID;
  MSRadioAccessCapabilityLV field_msRACap;
  OPTIONAL< P__TMSISignatureTV > field_ptmsiSignature;
  OPTIONAL< GPRSTimerTV > field_reqGPRStimer;
  OPTIONAL< TMSIStatusTV > field_tmsiStatus;
  OPTIONAL< PC__LCSCapability > field_pC__LCSCapability;
  OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark2__TLV > field_mobileStationClassmark2;
  OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark3__TLV > field_mobileStationClassmark3;
  OPTIONAL< MobileL3__CommonIE__Types::SupportedCodecList > field_supportedCodecs;
  OPTIONAL< UENetworkCapabilityTLV > field_uENetworkCapability;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_additionalMobileIdentity;
  OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV > field_routingAreaIdentification2;
  OPTIONAL< VoiceDomainPreferenceandUEsUsageSettingTLV > field_voiceDomainandUEsUsageSetting;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
  OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV > field_p__TMSI__Type;
  OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV > field_mS__NetworkFeatureSupport;
  OPTIONAL< LocationAreaIdentification2__TLV > field_oldLocationAreaIdentification;
  OPTIONAL< AdditionalUpdateTypeTV > field_additionalUpdateType;
  OPTIONAL< NetworkResourceIdentifierContainerTLV > field_tMSIBasedNRIcontainer;
  OPTIONAL< GPRSTimer2TLV > field_t3324;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_t3312__ExtendedValue;
  OPTIONAL< ExtendedDRXParametersTLV > field_extendedDRXParameters;
public:
  PDU__GMM__AttachRequest();
  PDU__GMM__AttachRequest(const BITSTRING& par_messageType,
    const MSNetworkCapabilityLV& par_msNetworkCapability,
    const AttachTypeV& par_attachType,
    const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& par_gprsCKSN,
    const DRXParameterV& par_drxParam,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mobileIdentity,
    const RoutingAreaIdentificationV& par_oldRoutingAreaID,
    const MSRadioAccessCapabilityLV& par_msRACap,
    const OPTIONAL< P__TMSISignatureTV >& par_ptmsiSignature,
    const OPTIONAL< GPRSTimerTV >& par_reqGPRStimer,
    const OPTIONAL< TMSIStatusTV >& par_tmsiStatus,
    const OPTIONAL< PC__LCSCapability >& par_pC__LCSCapability,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark2__TLV >& par_mobileStationClassmark2,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark3__TLV >& par_mobileStationClassmark3,
    const OPTIONAL< MobileL3__CommonIE__Types::SupportedCodecList >& par_supportedCodecs,
    const OPTIONAL< UENetworkCapabilityTLV >& par_uENetworkCapability,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_additionalMobileIdentity,
    const OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& par_routingAreaIdentification2,
    const OPTIONAL< VoiceDomainPreferenceandUEsUsageSettingTLV >& par_voiceDomainandUEsUsageSetting,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties,
    const OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& par_p__TMSI__Type,
    const OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV >& par_mS__NetworkFeatureSupport,
    const OPTIONAL< LocationAreaIdentification2__TLV >& par_oldLocationAreaIdentification,
    const OPTIONAL< AdditionalUpdateTypeTV >& par_additionalUpdateType,
    const OPTIONAL< NetworkResourceIdentifierContainerTLV >& par_tMSIBasedNRIcontainer,
    const OPTIONAL< GPRSTimer2TLV >& par_t3324,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_t3312__ExtendedValue,
    const OPTIONAL< ExtendedDRXParametersTLV >& par_extendedDRXParameters);
  PDU__GMM__AttachRequest(const PDU__GMM__AttachRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__AttachRequest& operator=(const PDU__GMM__AttachRequest& other_value);
  boolean operator==(const PDU__GMM__AttachRequest& other_value) const;
  inline boolean operator!=(const PDU__GMM__AttachRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline MSNetworkCapabilityLV& msNetworkCapability()
    {return field_msNetworkCapability;}
  inline const MSNetworkCapabilityLV& msNetworkCapability() const
    {return field_msNetworkCapability;}
  inline AttachTypeV& attachType()
    {return field_attachType;}
  inline const AttachTypeV& attachType() const
    {return field_attachType;}
  inline MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& gprsCKSN()
    {return field_gprsCKSN;}
  inline const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& gprsCKSN() const
    {return field_gprsCKSN;}
  inline DRXParameterV& drxParam()
    {return field_drxParam;}
  inline const DRXParameterV& drxParam() const
    {return field_drxParam;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentity()
    {return field_mobileIdentity;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentity() const
    {return field_mobileIdentity;}
  inline RoutingAreaIdentificationV& oldRoutingAreaID()
    {return field_oldRoutingAreaID;}
  inline const RoutingAreaIdentificationV& oldRoutingAreaID() const
    {return field_oldRoutingAreaID;}
  inline MSRadioAccessCapabilityLV& msRACap()
    {return field_msRACap;}
  inline const MSRadioAccessCapabilityLV& msRACap() const
    {return field_msRACap;}
  inline OPTIONAL< P__TMSISignatureTV >& ptmsiSignature()
    {return field_ptmsiSignature;}
  inline const OPTIONAL< P__TMSISignatureTV >& ptmsiSignature() const
    {return field_ptmsiSignature;}
  inline OPTIONAL< GPRSTimerTV >& reqGPRStimer()
    {return field_reqGPRStimer;}
  inline const OPTIONAL< GPRSTimerTV >& reqGPRStimer() const
    {return field_reqGPRStimer;}
  inline OPTIONAL< TMSIStatusTV >& tmsiStatus()
    {return field_tmsiStatus;}
  inline const OPTIONAL< TMSIStatusTV >& tmsiStatus() const
    {return field_tmsiStatus;}
  inline OPTIONAL< PC__LCSCapability >& pC__LCSCapability()
    {return field_pC__LCSCapability;}
  inline const OPTIONAL< PC__LCSCapability >& pC__LCSCapability() const
    {return field_pC__LCSCapability;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark2__TLV >& mobileStationClassmark2()
    {return field_mobileStationClassmark2;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark2__TLV >& mobileStationClassmark2() const
    {return field_mobileStationClassmark2;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark3__TLV >& mobileStationClassmark3()
    {return field_mobileStationClassmark3;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark3__TLV >& mobileStationClassmark3() const
    {return field_mobileStationClassmark3;}
  inline OPTIONAL< MobileL3__CommonIE__Types::SupportedCodecList >& supportedCodecs()
    {return field_supportedCodecs;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::SupportedCodecList >& supportedCodecs() const
    {return field_supportedCodecs;}
  inline OPTIONAL< UENetworkCapabilityTLV >& uENetworkCapability()
    {return field_uENetworkCapability;}
  inline const OPTIONAL< UENetworkCapabilityTLV >& uENetworkCapability() const
    {return field_uENetworkCapability;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& additionalMobileIdentity()
    {return field_additionalMobileIdentity;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& additionalMobileIdentity() const
    {return field_additionalMobileIdentity;}
  inline OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& routingAreaIdentification2()
    {return field_routingAreaIdentification2;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& routingAreaIdentification2() const
    {return field_routingAreaIdentification2;}
  inline OPTIONAL< VoiceDomainPreferenceandUEsUsageSettingTLV >& voiceDomainandUEsUsageSetting()
    {return field_voiceDomainandUEsUsageSetting;}
  inline const OPTIONAL< VoiceDomainPreferenceandUEsUsageSettingTLV >& voiceDomainandUEsUsageSetting() const
    {return field_voiceDomainandUEsUsageSetting;}
  inline OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties()
    {return field_deviceProperties;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties() const
    {return field_deviceProperties;}
  inline OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& p__TMSI__Type()
    {return field_p__TMSI__Type;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& p__TMSI__Type() const
    {return field_p__TMSI__Type;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV >& mS__NetworkFeatureSupport()
    {return field_mS__NetworkFeatureSupport;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV >& mS__NetworkFeatureSupport() const
    {return field_mS__NetworkFeatureSupport;}
  inline OPTIONAL< LocationAreaIdentification2__TLV >& oldLocationAreaIdentification()
    {return field_oldLocationAreaIdentification;}
  inline const OPTIONAL< LocationAreaIdentification2__TLV >& oldLocationAreaIdentification() const
    {return field_oldLocationAreaIdentification;}
  inline OPTIONAL< AdditionalUpdateTypeTV >& additionalUpdateType()
    {return field_additionalUpdateType;}
  inline const OPTIONAL< AdditionalUpdateTypeTV >& additionalUpdateType() const
    {return field_additionalUpdateType;}
  inline OPTIONAL< NetworkResourceIdentifierContainerTLV >& tMSIBasedNRIcontainer()
    {return field_tMSIBasedNRIcontainer;}
  inline const OPTIONAL< NetworkResourceIdentifierContainerTLV >& tMSIBasedNRIcontainer() const
    {return field_tMSIBasedNRIcontainer;}
  inline OPTIONAL< GPRSTimer2TLV >& t3324()
    {return field_t3324;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3324() const
    {return field_t3324;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3312__ExtendedValue()
    {return field_t3312__ExtendedValue;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3312__ExtendedValue() const
    {return field_t3312__ExtendedValue;}
  inline OPTIONAL< ExtendedDRXParametersTLV >& extendedDRXParameters()
    {return field_extendedDRXParameters;}
  inline const OPTIONAL< ExtendedDRXParametersTLV >& extendedDRXParameters() const
    {return field_extendedDRXParameters;}
  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 PDU__GMM__AttachRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__AttachRequest_template *list_value;
} value_list;
struct {
PDU__GMM__AttachRequest_template* precondition;
PDU__GMM__AttachRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__AttachRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__AttachRequest& other_value);
void copy_template(const PDU__GMM__AttachRequest_template& other_value);

public:
PDU__GMM__AttachRequest_template();
PDU__GMM__AttachRequest_template(template_sel other_value);
PDU__GMM__AttachRequest_template(const PDU__GMM__AttachRequest& other_value);
PDU__GMM__AttachRequest_template(const OPTIONAL<PDU__GMM__AttachRequest>& other_value);
PDU__GMM__AttachRequest_template(PDU__GMM__AttachRequest_template* p_precondition, PDU__GMM__AttachRequest_template* p_implied_template);
PDU__GMM__AttachRequest_template(Dynamic_Match_Interface<PDU__GMM__AttachRequest>* p_dyn_match);
PDU__GMM__AttachRequest_template(const PDU__GMM__AttachRequest_template& other_value);
~PDU__GMM__AttachRequest_template();
PDU__GMM__AttachRequest_template& operator=(template_sel other_value);
PDU__GMM__AttachRequest_template& operator=(const PDU__GMM__AttachRequest& other_value);
PDU__GMM__AttachRequest_template& operator=(const OPTIONAL<PDU__GMM__AttachRequest>& other_value);
PDU__GMM__AttachRequest_template& operator=(const PDU__GMM__AttachRequest_template& other_value);
boolean match(const PDU__GMM__AttachRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__AttachRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AttachRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
MSNetworkCapabilityLV_template& msNetworkCapability();
const MSNetworkCapabilityLV_template& msNetworkCapability() const;
AttachTypeV_template& attachType();
const AttachTypeV_template& attachType() const;
MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& gprsCKSN();
const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& gprsCKSN() const;
DRXParameterV_template& drxParam();
const DRXParameterV_template& drxParam() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentity();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentity() const;
RoutingAreaIdentificationV_template& oldRoutingAreaID();
const RoutingAreaIdentificationV_template& oldRoutingAreaID() const;
MSRadioAccessCapabilityLV_template& msRACap();
const MSRadioAccessCapabilityLV_template& msRACap() const;
P__TMSISignatureTV_template& ptmsiSignature();
const P__TMSISignatureTV_template& ptmsiSignature() const;
GPRSTimerTV_template& reqGPRStimer();
const GPRSTimerTV_template& reqGPRStimer() const;
TMSIStatusTV_template& tmsiStatus();
const TMSIStatusTV_template& tmsiStatus() const;
PC__LCSCapability_template& pC__LCSCapability();
const PC__LCSCapability_template& pC__LCSCapability() const;
MobileL3__CommonIE__Types::MobileStationClassmark2__TLV_template& mobileStationClassmark2();
const MobileL3__CommonIE__Types::MobileStationClassmark2__TLV_template& mobileStationClassmark2() const;
MobileL3__CommonIE__Types::MobileStationClassmark3__TLV_template& mobileStationClassmark3();
const MobileL3__CommonIE__Types::MobileStationClassmark3__TLV_template& mobileStationClassmark3() const;
MobileL3__CommonIE__Types::SupportedCodecList_template& supportedCodecs();
const MobileL3__CommonIE__Types::SupportedCodecList_template& supportedCodecs() const;
UENetworkCapabilityTLV_template& uENetworkCapability();
const UENetworkCapabilityTLV_template& uENetworkCapability() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& additionalMobileIdentity();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& additionalMobileIdentity() const;
MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV_template& routingAreaIdentification2();
const MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV_template& routingAreaIdentification2() const;
VoiceDomainPreferenceandUEsUsageSettingTLV_template& voiceDomainandUEsUsageSetting();
const VoiceDomainPreferenceandUEsUsageSettingTLV_template& voiceDomainandUEsUsageSetting() const;
MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties();
const MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties() const;
MobileL3__CommonIE__Types::P__TMSI__TypeTV_template& p__TMSI__Type();
const MobileL3__CommonIE__Types::P__TMSI__TypeTV_template& p__TMSI__Type() const;
MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV_template& mS__NetworkFeatureSupport();
const MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV_template& mS__NetworkFeatureSupport() const;
LocationAreaIdentification2__TLV_template& oldLocationAreaIdentification();
const LocationAreaIdentification2__TLV_template& oldLocationAreaIdentification() const;
AdditionalUpdateTypeTV_template& additionalUpdateType();
const AdditionalUpdateTypeTV_template& additionalUpdateType() const;
NetworkResourceIdentifierContainerTLV_template& tMSIBasedNRIcontainer();
const NetworkResourceIdentifierContainerTLV_template& tMSIBasedNRIcontainer() const;
GPRSTimer2TLV_template& t3324();
const GPRSTimer2TLV_template& t3324() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3312__ExtendedValue();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3312__ExtendedValue() const;
ExtendedDRXParametersTLV_template& extendedDRXParameters();
const ExtendedDRXParametersTLV_template& extendedDRXParameters() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__AttachRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__AttachAccept : public Base_Type {
  BITSTRING field_messageType;
  AttachResultV field_attachResult;
  ForceToStandbyV field_forceToStandby;
  GPRSTimerV field_updateTimer;
  RadioPriorityV field_radioPriority;
  RadioPriority2V field_radioPriorityTOM8;
  RoutingAreaIdentificationV field_routingAreaIdentification;
  OPTIONAL< P__TMSISignatureTV > field_ptmsiSignature;
  OPTIONAL< GPRSTimerTV > field_readyTimer;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_allocatedPTMSI;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_msIdentity;
  OPTIONAL< GMM__CauseTV > field_gmmCause;
  OPTIONAL< GPRSTimer2TLV > field_t3302;
  OPTIONAL< CellNotificationT > field_cellNotification;
  OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV > field_equivalentPLMNs;
  OPTIONAL< NetworkFeatureSupportTV > field_networkFeatureSupport;
  OPTIONAL< MobileL3__MM__Types::EmergencyNumberListTLV > field_emergencyNumberList;
  OPTIONAL< RequestedMSInformationTV > field_requestedMSInformation;
  OPTIONAL< GPRSTimer2TLV > field_t3319;
  OPTIONAL< GPRSTimer2TLV > field_t3323;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_t3312__ExtendedValue;
  OPTIONAL< AdditionalNetworkFeatureSupportTLV > field_additionalNetworkFeatureSupport;
  OPTIONAL< GPRSTimer2TLV > field_t3324;
  OPTIONAL< ExtendedDRXParametersTLV > field_extendedDRXParameters;
public:
  PDU__GMM__AttachAccept();
  PDU__GMM__AttachAccept(const BITSTRING& par_messageType,
    const AttachResultV& par_attachResult,
    const ForceToStandbyV& par_forceToStandby,
    const GPRSTimerV& par_updateTimer,
    const RadioPriorityV& par_radioPriority,
    const RadioPriority2V& par_radioPriorityTOM8,
    const RoutingAreaIdentificationV& par_routingAreaIdentification,
    const OPTIONAL< P__TMSISignatureTV >& par_ptmsiSignature,
    const OPTIONAL< GPRSTimerTV >& par_readyTimer,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_allocatedPTMSI,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_msIdentity,
    const OPTIONAL< GMM__CauseTV >& par_gmmCause,
    const OPTIONAL< GPRSTimer2TLV >& par_t3302,
    const OPTIONAL< CellNotificationT >& par_cellNotification,
    const OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& par_equivalentPLMNs,
    const OPTIONAL< NetworkFeatureSupportTV >& par_networkFeatureSupport,
    const OPTIONAL< MobileL3__MM__Types::EmergencyNumberListTLV >& par_emergencyNumberList,
    const OPTIONAL< RequestedMSInformationTV >& par_requestedMSInformation,
    const OPTIONAL< GPRSTimer2TLV >& par_t3319,
    const OPTIONAL< GPRSTimer2TLV >& par_t3323,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_t3312__ExtendedValue,
    const OPTIONAL< AdditionalNetworkFeatureSupportTLV >& par_additionalNetworkFeatureSupport,
    const OPTIONAL< GPRSTimer2TLV >& par_t3324,
    const OPTIONAL< ExtendedDRXParametersTLV >& par_extendedDRXParameters);
  PDU__GMM__AttachAccept(const PDU__GMM__AttachAccept& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__AttachAccept& operator=(const PDU__GMM__AttachAccept& other_value);
  boolean operator==(const PDU__GMM__AttachAccept& other_value) const;
  inline boolean operator!=(const PDU__GMM__AttachAccept& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline AttachResultV& attachResult()
    {return field_attachResult;}
  inline const AttachResultV& attachResult() const
    {return field_attachResult;}
  inline ForceToStandbyV& forceToStandby()
    {return field_forceToStandby;}
  inline const ForceToStandbyV& forceToStandby() const
    {return field_forceToStandby;}
  inline GPRSTimerV& updateTimer()
    {return field_updateTimer;}
  inline const GPRSTimerV& updateTimer() const
    {return field_updateTimer;}
  inline RadioPriorityV& radioPriority()
    {return field_radioPriority;}
  inline const RadioPriorityV& radioPriority() const
    {return field_radioPriority;}
  inline RadioPriority2V& radioPriorityTOM8()
    {return field_radioPriorityTOM8;}
  inline const RadioPriority2V& radioPriorityTOM8() const
    {return field_radioPriorityTOM8;}
  inline RoutingAreaIdentificationV& routingAreaIdentification()
    {return field_routingAreaIdentification;}
  inline const RoutingAreaIdentificationV& routingAreaIdentification() const
    {return field_routingAreaIdentification;}
  inline OPTIONAL< P__TMSISignatureTV >& ptmsiSignature()
    {return field_ptmsiSignature;}
  inline const OPTIONAL< P__TMSISignatureTV >& ptmsiSignature() const
    {return field_ptmsiSignature;}
  inline OPTIONAL< GPRSTimerTV >& readyTimer()
    {return field_readyTimer;}
  inline const OPTIONAL< GPRSTimerTV >& readyTimer() const
    {return field_readyTimer;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& allocatedPTMSI()
    {return field_allocatedPTMSI;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& allocatedPTMSI() const
    {return field_allocatedPTMSI;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& msIdentity()
    {return field_msIdentity;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& msIdentity() const
    {return field_msIdentity;}
  inline OPTIONAL< GMM__CauseTV >& gmmCause()
    {return field_gmmCause;}
  inline const OPTIONAL< GMM__CauseTV >& gmmCause() const
    {return field_gmmCause;}
  inline OPTIONAL< GPRSTimer2TLV >& t3302()
    {return field_t3302;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3302() const
    {return field_t3302;}
  inline OPTIONAL< CellNotificationT >& cellNotification()
    {return field_cellNotification;}
  inline const OPTIONAL< CellNotificationT >& cellNotification() const
    {return field_cellNotification;}
  inline OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& equivalentPLMNs()
    {return field_equivalentPLMNs;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& equivalentPLMNs() const
    {return field_equivalentPLMNs;}
  inline OPTIONAL< NetworkFeatureSupportTV >& networkFeatureSupport()
    {return field_networkFeatureSupport;}
  inline const OPTIONAL< NetworkFeatureSupportTV >& networkFeatureSupport() const
    {return field_networkFeatureSupport;}
  inline OPTIONAL< MobileL3__MM__Types::EmergencyNumberListTLV >& emergencyNumberList()
    {return field_emergencyNumberList;}
  inline const OPTIONAL< MobileL3__MM__Types::EmergencyNumberListTLV >& emergencyNumberList() const
    {return field_emergencyNumberList;}
  inline OPTIONAL< RequestedMSInformationTV >& requestedMSInformation()
    {return field_requestedMSInformation;}
  inline const OPTIONAL< RequestedMSInformationTV >& requestedMSInformation() const
    {return field_requestedMSInformation;}
  inline OPTIONAL< GPRSTimer2TLV >& t3319()
    {return field_t3319;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3319() const
    {return field_t3319;}
  inline OPTIONAL< GPRSTimer2TLV >& t3323()
    {return field_t3323;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3323() const
    {return field_t3323;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3312__ExtendedValue()
    {return field_t3312__ExtendedValue;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3312__ExtendedValue() const
    {return field_t3312__ExtendedValue;}
  inline OPTIONAL< AdditionalNetworkFeatureSupportTLV >& additionalNetworkFeatureSupport()
    {return field_additionalNetworkFeatureSupport;}
  inline const OPTIONAL< AdditionalNetworkFeatureSupportTLV >& additionalNetworkFeatureSupport() const
    {return field_additionalNetworkFeatureSupport;}
  inline OPTIONAL< GPRSTimer2TLV >& t3324()
    {return field_t3324;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3324() const
    {return field_t3324;}
  inline OPTIONAL< ExtendedDRXParametersTLV >& extendedDRXParameters()
    {return field_extendedDRXParameters;}
  inline const OPTIONAL< ExtendedDRXParametersTLV >& extendedDRXParameters() const
    {return field_extendedDRXParameters;}
  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 PDU__GMM__AttachAccept_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__AttachAccept_template *list_value;
} value_list;
struct {
PDU__GMM__AttachAccept_template* precondition;
PDU__GMM__AttachAccept_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__AttachAccept>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__AttachAccept& other_value);
void copy_template(const PDU__GMM__AttachAccept_template& other_value);

public:
PDU__GMM__AttachAccept_template();
PDU__GMM__AttachAccept_template(template_sel other_value);
PDU__GMM__AttachAccept_template(const PDU__GMM__AttachAccept& other_value);
PDU__GMM__AttachAccept_template(const OPTIONAL<PDU__GMM__AttachAccept>& other_value);
PDU__GMM__AttachAccept_template(PDU__GMM__AttachAccept_template* p_precondition, PDU__GMM__AttachAccept_template* p_implied_template);
PDU__GMM__AttachAccept_template(Dynamic_Match_Interface<PDU__GMM__AttachAccept>* p_dyn_match);
PDU__GMM__AttachAccept_template(const PDU__GMM__AttachAccept_template& other_value);
~PDU__GMM__AttachAccept_template();
PDU__GMM__AttachAccept_template& operator=(template_sel other_value);
PDU__GMM__AttachAccept_template& operator=(const PDU__GMM__AttachAccept& other_value);
PDU__GMM__AttachAccept_template& operator=(const OPTIONAL<PDU__GMM__AttachAccept>& other_value);
PDU__GMM__AttachAccept_template& operator=(const PDU__GMM__AttachAccept_template& other_value);
boolean match(const PDU__GMM__AttachAccept& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__AttachAccept valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AttachAccept_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
AttachResultV_template& attachResult();
const AttachResultV_template& attachResult() const;
ForceToStandbyV_template& forceToStandby();
const ForceToStandbyV_template& forceToStandby() const;
GPRSTimerV_template& updateTimer();
const GPRSTimerV_template& updateTimer() const;
RadioPriorityV_template& radioPriority();
const RadioPriorityV_template& radioPriority() const;
RadioPriority2V_template& radioPriorityTOM8();
const RadioPriority2V_template& radioPriorityTOM8() const;
RoutingAreaIdentificationV_template& routingAreaIdentification();
const RoutingAreaIdentificationV_template& routingAreaIdentification() const;
P__TMSISignatureTV_template& ptmsiSignature();
const P__TMSISignatureTV_template& ptmsiSignature() const;
GPRSTimerTV_template& readyTimer();
const GPRSTimerTV_template& readyTimer() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& allocatedPTMSI();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& allocatedPTMSI() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& msIdentity();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& msIdentity() const;
GMM__CauseTV_template& gmmCause();
const GMM__CauseTV_template& gmmCause() const;
GPRSTimer2TLV_template& t3302();
const GPRSTimer2TLV_template& t3302() const;
CellNotificationT_template& cellNotification();
const CellNotificationT_template& cellNotification() const;
MobileL3__CommonIE__Types::PLMNListTLV_template& equivalentPLMNs();
const MobileL3__CommonIE__Types::PLMNListTLV_template& equivalentPLMNs() const;
NetworkFeatureSupportTV_template& networkFeatureSupport();
const NetworkFeatureSupportTV_template& networkFeatureSupport() const;
MobileL3__MM__Types::EmergencyNumberListTLV_template& emergencyNumberList();
const MobileL3__MM__Types::EmergencyNumberListTLV_template& emergencyNumberList() const;
RequestedMSInformationTV_template& requestedMSInformation();
const RequestedMSInformationTV_template& requestedMSInformation() const;
GPRSTimer2TLV_template& t3319();
const GPRSTimer2TLV_template& t3319() const;
GPRSTimer2TLV_template& t3323();
const GPRSTimer2TLV_template& t3323() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3312__ExtendedValue();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3312__ExtendedValue() const;
AdditionalNetworkFeatureSupportTLV_template& additionalNetworkFeatureSupport();
const AdditionalNetworkFeatureSupportTLV_template& additionalNetworkFeatureSupport() const;
GPRSTimer2TLV_template& t3324();
const GPRSTimer2TLV_template& t3324() const;
ExtendedDRXParametersTLV_template& extendedDRXParameters();
const ExtendedDRXParametersTLV_template& extendedDRXParameters() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__AttachAccept& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__AttachComplete : public Base_Type {
  BITSTRING field_messageType;
  OPTIONAL< InterRATInformationContainerTLV > field_interRATHandoverInformation;
  OPTIONAL< EUTRANinterRATInformationContainerTLV > field_eUTRANinterRATHandoverInformation;
public:
  PDU__GMM__AttachComplete();
  PDU__GMM__AttachComplete(const BITSTRING& par_messageType,
    const OPTIONAL< InterRATInformationContainerTLV >& par_interRATHandoverInformation,
    const OPTIONAL< EUTRANinterRATInformationContainerTLV >& par_eUTRANinterRATHandoverInformation);
  PDU__GMM__AttachComplete(const PDU__GMM__AttachComplete& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__AttachComplete& operator=(const PDU__GMM__AttachComplete& other_value);
  boolean operator==(const PDU__GMM__AttachComplete& other_value) const;
  inline boolean operator!=(const PDU__GMM__AttachComplete& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OPTIONAL< InterRATInformationContainerTLV >& interRATHandoverInformation()
    {return field_interRATHandoverInformation;}
  inline const OPTIONAL< InterRATInformationContainerTLV >& interRATHandoverInformation() const
    {return field_interRATHandoverInformation;}
  inline OPTIONAL< EUTRANinterRATInformationContainerTLV >& eUTRANinterRATHandoverInformation()
    {return field_eUTRANinterRATHandoverInformation;}
  inline const OPTIONAL< EUTRANinterRATInformationContainerTLV >& eUTRANinterRATHandoverInformation() const
    {return field_eUTRANinterRATHandoverInformation;}
  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 PDU__GMM__AttachComplete_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__AttachComplete_template *list_value;
} value_list;
struct {
PDU__GMM__AttachComplete_template* precondition;
PDU__GMM__AttachComplete_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__AttachComplete>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__AttachComplete& other_value);
void copy_template(const PDU__GMM__AttachComplete_template& other_value);

public:
PDU__GMM__AttachComplete_template();
PDU__GMM__AttachComplete_template(template_sel other_value);
PDU__GMM__AttachComplete_template(const PDU__GMM__AttachComplete& other_value);
PDU__GMM__AttachComplete_template(const OPTIONAL<PDU__GMM__AttachComplete>& other_value);
PDU__GMM__AttachComplete_template(PDU__GMM__AttachComplete_template* p_precondition, PDU__GMM__AttachComplete_template* p_implied_template);
PDU__GMM__AttachComplete_template(Dynamic_Match_Interface<PDU__GMM__AttachComplete>* p_dyn_match);
PDU__GMM__AttachComplete_template(const PDU__GMM__AttachComplete_template& other_value);
~PDU__GMM__AttachComplete_template();
PDU__GMM__AttachComplete_template& operator=(template_sel other_value);
PDU__GMM__AttachComplete_template& operator=(const PDU__GMM__AttachComplete& other_value);
PDU__GMM__AttachComplete_template& operator=(const OPTIONAL<PDU__GMM__AttachComplete>& other_value);
PDU__GMM__AttachComplete_template& operator=(const PDU__GMM__AttachComplete_template& other_value);
boolean match(const PDU__GMM__AttachComplete& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__AttachComplete valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AttachComplete_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
InterRATInformationContainerTLV_template& interRATHandoverInformation();
const InterRATInformationContainerTLV_template& interRATHandoverInformation() const;
EUTRANinterRATInformationContainerTLV_template& eUTRANinterRATHandoverInformation();
const EUTRANinterRATInformationContainerTLV_template& eUTRANinterRATHandoverInformation() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__AttachComplete& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__AttachReject : public Base_Type {
  BITSTRING field_messageType;
  GMM__CauseV field_gmmCause;
  OPTIONAL< GPRSTimer2TLV > field_t3302;
  OPTIONAL< GPRSTimer2TLV > field_t3346;
public:
  PDU__GMM__AttachReject();
  PDU__GMM__AttachReject(const BITSTRING& par_messageType,
    const GMM__CauseV& par_gmmCause,
    const OPTIONAL< GPRSTimer2TLV >& par_t3302,
    const OPTIONAL< GPRSTimer2TLV >& par_t3346);
  PDU__GMM__AttachReject(const PDU__GMM__AttachReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__AttachReject& operator=(const PDU__GMM__AttachReject& other_value);
  boolean operator==(const PDU__GMM__AttachReject& other_value) const;
  inline boolean operator!=(const PDU__GMM__AttachReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline GMM__CauseV& gmmCause()
    {return field_gmmCause;}
  inline const GMM__CauseV& gmmCause() const
    {return field_gmmCause;}
  inline OPTIONAL< GPRSTimer2TLV >& t3302()
    {return field_t3302;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3302() const
    {return field_t3302;}
  inline OPTIONAL< GPRSTimer2TLV >& t3346()
    {return field_t3346;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3346() const
    {return field_t3346;}
  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 PDU__GMM__AttachReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__AttachReject_template *list_value;
} value_list;
struct {
PDU__GMM__AttachReject_template* precondition;
PDU__GMM__AttachReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__AttachReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__AttachReject& other_value);
void copy_template(const PDU__GMM__AttachReject_template& other_value);

public:
PDU__GMM__AttachReject_template();
PDU__GMM__AttachReject_template(template_sel other_value);
PDU__GMM__AttachReject_template(const PDU__GMM__AttachReject& other_value);
PDU__GMM__AttachReject_template(const OPTIONAL<PDU__GMM__AttachReject>& other_value);
PDU__GMM__AttachReject_template(PDU__GMM__AttachReject_template* p_precondition, PDU__GMM__AttachReject_template* p_implied_template);
PDU__GMM__AttachReject_template(Dynamic_Match_Interface<PDU__GMM__AttachReject>* p_dyn_match);
PDU__GMM__AttachReject_template(const PDU__GMM__AttachReject_template& other_value);
~PDU__GMM__AttachReject_template();
PDU__GMM__AttachReject_template& operator=(template_sel other_value);
PDU__GMM__AttachReject_template& operator=(const PDU__GMM__AttachReject& other_value);
PDU__GMM__AttachReject_template& operator=(const OPTIONAL<PDU__GMM__AttachReject>& other_value);
PDU__GMM__AttachReject_template& operator=(const PDU__GMM__AttachReject_template& other_value);
boolean match(const PDU__GMM__AttachReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__AttachReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AttachReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
GMM__CauseV_template& gmmCause();
const GMM__CauseV_template& gmmCause() const;
GPRSTimer2TLV_template& t3302();
const GPRSTimer2TLV_template& t3302() const;
GPRSTimer2TLV_template& t3346();
const GPRSTimer2TLV_template& t3346() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__AttachReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__DetachRequest__SGSN__MS : public Base_Type {
  BITSTRING field_messageType;
  DetachTypeV field_detachType;
  ForceToStandbyV field_forceToStandby;
  OPTIONAL< GMM__CauseTV > field_gmmCause;
public:
  PDU__GMM__DetachRequest__SGSN__MS();
  PDU__GMM__DetachRequest__SGSN__MS(const BITSTRING& par_messageType,
    const DetachTypeV& par_detachType,
    const ForceToStandbyV& par_forceToStandby,
    const OPTIONAL< GMM__CauseTV >& par_gmmCause);
  PDU__GMM__DetachRequest__SGSN__MS(const PDU__GMM__DetachRequest__SGSN__MS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__DetachRequest__SGSN__MS& operator=(const PDU__GMM__DetachRequest__SGSN__MS& other_value);
  boolean operator==(const PDU__GMM__DetachRequest__SGSN__MS& other_value) const;
  inline boolean operator!=(const PDU__GMM__DetachRequest__SGSN__MS& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline DetachTypeV& detachType()
    {return field_detachType;}
  inline const DetachTypeV& detachType() const
    {return field_detachType;}
  inline ForceToStandbyV& forceToStandby()
    {return field_forceToStandby;}
  inline const ForceToStandbyV& forceToStandby() const
    {return field_forceToStandby;}
  inline OPTIONAL< GMM__CauseTV >& gmmCause()
    {return field_gmmCause;}
  inline const OPTIONAL< GMM__CauseTV >& gmmCause() const
    {return field_gmmCause;}
  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 PDU__GMM__DetachRequest__SGSN__MS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__DetachRequest__SGSN__MS_template *list_value;
} value_list;
struct {
PDU__GMM__DetachRequest__SGSN__MS_template* precondition;
PDU__GMM__DetachRequest__SGSN__MS_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__DetachRequest__SGSN__MS>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__DetachRequest__SGSN__MS& other_value);
void copy_template(const PDU__GMM__DetachRequest__SGSN__MS_template& other_value);

public:
PDU__GMM__DetachRequest__SGSN__MS_template();
PDU__GMM__DetachRequest__SGSN__MS_template(template_sel other_value);
PDU__GMM__DetachRequest__SGSN__MS_template(const PDU__GMM__DetachRequest__SGSN__MS& other_value);
PDU__GMM__DetachRequest__SGSN__MS_template(const OPTIONAL<PDU__GMM__DetachRequest__SGSN__MS>& other_value);
PDU__GMM__DetachRequest__SGSN__MS_template(PDU__GMM__DetachRequest__SGSN__MS_template* p_precondition, PDU__GMM__DetachRequest__SGSN__MS_template* p_implied_template);
PDU__GMM__DetachRequest__SGSN__MS_template(Dynamic_Match_Interface<PDU__GMM__DetachRequest__SGSN__MS>* p_dyn_match);
PDU__GMM__DetachRequest__SGSN__MS_template(const PDU__GMM__DetachRequest__SGSN__MS_template& other_value);
~PDU__GMM__DetachRequest__SGSN__MS_template();
PDU__GMM__DetachRequest__SGSN__MS_template& operator=(template_sel other_value);
PDU__GMM__DetachRequest__SGSN__MS_template& operator=(const PDU__GMM__DetachRequest__SGSN__MS& other_value);
PDU__GMM__DetachRequest__SGSN__MS_template& operator=(const OPTIONAL<PDU__GMM__DetachRequest__SGSN__MS>& other_value);
PDU__GMM__DetachRequest__SGSN__MS_template& operator=(const PDU__GMM__DetachRequest__SGSN__MS_template& other_value);
boolean match(const PDU__GMM__DetachRequest__SGSN__MS& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__DetachRequest__SGSN__MS valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__DetachRequest__SGSN__MS_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
DetachTypeV_template& detachType();
const DetachTypeV_template& detachType() const;
ForceToStandbyV_template& forceToStandby();
const ForceToStandbyV_template& forceToStandby() const;
GMM__CauseTV_template& gmmCause();
const GMM__CauseTV_template& gmmCause() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__DetachRequest__SGSN__MS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__DetachRequest__MS__SGSN : public Base_Type {
  BITSTRING field_messageType;
  DetachTypeV field_detachType;
  BITSTRING field_spare;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_ptmsi;
  OPTIONAL< MobileL3__CommonIE__Types::P__TMSISignature2TLV > field_ptmsiSignature;
public:
  PDU__GMM__DetachRequest__MS__SGSN();
  PDU__GMM__DetachRequest__MS__SGSN(const BITSTRING& par_messageType,
    const DetachTypeV& par_detachType,
    const BITSTRING& par_spare,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_ptmsi,
    const OPTIONAL< MobileL3__CommonIE__Types::P__TMSISignature2TLV >& par_ptmsiSignature);
  PDU__GMM__DetachRequest__MS__SGSN(const PDU__GMM__DetachRequest__MS__SGSN& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__DetachRequest__MS__SGSN& operator=(const PDU__GMM__DetachRequest__MS__SGSN& other_value);
  boolean operator==(const PDU__GMM__DetachRequest__MS__SGSN& other_value) const;
  inline boolean operator!=(const PDU__GMM__DetachRequest__MS__SGSN& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline DetachTypeV& detachType()
    {return field_detachType;}
  inline const DetachTypeV& detachType() const
    {return field_detachType;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& ptmsi()
    {return field_ptmsi;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& ptmsi() const
    {return field_ptmsi;}
  inline OPTIONAL< MobileL3__CommonIE__Types::P__TMSISignature2TLV >& ptmsiSignature()
    {return field_ptmsiSignature;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::P__TMSISignature2TLV >& ptmsiSignature() const
    {return field_ptmsiSignature;}
  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 PDU__GMM__DetachRequest__MS__SGSN_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__DetachRequest__MS__SGSN_template *list_value;
} value_list;
struct {
PDU__GMM__DetachRequest__MS__SGSN_template* precondition;
PDU__GMM__DetachRequest__MS__SGSN_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__DetachRequest__MS__SGSN>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__DetachRequest__MS__SGSN& other_value);
void copy_template(const PDU__GMM__DetachRequest__MS__SGSN_template& other_value);

public:
PDU__GMM__DetachRequest__MS__SGSN_template();
PDU__GMM__DetachRequest__MS__SGSN_template(template_sel other_value);
PDU__GMM__DetachRequest__MS__SGSN_template(const PDU__GMM__DetachRequest__MS__SGSN& other_value);
PDU__GMM__DetachRequest__MS__SGSN_template(const OPTIONAL<PDU__GMM__DetachRequest__MS__SGSN>& other_value);
PDU__GMM__DetachRequest__MS__SGSN_template(PDU__GMM__DetachRequest__MS__SGSN_template* p_precondition, PDU__GMM__DetachRequest__MS__SGSN_template* p_implied_template);
PDU__GMM__DetachRequest__MS__SGSN_template(Dynamic_Match_Interface<PDU__GMM__DetachRequest__MS__SGSN>* p_dyn_match);
PDU__GMM__DetachRequest__MS__SGSN_template(const PDU__GMM__DetachRequest__MS__SGSN_template& other_value);
~PDU__GMM__DetachRequest__MS__SGSN_template();
PDU__GMM__DetachRequest__MS__SGSN_template& operator=(template_sel other_value);
PDU__GMM__DetachRequest__MS__SGSN_template& operator=(const PDU__GMM__DetachRequest__MS__SGSN& other_value);
PDU__GMM__DetachRequest__MS__SGSN_template& operator=(const OPTIONAL<PDU__GMM__DetachRequest__MS__SGSN>& other_value);
PDU__GMM__DetachRequest__MS__SGSN_template& operator=(const PDU__GMM__DetachRequest__MS__SGSN_template& other_value);
boolean match(const PDU__GMM__DetachRequest__MS__SGSN& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__DetachRequest__MS__SGSN valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__DetachRequest__MS__SGSN_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
DetachTypeV_template& detachType();
const DetachTypeV_template& detachType() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& ptmsi();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& ptmsi() const;
MobileL3__CommonIE__Types::P__TMSISignature2TLV_template& ptmsiSignature();
const MobileL3__CommonIE__Types::P__TMSISignature2TLV_template& ptmsiSignature() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__DetachRequest__MS__SGSN& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__DetachAccept__MS__SGSN : public Base_Type {
  BITSTRING field_messageType;
public:
  PDU__GMM__DetachAccept__MS__SGSN();
  PDU__GMM__DetachAccept__MS__SGSN(const BITSTRING& par_messageType);
  PDU__GMM__DetachAccept__MS__SGSN(const PDU__GMM__DetachAccept__MS__SGSN& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__DetachAccept__MS__SGSN& operator=(const PDU__GMM__DetachAccept__MS__SGSN& other_value);
  boolean operator==(const PDU__GMM__DetachAccept__MS__SGSN& other_value) const;
  inline boolean operator!=(const PDU__GMM__DetachAccept__MS__SGSN& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  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 PDU__GMM__DetachAccept__MS__SGSN_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__DetachAccept__MS__SGSN_template *list_value;
} value_list;
struct {
PDU__GMM__DetachAccept__MS__SGSN_template* precondition;
PDU__GMM__DetachAccept__MS__SGSN_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__DetachAccept__MS__SGSN>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__DetachAccept__MS__SGSN& other_value);
void copy_template(const PDU__GMM__DetachAccept__MS__SGSN_template& other_value);

public:
PDU__GMM__DetachAccept__MS__SGSN_template();
PDU__GMM__DetachAccept__MS__SGSN_template(template_sel other_value);
PDU__GMM__DetachAccept__MS__SGSN_template(const PDU__GMM__DetachAccept__MS__SGSN& other_value);
PDU__GMM__DetachAccept__MS__SGSN_template(const OPTIONAL<PDU__GMM__DetachAccept__MS__SGSN>& other_value);
PDU__GMM__DetachAccept__MS__SGSN_template(PDU__GMM__DetachAccept__MS__SGSN_template* p_precondition, PDU__GMM__DetachAccept__MS__SGSN_template* p_implied_template);
PDU__GMM__DetachAccept__MS__SGSN_template(Dynamic_Match_Interface<PDU__GMM__DetachAccept__MS__SGSN>* p_dyn_match);
PDU__GMM__DetachAccept__MS__SGSN_template(const PDU__GMM__DetachAccept__MS__SGSN_template& other_value);
~PDU__GMM__DetachAccept__MS__SGSN_template();
PDU__GMM__DetachAccept__MS__SGSN_template& operator=(template_sel other_value);
PDU__GMM__DetachAccept__MS__SGSN_template& operator=(const PDU__GMM__DetachAccept__MS__SGSN& other_value);
PDU__GMM__DetachAccept__MS__SGSN_template& operator=(const OPTIONAL<PDU__GMM__DetachAccept__MS__SGSN>& other_value);
PDU__GMM__DetachAccept__MS__SGSN_template& operator=(const PDU__GMM__DetachAccept__MS__SGSN_template& other_value);
boolean match(const PDU__GMM__DetachAccept__MS__SGSN& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__DetachAccept__MS__SGSN valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__DetachAccept__MS__SGSN_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__DetachAccept__MS__SGSN& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__DetachAccept__SGSN__MS : public Base_Type {
  BITSTRING field_messageType;
  ForceToStandbyV field_forceToStandby;
  BITSTRING field_spare;
public:
  PDU__GMM__DetachAccept__SGSN__MS();
  PDU__GMM__DetachAccept__SGSN__MS(const BITSTRING& par_messageType,
    const ForceToStandbyV& par_forceToStandby,
    const BITSTRING& par_spare);
  PDU__GMM__DetachAccept__SGSN__MS(const PDU__GMM__DetachAccept__SGSN__MS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__DetachAccept__SGSN__MS& operator=(const PDU__GMM__DetachAccept__SGSN__MS& other_value);
  boolean operator==(const PDU__GMM__DetachAccept__SGSN__MS& other_value) const;
  inline boolean operator!=(const PDU__GMM__DetachAccept__SGSN__MS& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline ForceToStandbyV& forceToStandby()
    {return field_forceToStandby;}
  inline const ForceToStandbyV& forceToStandby() const
    {return field_forceToStandby;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  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 PDU__GMM__DetachAccept__SGSN__MS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__DetachAccept__SGSN__MS_template *list_value;
} value_list;
struct {
PDU__GMM__DetachAccept__SGSN__MS_template* precondition;
PDU__GMM__DetachAccept__SGSN__MS_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__DetachAccept__SGSN__MS>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__DetachAccept__SGSN__MS& other_value);
void copy_template(const PDU__GMM__DetachAccept__SGSN__MS_template& other_value);

public:
PDU__GMM__DetachAccept__SGSN__MS_template();
PDU__GMM__DetachAccept__SGSN__MS_template(template_sel other_value);
PDU__GMM__DetachAccept__SGSN__MS_template(const PDU__GMM__DetachAccept__SGSN__MS& other_value);
PDU__GMM__DetachAccept__SGSN__MS_template(const OPTIONAL<PDU__GMM__DetachAccept__SGSN__MS>& other_value);
PDU__GMM__DetachAccept__SGSN__MS_template(PDU__GMM__DetachAccept__SGSN__MS_template* p_precondition, PDU__GMM__DetachAccept__SGSN__MS_template* p_implied_template);
PDU__GMM__DetachAccept__SGSN__MS_template(Dynamic_Match_Interface<PDU__GMM__DetachAccept__SGSN__MS>* p_dyn_match);
PDU__GMM__DetachAccept__SGSN__MS_template(const PDU__GMM__DetachAccept__SGSN__MS_template& other_value);
~PDU__GMM__DetachAccept__SGSN__MS_template();
PDU__GMM__DetachAccept__SGSN__MS_template& operator=(template_sel other_value);
PDU__GMM__DetachAccept__SGSN__MS_template& operator=(const PDU__GMM__DetachAccept__SGSN__MS& other_value);
PDU__GMM__DetachAccept__SGSN__MS_template& operator=(const OPTIONAL<PDU__GMM__DetachAccept__SGSN__MS>& other_value);
PDU__GMM__DetachAccept__SGSN__MS_template& operator=(const PDU__GMM__DetachAccept__SGSN__MS_template& other_value);
boolean match(const PDU__GMM__DetachAccept__SGSN__MS& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__DetachAccept__SGSN__MS valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__DetachAccept__SGSN__MS_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
ForceToStandbyV_template& forceToStandby();
const ForceToStandbyV_template& forceToStandby() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__DetachAccept__SGSN__MS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__P__TMSIReallocationCommand : public Base_Type {
  BITSTRING field_messageType;
  MobileL3__CommonIE__Types::MobileIdentityLV field_allocatedPTMSI;
  RoutingAreaIdentificationV field_routingAreaIdentification;
  ForceToStandbyV field_forceToStandby;
  BITSTRING field_spare;
  OPTIONAL< P__TMSISignatureTV > field_ptmsiSignature;
public:
  PDU__GMM__P__TMSIReallocationCommand();
  PDU__GMM__P__TMSIReallocationCommand(const BITSTRING& par_messageType,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_allocatedPTMSI,
    const RoutingAreaIdentificationV& par_routingAreaIdentification,
    const ForceToStandbyV& par_forceToStandby,
    const BITSTRING& par_spare,
    const OPTIONAL< P__TMSISignatureTV >& par_ptmsiSignature);
  PDU__GMM__P__TMSIReallocationCommand(const PDU__GMM__P__TMSIReallocationCommand& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__P__TMSIReallocationCommand& operator=(const PDU__GMM__P__TMSIReallocationCommand& other_value);
  boolean operator==(const PDU__GMM__P__TMSIReallocationCommand& other_value) const;
  inline boolean operator!=(const PDU__GMM__P__TMSIReallocationCommand& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& allocatedPTMSI()
    {return field_allocatedPTMSI;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& allocatedPTMSI() const
    {return field_allocatedPTMSI;}
  inline RoutingAreaIdentificationV& routingAreaIdentification()
    {return field_routingAreaIdentification;}
  inline const RoutingAreaIdentificationV& routingAreaIdentification() const
    {return field_routingAreaIdentification;}
  inline ForceToStandbyV& forceToStandby()
    {return field_forceToStandby;}
  inline const ForceToStandbyV& forceToStandby() const
    {return field_forceToStandby;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline OPTIONAL< P__TMSISignatureTV >& ptmsiSignature()
    {return field_ptmsiSignature;}
  inline const OPTIONAL< P__TMSISignatureTV >& ptmsiSignature() const
    {return field_ptmsiSignature;}
  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 PDU__GMM__P__TMSIReallocationCommand_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__P__TMSIReallocationCommand_template *list_value;
} value_list;
struct {
PDU__GMM__P__TMSIReallocationCommand_template* precondition;
PDU__GMM__P__TMSIReallocationCommand_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__P__TMSIReallocationCommand>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__P__TMSIReallocationCommand& other_value);
void copy_template(const PDU__GMM__P__TMSIReallocationCommand_template& other_value);

public:
PDU__GMM__P__TMSIReallocationCommand_template();
PDU__GMM__P__TMSIReallocationCommand_template(template_sel other_value);
PDU__GMM__P__TMSIReallocationCommand_template(const PDU__GMM__P__TMSIReallocationCommand& other_value);
PDU__GMM__P__TMSIReallocationCommand_template(const OPTIONAL<PDU__GMM__P__TMSIReallocationCommand>& other_value);
PDU__GMM__P__TMSIReallocationCommand_template(PDU__GMM__P__TMSIReallocationCommand_template* p_precondition, PDU__GMM__P__TMSIReallocationCommand_template* p_implied_template);
PDU__GMM__P__TMSIReallocationCommand_template(Dynamic_Match_Interface<PDU__GMM__P__TMSIReallocationCommand>* p_dyn_match);
PDU__GMM__P__TMSIReallocationCommand_template(const PDU__GMM__P__TMSIReallocationCommand_template& other_value);
~PDU__GMM__P__TMSIReallocationCommand_template();
PDU__GMM__P__TMSIReallocationCommand_template& operator=(template_sel other_value);
PDU__GMM__P__TMSIReallocationCommand_template& operator=(const PDU__GMM__P__TMSIReallocationCommand& other_value);
PDU__GMM__P__TMSIReallocationCommand_template& operator=(const OPTIONAL<PDU__GMM__P__TMSIReallocationCommand>& other_value);
PDU__GMM__P__TMSIReallocationCommand_template& operator=(const PDU__GMM__P__TMSIReallocationCommand_template& other_value);
boolean match(const PDU__GMM__P__TMSIReallocationCommand& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__P__TMSIReallocationCommand valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__P__TMSIReallocationCommand_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& allocatedPTMSI();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& allocatedPTMSI() const;
RoutingAreaIdentificationV_template& routingAreaIdentification();
const RoutingAreaIdentificationV_template& routingAreaIdentification() const;
ForceToStandbyV_template& forceToStandby();
const ForceToStandbyV_template& forceToStandby() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
P__TMSISignatureTV_template& ptmsiSignature();
const P__TMSISignatureTV_template& ptmsiSignature() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__P__TMSIReallocationCommand& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__P__TMSIReallocationComplete : public Base_Type {
  BITSTRING field_messageType;
public:
  PDU__GMM__P__TMSIReallocationComplete();
  PDU__GMM__P__TMSIReallocationComplete(const BITSTRING& par_messageType);
  PDU__GMM__P__TMSIReallocationComplete(const PDU__GMM__P__TMSIReallocationComplete& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__P__TMSIReallocationComplete& operator=(const PDU__GMM__P__TMSIReallocationComplete& other_value);
  boolean operator==(const PDU__GMM__P__TMSIReallocationComplete& other_value) const;
  inline boolean operator!=(const PDU__GMM__P__TMSIReallocationComplete& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  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 PDU__GMM__P__TMSIReallocationComplete_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__P__TMSIReallocationComplete_template *list_value;
} value_list;
struct {
PDU__GMM__P__TMSIReallocationComplete_template* precondition;
PDU__GMM__P__TMSIReallocationComplete_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__P__TMSIReallocationComplete>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__P__TMSIReallocationComplete& other_value);
void copy_template(const PDU__GMM__P__TMSIReallocationComplete_template& other_value);

public:
PDU__GMM__P__TMSIReallocationComplete_template();
PDU__GMM__P__TMSIReallocationComplete_template(template_sel other_value);
PDU__GMM__P__TMSIReallocationComplete_template(const PDU__GMM__P__TMSIReallocationComplete& other_value);
PDU__GMM__P__TMSIReallocationComplete_template(const OPTIONAL<PDU__GMM__P__TMSIReallocationComplete>& other_value);
PDU__GMM__P__TMSIReallocationComplete_template(PDU__GMM__P__TMSIReallocationComplete_template* p_precondition, PDU__GMM__P__TMSIReallocationComplete_template* p_implied_template);
PDU__GMM__P__TMSIReallocationComplete_template(Dynamic_Match_Interface<PDU__GMM__P__TMSIReallocationComplete>* p_dyn_match);
PDU__GMM__P__TMSIReallocationComplete_template(const PDU__GMM__P__TMSIReallocationComplete_template& other_value);
~PDU__GMM__P__TMSIReallocationComplete_template();
PDU__GMM__P__TMSIReallocationComplete_template& operator=(template_sel other_value);
PDU__GMM__P__TMSIReallocationComplete_template& operator=(const PDU__GMM__P__TMSIReallocationComplete& other_value);
PDU__GMM__P__TMSIReallocationComplete_template& operator=(const OPTIONAL<PDU__GMM__P__TMSIReallocationComplete>& other_value);
PDU__GMM__P__TMSIReallocationComplete_template& operator=(const PDU__GMM__P__TMSIReallocationComplete_template& other_value);
boolean match(const PDU__GMM__P__TMSIReallocationComplete& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__P__TMSIReallocationComplete valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__P__TMSIReallocationComplete_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__P__TMSIReallocationComplete& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__AuthenticationAndCipheringRequest : public Base_Type {
  BITSTRING field_messageType;
  CipheringAlgorithmV field_cipheringAlgorithm;
  IMEISVRequestV field_imeisvRequest;
  ForceToStandbyV field_forceToStandby;
  ACReferenceNumberV field_acReferenceNumber;
  OPTIONAL< MobileL3__MM__Types::AuthenticationParameterRANDTV > field_authenticationParameterRAND;
  OPTIONAL< MobileL3__CommonIE__Types::CipheringKeySequenceNumberTV > field_cipheringKeySequenceNumber;
  OPTIONAL< MobileL3__MM__Types::AuthenticationParameterAUTNTLV > field_authenticationParameterAUTN;
public:
  PDU__GMM__AuthenticationAndCipheringRequest();
  PDU__GMM__AuthenticationAndCipheringRequest(const BITSTRING& par_messageType,
    const CipheringAlgorithmV& par_cipheringAlgorithm,
    const IMEISVRequestV& par_imeisvRequest,
    const ForceToStandbyV& par_forceToStandby,
    const ACReferenceNumberV& par_acReferenceNumber,
    const OPTIONAL< MobileL3__MM__Types::AuthenticationParameterRANDTV >& par_authenticationParameterRAND,
    const OPTIONAL< MobileL3__CommonIE__Types::CipheringKeySequenceNumberTV >& par_cipheringKeySequenceNumber,
    const OPTIONAL< MobileL3__MM__Types::AuthenticationParameterAUTNTLV >& par_authenticationParameterAUTN);
  PDU__GMM__AuthenticationAndCipheringRequest(const PDU__GMM__AuthenticationAndCipheringRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__AuthenticationAndCipheringRequest& operator=(const PDU__GMM__AuthenticationAndCipheringRequest& other_value);
  boolean operator==(const PDU__GMM__AuthenticationAndCipheringRequest& other_value) const;
  inline boolean operator!=(const PDU__GMM__AuthenticationAndCipheringRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline CipheringAlgorithmV& cipheringAlgorithm()
    {return field_cipheringAlgorithm;}
  inline const CipheringAlgorithmV& cipheringAlgorithm() const
    {return field_cipheringAlgorithm;}
  inline IMEISVRequestV& imeisvRequest()
    {return field_imeisvRequest;}
  inline const IMEISVRequestV& imeisvRequest() const
    {return field_imeisvRequest;}
  inline ForceToStandbyV& forceToStandby()
    {return field_forceToStandby;}
  inline const ForceToStandbyV& forceToStandby() const
    {return field_forceToStandby;}
  inline ACReferenceNumberV& acReferenceNumber()
    {return field_acReferenceNumber;}
  inline const ACReferenceNumberV& acReferenceNumber() const
    {return field_acReferenceNumber;}
  inline OPTIONAL< MobileL3__MM__Types::AuthenticationParameterRANDTV >& authenticationParameterRAND()
    {return field_authenticationParameterRAND;}
  inline const OPTIONAL< MobileL3__MM__Types::AuthenticationParameterRANDTV >& authenticationParameterRAND() const
    {return field_authenticationParameterRAND;}
  inline OPTIONAL< MobileL3__CommonIE__Types::CipheringKeySequenceNumberTV >& cipheringKeySequenceNumber()
    {return field_cipheringKeySequenceNumber;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::CipheringKeySequenceNumberTV >& cipheringKeySequenceNumber() const
    {return field_cipheringKeySequenceNumber;}
  inline OPTIONAL< MobileL3__MM__Types::AuthenticationParameterAUTNTLV >& authenticationParameterAUTN()
    {return field_authenticationParameterAUTN;}
  inline const OPTIONAL< MobileL3__MM__Types::AuthenticationParameterAUTNTLV >& authenticationParameterAUTN() const
    {return field_authenticationParameterAUTN;}
  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 PDU__GMM__AuthenticationAndCipheringRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__AuthenticationAndCipheringRequest_template *list_value;
} value_list;
struct {
PDU__GMM__AuthenticationAndCipheringRequest_template* precondition;
PDU__GMM__AuthenticationAndCipheringRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__AuthenticationAndCipheringRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__AuthenticationAndCipheringRequest& other_value);
void copy_template(const PDU__GMM__AuthenticationAndCipheringRequest_template& other_value);

public:
PDU__GMM__AuthenticationAndCipheringRequest_template();
PDU__GMM__AuthenticationAndCipheringRequest_template(template_sel other_value);
PDU__GMM__AuthenticationAndCipheringRequest_template(const PDU__GMM__AuthenticationAndCipheringRequest& other_value);
PDU__GMM__AuthenticationAndCipheringRequest_template(const OPTIONAL<PDU__GMM__AuthenticationAndCipheringRequest>& other_value);
PDU__GMM__AuthenticationAndCipheringRequest_template(PDU__GMM__AuthenticationAndCipheringRequest_template* p_precondition, PDU__GMM__AuthenticationAndCipheringRequest_template* p_implied_template);
PDU__GMM__AuthenticationAndCipheringRequest_template(Dynamic_Match_Interface<PDU__GMM__AuthenticationAndCipheringRequest>* p_dyn_match);
PDU__GMM__AuthenticationAndCipheringRequest_template(const PDU__GMM__AuthenticationAndCipheringRequest_template& other_value);
~PDU__GMM__AuthenticationAndCipheringRequest_template();
PDU__GMM__AuthenticationAndCipheringRequest_template& operator=(template_sel other_value);
PDU__GMM__AuthenticationAndCipheringRequest_template& operator=(const PDU__GMM__AuthenticationAndCipheringRequest& other_value);
PDU__GMM__AuthenticationAndCipheringRequest_template& operator=(const OPTIONAL<PDU__GMM__AuthenticationAndCipheringRequest>& other_value);
PDU__GMM__AuthenticationAndCipheringRequest_template& operator=(const PDU__GMM__AuthenticationAndCipheringRequest_template& other_value);
boolean match(const PDU__GMM__AuthenticationAndCipheringRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__AuthenticationAndCipheringRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AuthenticationAndCipheringRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
CipheringAlgorithmV_template& cipheringAlgorithm();
const CipheringAlgorithmV_template& cipheringAlgorithm() const;
IMEISVRequestV_template& imeisvRequest();
const IMEISVRequestV_template& imeisvRequest() const;
ForceToStandbyV_template& forceToStandby();
const ForceToStandbyV_template& forceToStandby() const;
ACReferenceNumberV_template& acReferenceNumber();
const ACReferenceNumberV_template& acReferenceNumber() const;
MobileL3__MM__Types::AuthenticationParameterRANDTV_template& authenticationParameterRAND();
const MobileL3__MM__Types::AuthenticationParameterRANDTV_template& authenticationParameterRAND() const;
MobileL3__CommonIE__Types::CipheringKeySequenceNumberTV_template& cipheringKeySequenceNumber();
const MobileL3__CommonIE__Types::CipheringKeySequenceNumberTV_template& cipheringKeySequenceNumber() const;
MobileL3__MM__Types::AuthenticationParameterAUTNTLV_template& authenticationParameterAUTN();
const MobileL3__MM__Types::AuthenticationParameterAUTNTLV_template& authenticationParameterAUTN() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__AuthenticationAndCipheringRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__AuthenticationAndCipheringResponse : public Base_Type {
  BITSTRING field_messageType;
  ACReferenceNumberV field_acReferenceNumber;
  BITSTRING field_spare;
  OPTIONAL< MobileL3__MM__Types::AuthenticationResponseParameterTV > field_authenticationParResp;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_imeisv;
  OPTIONAL< MobileL3__MM__Types::AuthenticationResponseParameterUMTSTLV > field_authenticationRespParExt;
public:
  PDU__GMM__AuthenticationAndCipheringResponse();
  PDU__GMM__AuthenticationAndCipheringResponse(const BITSTRING& par_messageType,
    const ACReferenceNumberV& par_acReferenceNumber,
    const BITSTRING& par_spare,
    const OPTIONAL< MobileL3__MM__Types::AuthenticationResponseParameterTV >& par_authenticationParResp,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_imeisv,
    const OPTIONAL< MobileL3__MM__Types::AuthenticationResponseParameterUMTSTLV >& par_authenticationRespParExt);
  PDU__GMM__AuthenticationAndCipheringResponse(const PDU__GMM__AuthenticationAndCipheringResponse& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__AuthenticationAndCipheringResponse& operator=(const PDU__GMM__AuthenticationAndCipheringResponse& other_value);
  boolean operator==(const PDU__GMM__AuthenticationAndCipheringResponse& other_value) const;
  inline boolean operator!=(const PDU__GMM__AuthenticationAndCipheringResponse& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline ACReferenceNumberV& acReferenceNumber()
    {return field_acReferenceNumber;}
  inline const ACReferenceNumberV& acReferenceNumber() const
    {return field_acReferenceNumber;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline OPTIONAL< MobileL3__MM__Types::AuthenticationResponseParameterTV >& authenticationParResp()
    {return field_authenticationParResp;}
  inline const OPTIONAL< MobileL3__MM__Types::AuthenticationResponseParameterTV >& authenticationParResp() const
    {return field_authenticationParResp;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& imeisv()
    {return field_imeisv;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& imeisv() const
    {return field_imeisv;}
  inline OPTIONAL< MobileL3__MM__Types::AuthenticationResponseParameterUMTSTLV >& authenticationRespParExt()
    {return field_authenticationRespParExt;}
  inline const OPTIONAL< MobileL3__MM__Types::AuthenticationResponseParameterUMTSTLV >& authenticationRespParExt() const
    {return field_authenticationRespParExt;}
  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 PDU__GMM__AuthenticationAndCipheringResponse_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__AuthenticationAndCipheringResponse_template *list_value;
} value_list;
struct {
PDU__GMM__AuthenticationAndCipheringResponse_template* precondition;
PDU__GMM__AuthenticationAndCipheringResponse_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__AuthenticationAndCipheringResponse>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__AuthenticationAndCipheringResponse& other_value);
void copy_template(const PDU__GMM__AuthenticationAndCipheringResponse_template& other_value);

public:
PDU__GMM__AuthenticationAndCipheringResponse_template();
PDU__GMM__AuthenticationAndCipheringResponse_template(template_sel other_value);
PDU__GMM__AuthenticationAndCipheringResponse_template(const PDU__GMM__AuthenticationAndCipheringResponse& other_value);
PDU__GMM__AuthenticationAndCipheringResponse_template(const OPTIONAL<PDU__GMM__AuthenticationAndCipheringResponse>& other_value);
PDU__GMM__AuthenticationAndCipheringResponse_template(PDU__GMM__AuthenticationAndCipheringResponse_template* p_precondition, PDU__GMM__AuthenticationAndCipheringResponse_template* p_implied_template);
PDU__GMM__AuthenticationAndCipheringResponse_template(Dynamic_Match_Interface<PDU__GMM__AuthenticationAndCipheringResponse>* p_dyn_match);
PDU__GMM__AuthenticationAndCipheringResponse_template(const PDU__GMM__AuthenticationAndCipheringResponse_template& other_value);
~PDU__GMM__AuthenticationAndCipheringResponse_template();
PDU__GMM__AuthenticationAndCipheringResponse_template& operator=(template_sel other_value);
PDU__GMM__AuthenticationAndCipheringResponse_template& operator=(const PDU__GMM__AuthenticationAndCipheringResponse& other_value);
PDU__GMM__AuthenticationAndCipheringResponse_template& operator=(const OPTIONAL<PDU__GMM__AuthenticationAndCipheringResponse>& other_value);
PDU__GMM__AuthenticationAndCipheringResponse_template& operator=(const PDU__GMM__AuthenticationAndCipheringResponse_template& other_value);
boolean match(const PDU__GMM__AuthenticationAndCipheringResponse& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__AuthenticationAndCipheringResponse valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AuthenticationAndCipheringResponse_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
ACReferenceNumberV_template& acReferenceNumber();
const ACReferenceNumberV_template& acReferenceNumber() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
MobileL3__MM__Types::AuthenticationResponseParameterTV_template& authenticationParResp();
const MobileL3__MM__Types::AuthenticationResponseParameterTV_template& authenticationParResp() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& imeisv();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& imeisv() const;
MobileL3__MM__Types::AuthenticationResponseParameterUMTSTLV_template& authenticationRespParExt();
const MobileL3__MM__Types::AuthenticationResponseParameterUMTSTLV_template& authenticationRespParExt() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__AuthenticationAndCipheringResponse& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__AuthenticationAndCipheringFailure : public Base_Type {
  BITSTRING field_messageType;
  GMM__CauseV field_gmmCause;
  OPTIONAL< MobileL3__MM__Types::AuthenticationFailureParametersTLV > field_authenticationFailureParam;
public:
  PDU__GMM__AuthenticationAndCipheringFailure();
  PDU__GMM__AuthenticationAndCipheringFailure(const BITSTRING& par_messageType,
    const GMM__CauseV& par_gmmCause,
    const OPTIONAL< MobileL3__MM__Types::AuthenticationFailureParametersTLV >& par_authenticationFailureParam);
  PDU__GMM__AuthenticationAndCipheringFailure(const PDU__GMM__AuthenticationAndCipheringFailure& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__AuthenticationAndCipheringFailure& operator=(const PDU__GMM__AuthenticationAndCipheringFailure& other_value);
  boolean operator==(const PDU__GMM__AuthenticationAndCipheringFailure& other_value) const;
  inline boolean operator!=(const PDU__GMM__AuthenticationAndCipheringFailure& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline GMM__CauseV& gmmCause()
    {return field_gmmCause;}
  inline const GMM__CauseV& gmmCause() const
    {return field_gmmCause;}
  inline OPTIONAL< MobileL3__MM__Types::AuthenticationFailureParametersTLV >& authenticationFailureParam()
    {return field_authenticationFailureParam;}
  inline const OPTIONAL< MobileL3__MM__Types::AuthenticationFailureParametersTLV >& authenticationFailureParam() const
    {return field_authenticationFailureParam;}
  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 PDU__GMM__AuthenticationAndCipheringFailure_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__AuthenticationAndCipheringFailure_template *list_value;
} value_list;
struct {
PDU__GMM__AuthenticationAndCipheringFailure_template* precondition;
PDU__GMM__AuthenticationAndCipheringFailure_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__AuthenticationAndCipheringFailure>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__AuthenticationAndCipheringFailure& other_value);
void copy_template(const PDU__GMM__AuthenticationAndCipheringFailure_template& other_value);

public:
PDU__GMM__AuthenticationAndCipheringFailure_template();
PDU__GMM__AuthenticationAndCipheringFailure_template(template_sel other_value);
PDU__GMM__AuthenticationAndCipheringFailure_template(const PDU__GMM__AuthenticationAndCipheringFailure& other_value);
PDU__GMM__AuthenticationAndCipheringFailure_template(const OPTIONAL<PDU__GMM__AuthenticationAndCipheringFailure>& other_value);
PDU__GMM__AuthenticationAndCipheringFailure_template(PDU__GMM__AuthenticationAndCipheringFailure_template* p_precondition, PDU__GMM__AuthenticationAndCipheringFailure_template* p_implied_template);
PDU__GMM__AuthenticationAndCipheringFailure_template(Dynamic_Match_Interface<PDU__GMM__AuthenticationAndCipheringFailure>* p_dyn_match);
PDU__GMM__AuthenticationAndCipheringFailure_template(const PDU__GMM__AuthenticationAndCipheringFailure_template& other_value);
~PDU__GMM__AuthenticationAndCipheringFailure_template();
PDU__GMM__AuthenticationAndCipheringFailure_template& operator=(template_sel other_value);
PDU__GMM__AuthenticationAndCipheringFailure_template& operator=(const PDU__GMM__AuthenticationAndCipheringFailure& other_value);
PDU__GMM__AuthenticationAndCipheringFailure_template& operator=(const OPTIONAL<PDU__GMM__AuthenticationAndCipheringFailure>& other_value);
PDU__GMM__AuthenticationAndCipheringFailure_template& operator=(const PDU__GMM__AuthenticationAndCipheringFailure_template& other_value);
boolean match(const PDU__GMM__AuthenticationAndCipheringFailure& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__AuthenticationAndCipheringFailure valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AuthenticationAndCipheringFailure_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
GMM__CauseV_template& gmmCause();
const GMM__CauseV_template& gmmCause() const;
MobileL3__MM__Types::AuthenticationFailureParametersTLV_template& authenticationFailureParam();
const MobileL3__MM__Types::AuthenticationFailureParametersTLV_template& authenticationFailureParam() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__AuthenticationAndCipheringFailure& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__AuthenticationAndCipheringReject : public Base_Type {
  BITSTRING field_messageType;
public:
  PDU__GMM__AuthenticationAndCipheringReject();
  PDU__GMM__AuthenticationAndCipheringReject(const BITSTRING& par_messageType);
  PDU__GMM__AuthenticationAndCipheringReject(const PDU__GMM__AuthenticationAndCipheringReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__AuthenticationAndCipheringReject& operator=(const PDU__GMM__AuthenticationAndCipheringReject& other_value);
  boolean operator==(const PDU__GMM__AuthenticationAndCipheringReject& other_value) const;
  inline boolean operator!=(const PDU__GMM__AuthenticationAndCipheringReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  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 PDU__GMM__AuthenticationAndCipheringReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__AuthenticationAndCipheringReject_template *list_value;
} value_list;
struct {
PDU__GMM__AuthenticationAndCipheringReject_template* precondition;
PDU__GMM__AuthenticationAndCipheringReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__AuthenticationAndCipheringReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__AuthenticationAndCipheringReject& other_value);
void copy_template(const PDU__GMM__AuthenticationAndCipheringReject_template& other_value);

public:
PDU__GMM__AuthenticationAndCipheringReject_template();
PDU__GMM__AuthenticationAndCipheringReject_template(template_sel other_value);
PDU__GMM__AuthenticationAndCipheringReject_template(const PDU__GMM__AuthenticationAndCipheringReject& other_value);
PDU__GMM__AuthenticationAndCipheringReject_template(const OPTIONAL<PDU__GMM__AuthenticationAndCipheringReject>& other_value);
PDU__GMM__AuthenticationAndCipheringReject_template(PDU__GMM__AuthenticationAndCipheringReject_template* p_precondition, PDU__GMM__AuthenticationAndCipheringReject_template* p_implied_template);
PDU__GMM__AuthenticationAndCipheringReject_template(Dynamic_Match_Interface<PDU__GMM__AuthenticationAndCipheringReject>* p_dyn_match);
PDU__GMM__AuthenticationAndCipheringReject_template(const PDU__GMM__AuthenticationAndCipheringReject_template& other_value);
~PDU__GMM__AuthenticationAndCipheringReject_template();
PDU__GMM__AuthenticationAndCipheringReject_template& operator=(template_sel other_value);
PDU__GMM__AuthenticationAndCipheringReject_template& operator=(const PDU__GMM__AuthenticationAndCipheringReject& other_value);
PDU__GMM__AuthenticationAndCipheringReject_template& operator=(const OPTIONAL<PDU__GMM__AuthenticationAndCipheringReject>& other_value);
PDU__GMM__AuthenticationAndCipheringReject_template& operator=(const PDU__GMM__AuthenticationAndCipheringReject_template& other_value);
boolean match(const PDU__GMM__AuthenticationAndCipheringReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__AuthenticationAndCipheringReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AuthenticationAndCipheringReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__AuthenticationAndCipheringReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__IdentityRequest : public Base_Type {
  BITSTRING field_messageType;
  IdentityType2V field_identityType;
  ForceToStandbyV field_forceToStandby;
public:
  PDU__GMM__IdentityRequest();
  PDU__GMM__IdentityRequest(const BITSTRING& par_messageType,
    const IdentityType2V& par_identityType,
    const ForceToStandbyV& par_forceToStandby);
  PDU__GMM__IdentityRequest(const PDU__GMM__IdentityRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__IdentityRequest& operator=(const PDU__GMM__IdentityRequest& other_value);
  boolean operator==(const PDU__GMM__IdentityRequest& other_value) const;
  inline boolean operator!=(const PDU__GMM__IdentityRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline IdentityType2V& identityType()
    {return field_identityType;}
  inline const IdentityType2V& identityType() const
    {return field_identityType;}
  inline ForceToStandbyV& forceToStandby()
    {return field_forceToStandby;}
  inline const ForceToStandbyV& forceToStandby() const
    {return field_forceToStandby;}
  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 PDU__GMM__IdentityRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__IdentityRequest_template *list_value;
} value_list;
struct {
PDU__GMM__IdentityRequest_template* precondition;
PDU__GMM__IdentityRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__IdentityRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__IdentityRequest& other_value);
void copy_template(const PDU__GMM__IdentityRequest_template& other_value);

public:
PDU__GMM__IdentityRequest_template();
PDU__GMM__IdentityRequest_template(template_sel other_value);
PDU__GMM__IdentityRequest_template(const PDU__GMM__IdentityRequest& other_value);
PDU__GMM__IdentityRequest_template(const OPTIONAL<PDU__GMM__IdentityRequest>& other_value);
PDU__GMM__IdentityRequest_template(PDU__GMM__IdentityRequest_template* p_precondition, PDU__GMM__IdentityRequest_template* p_implied_template);
PDU__GMM__IdentityRequest_template(Dynamic_Match_Interface<PDU__GMM__IdentityRequest>* p_dyn_match);
PDU__GMM__IdentityRequest_template(const PDU__GMM__IdentityRequest_template& other_value);
~PDU__GMM__IdentityRequest_template();
PDU__GMM__IdentityRequest_template& operator=(template_sel other_value);
PDU__GMM__IdentityRequest_template& operator=(const PDU__GMM__IdentityRequest& other_value);
PDU__GMM__IdentityRequest_template& operator=(const OPTIONAL<PDU__GMM__IdentityRequest>& other_value);
PDU__GMM__IdentityRequest_template& operator=(const PDU__GMM__IdentityRequest_template& other_value);
boolean match(const PDU__GMM__IdentityRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__IdentityRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__IdentityRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
IdentityType2V_template& identityType();
const IdentityType2V_template& identityType() const;
ForceToStandbyV_template& forceToStandby();
const ForceToStandbyV_template& forceToStandby() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__IdentityRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__IdentityResponse : public Base_Type {
  BITSTRING field_messageType;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mobileIdentity;
public:
  PDU__GMM__IdentityResponse();
  PDU__GMM__IdentityResponse(const BITSTRING& par_messageType,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mobileIdentity);
  PDU__GMM__IdentityResponse(const PDU__GMM__IdentityResponse& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__IdentityResponse& operator=(const PDU__GMM__IdentityResponse& other_value);
  boolean operator==(const PDU__GMM__IdentityResponse& other_value) const;
  inline boolean operator!=(const PDU__GMM__IdentityResponse& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentity()
    {return field_mobileIdentity;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentity() const
    {return field_mobileIdentity;}
  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 PDU__GMM__IdentityResponse_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__IdentityResponse_template *list_value;
} value_list;
struct {
PDU__GMM__IdentityResponse_template* precondition;
PDU__GMM__IdentityResponse_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__IdentityResponse>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__IdentityResponse& other_value);
void copy_template(const PDU__GMM__IdentityResponse_template& other_value);

public:
PDU__GMM__IdentityResponse_template();
PDU__GMM__IdentityResponse_template(template_sel other_value);
PDU__GMM__IdentityResponse_template(const PDU__GMM__IdentityResponse& other_value);
PDU__GMM__IdentityResponse_template(const OPTIONAL<PDU__GMM__IdentityResponse>& other_value);
PDU__GMM__IdentityResponse_template(PDU__GMM__IdentityResponse_template* p_precondition, PDU__GMM__IdentityResponse_template* p_implied_template);
PDU__GMM__IdentityResponse_template(Dynamic_Match_Interface<PDU__GMM__IdentityResponse>* p_dyn_match);
PDU__GMM__IdentityResponse_template(const PDU__GMM__IdentityResponse_template& other_value);
~PDU__GMM__IdentityResponse_template();
PDU__GMM__IdentityResponse_template& operator=(template_sel other_value);
PDU__GMM__IdentityResponse_template& operator=(const PDU__GMM__IdentityResponse& other_value);
PDU__GMM__IdentityResponse_template& operator=(const OPTIONAL<PDU__GMM__IdentityResponse>& other_value);
PDU__GMM__IdentityResponse_template& operator=(const PDU__GMM__IdentityResponse_template& other_value);
boolean match(const PDU__GMM__IdentityResponse& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__IdentityResponse valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__IdentityResponse_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentity();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentity() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__IdentityResponse& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__RoutingAreaUpdateRequest : public Base_Type {
  BITSTRING field_messageType;
  UpdateTypeV field_updateType;
  MobileL3__CommonIE__Types::CipheringKeySequenceNumberV field_gprsCKSN;
  RoutingAreaIdentificationV field_oldRoutingAreaId;
  MSRadioAccessCapabilityLV field_msRACap;
  OPTIONAL< P__TMSISignatureTV > field_oldPTMSISignature;
  OPTIONAL< GPRSTimerTV > field_readyTimerValue;
  OPTIONAL< DRXParameterTV > field_drxParameter;
  OPTIONAL< TMSIStatusTV > field_tmsiStatus;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_ptmsi;
  OPTIONAL< MSNetworkCapabilityTLV > field_mSNetworkCapability;
  OPTIONAL< PDPContextStatusTLV > field_pdpContextStatus;
  OPTIONAL< PC__LCSCapability > field_pC__LCSCapability;
  OPTIONAL< MBMS__ContextStatusTLV > field_mBMS__ContextStatus;
  OPTIONAL< UENetworkCapabilityTLV > field_uENetworkCapability;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_additionalMobileIdentity;
  OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV > field_oldRoutingAreaIdentification2;
  OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark2__TLV > field_mobileStationClassmark2;
  OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark3__TLV > field_mobileStationClassmark3;
  OPTIONAL< MobileL3__CommonIE__Types::SupportedCodecList > field_supportedCodecs;
  OPTIONAL< VoiceDomainPreferenceandUEsUsageSettingTLV > field_voiceDomainUEUsageSetting;
  OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV > field_p__TMSI__Type;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
  OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV > field_mS__NetworkFeatureSupport;
  OPTIONAL< LocationAreaIdentification2__TLV > field_oldLocationAreaIdentification;
  OPTIONAL< AdditionalUpdateTypeTV > field_additionalUpdateType;
  OPTIONAL< NetworkResourceIdentifierContainerTLV > field_tMSIBasedNRIcontainer;
  OPTIONAL< GPRSTimer2TLV > field_t3324;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_t3312__ExtendedValue;
  OPTIONAL< ExtendedDRXParametersTLV > field_extendedDRXParameters;
public:
  PDU__GMM__RoutingAreaUpdateRequest();
  PDU__GMM__RoutingAreaUpdateRequest(const BITSTRING& par_messageType,
    const UpdateTypeV& par_updateType,
    const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& par_gprsCKSN,
    const RoutingAreaIdentificationV& par_oldRoutingAreaId,
    const MSRadioAccessCapabilityLV& par_msRACap,
    const OPTIONAL< P__TMSISignatureTV >& par_oldPTMSISignature,
    const OPTIONAL< GPRSTimerTV >& par_readyTimerValue,
    const OPTIONAL< DRXParameterTV >& par_drxParameter,
    const OPTIONAL< TMSIStatusTV >& par_tmsiStatus,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_ptmsi,
    const OPTIONAL< MSNetworkCapabilityTLV >& par_mSNetworkCapability,
    const OPTIONAL< PDPContextStatusTLV >& par_pdpContextStatus,
    const OPTIONAL< PC__LCSCapability >& par_pC__LCSCapability,
    const OPTIONAL< MBMS__ContextStatusTLV >& par_mBMS__ContextStatus,
    const OPTIONAL< UENetworkCapabilityTLV >& par_uENetworkCapability,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_additionalMobileIdentity,
    const OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& par_oldRoutingAreaIdentification2,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark2__TLV >& par_mobileStationClassmark2,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark3__TLV >& par_mobileStationClassmark3,
    const OPTIONAL< MobileL3__CommonIE__Types::SupportedCodecList >& par_supportedCodecs,
    const OPTIONAL< VoiceDomainPreferenceandUEsUsageSettingTLV >& par_voiceDomainUEUsageSetting,
    const OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& par_p__TMSI__Type,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties,
    const OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV >& par_mS__NetworkFeatureSupport,
    const OPTIONAL< LocationAreaIdentification2__TLV >& par_oldLocationAreaIdentification,
    const OPTIONAL< AdditionalUpdateTypeTV >& par_additionalUpdateType,
    const OPTIONAL< NetworkResourceIdentifierContainerTLV >& par_tMSIBasedNRIcontainer,
    const OPTIONAL< GPRSTimer2TLV >& par_t3324,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_t3312__ExtendedValue,
    const OPTIONAL< ExtendedDRXParametersTLV >& par_extendedDRXParameters);
  PDU__GMM__RoutingAreaUpdateRequest(const PDU__GMM__RoutingAreaUpdateRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__RoutingAreaUpdateRequest& operator=(const PDU__GMM__RoutingAreaUpdateRequest& other_value);
  boolean operator==(const PDU__GMM__RoutingAreaUpdateRequest& other_value) const;
  inline boolean operator!=(const PDU__GMM__RoutingAreaUpdateRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline UpdateTypeV& updateType()
    {return field_updateType;}
  inline const UpdateTypeV& updateType() const
    {return field_updateType;}
  inline MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& gprsCKSN()
    {return field_gprsCKSN;}
  inline const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& gprsCKSN() const
    {return field_gprsCKSN;}
  inline RoutingAreaIdentificationV& oldRoutingAreaId()
    {return field_oldRoutingAreaId;}
  inline const RoutingAreaIdentificationV& oldRoutingAreaId() const
    {return field_oldRoutingAreaId;}
  inline MSRadioAccessCapabilityLV& msRACap()
    {return field_msRACap;}
  inline const MSRadioAccessCapabilityLV& msRACap() const
    {return field_msRACap;}
  inline OPTIONAL< P__TMSISignatureTV >& oldPTMSISignature()
    {return field_oldPTMSISignature;}
  inline const OPTIONAL< P__TMSISignatureTV >& oldPTMSISignature() const
    {return field_oldPTMSISignature;}
  inline OPTIONAL< GPRSTimerTV >& readyTimerValue()
    {return field_readyTimerValue;}
  inline const OPTIONAL< GPRSTimerTV >& readyTimerValue() const
    {return field_readyTimerValue;}
  inline OPTIONAL< DRXParameterTV >& drxParameter()
    {return field_drxParameter;}
  inline const OPTIONAL< DRXParameterTV >& drxParameter() const
    {return field_drxParameter;}
  inline OPTIONAL< TMSIStatusTV >& tmsiStatus()
    {return field_tmsiStatus;}
  inline const OPTIONAL< TMSIStatusTV >& tmsiStatus() const
    {return field_tmsiStatus;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& ptmsi()
    {return field_ptmsi;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& ptmsi() const
    {return field_ptmsi;}
  inline OPTIONAL< MSNetworkCapabilityTLV >& mSNetworkCapability()
    {return field_mSNetworkCapability;}
  inline const OPTIONAL< MSNetworkCapabilityTLV >& mSNetworkCapability() const
    {return field_mSNetworkCapability;}
  inline OPTIONAL< PDPContextStatusTLV >& pdpContextStatus()
    {return field_pdpContextStatus;}
  inline const OPTIONAL< PDPContextStatusTLV >& pdpContextStatus() const
    {return field_pdpContextStatus;}
  inline OPTIONAL< PC__LCSCapability >& pC__LCSCapability()
    {return field_pC__LCSCapability;}
  inline const OPTIONAL< PC__LCSCapability >& pC__LCSCapability() const
    {return field_pC__LCSCapability;}
  inline OPTIONAL< MBMS__ContextStatusTLV >& mBMS__ContextStatus()
    {return field_mBMS__ContextStatus;}
  inline const OPTIONAL< MBMS__ContextStatusTLV >& mBMS__ContextStatus() const
    {return field_mBMS__ContextStatus;}
  inline OPTIONAL< UENetworkCapabilityTLV >& uENetworkCapability()
    {return field_uENetworkCapability;}
  inline const OPTIONAL< UENetworkCapabilityTLV >& uENetworkCapability() const
    {return field_uENetworkCapability;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& additionalMobileIdentity()
    {return field_additionalMobileIdentity;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& additionalMobileIdentity() const
    {return field_additionalMobileIdentity;}
  inline OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& oldRoutingAreaIdentification2()
    {return field_oldRoutingAreaIdentification2;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& oldRoutingAreaIdentification2() const
    {return field_oldRoutingAreaIdentification2;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark2__TLV >& mobileStationClassmark2()
    {return field_mobileStationClassmark2;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark2__TLV >& mobileStationClassmark2() const
    {return field_mobileStationClassmark2;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark3__TLV >& mobileStationClassmark3()
    {return field_mobileStationClassmark3;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileStationClassmark3__TLV >& mobileStationClassmark3() const
    {return field_mobileStationClassmark3;}
  inline OPTIONAL< MobileL3__CommonIE__Types::SupportedCodecList >& supportedCodecs()
    {return field_supportedCodecs;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::SupportedCodecList >& supportedCodecs() const
    {return field_supportedCodecs;}
  inline OPTIONAL< VoiceDomainPreferenceandUEsUsageSettingTLV >& voiceDomainUEUsageSetting()
    {return field_voiceDomainUEUsageSetting;}
  inline const OPTIONAL< VoiceDomainPreferenceandUEsUsageSettingTLV >& voiceDomainUEUsageSetting() const
    {return field_voiceDomainUEUsageSetting;}
  inline OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& p__TMSI__Type()
    {return field_p__TMSI__Type;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& p__TMSI__Type() const
    {return field_p__TMSI__Type;}
  inline OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties()
    {return field_deviceProperties;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties() const
    {return field_deviceProperties;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV >& mS__NetworkFeatureSupport()
    {return field_mS__NetworkFeatureSupport;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV >& mS__NetworkFeatureSupport() const
    {return field_mS__NetworkFeatureSupport;}
  inline OPTIONAL< LocationAreaIdentification2__TLV >& oldLocationAreaIdentification()
    {return field_oldLocationAreaIdentification;}
  inline const OPTIONAL< LocationAreaIdentification2__TLV >& oldLocationAreaIdentification() const
    {return field_oldLocationAreaIdentification;}
  inline OPTIONAL< AdditionalUpdateTypeTV >& additionalUpdateType()
    {return field_additionalUpdateType;}
  inline const OPTIONAL< AdditionalUpdateTypeTV >& additionalUpdateType() const
    {return field_additionalUpdateType;}
  inline OPTIONAL< NetworkResourceIdentifierContainerTLV >& tMSIBasedNRIcontainer()
    {return field_tMSIBasedNRIcontainer;}
  inline const OPTIONAL< NetworkResourceIdentifierContainerTLV >& tMSIBasedNRIcontainer() const
    {return field_tMSIBasedNRIcontainer;}
  inline OPTIONAL< GPRSTimer2TLV >& t3324()
    {return field_t3324;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3324() const
    {return field_t3324;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3312__ExtendedValue()
    {return field_t3312__ExtendedValue;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3312__ExtendedValue() const
    {return field_t3312__ExtendedValue;}
  inline OPTIONAL< ExtendedDRXParametersTLV >& extendedDRXParameters()
    {return field_extendedDRXParameters;}
  inline const OPTIONAL< ExtendedDRXParametersTLV >& extendedDRXParameters() const
    {return field_extendedDRXParameters;}
  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 PDU__GMM__RoutingAreaUpdateRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__RoutingAreaUpdateRequest_template *list_value;
} value_list;
struct {
PDU__GMM__RoutingAreaUpdateRequest_template* precondition;
PDU__GMM__RoutingAreaUpdateRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__RoutingAreaUpdateRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__RoutingAreaUpdateRequest& other_value);
void copy_template(const PDU__GMM__RoutingAreaUpdateRequest_template& other_value);

public:
PDU__GMM__RoutingAreaUpdateRequest_template();
PDU__GMM__RoutingAreaUpdateRequest_template(template_sel other_value);
PDU__GMM__RoutingAreaUpdateRequest_template(const PDU__GMM__RoutingAreaUpdateRequest& other_value);
PDU__GMM__RoutingAreaUpdateRequest_template(const OPTIONAL<PDU__GMM__RoutingAreaUpdateRequest>& other_value);
PDU__GMM__RoutingAreaUpdateRequest_template(PDU__GMM__RoutingAreaUpdateRequest_template* p_precondition, PDU__GMM__RoutingAreaUpdateRequest_template* p_implied_template);
PDU__GMM__RoutingAreaUpdateRequest_template(Dynamic_Match_Interface<PDU__GMM__RoutingAreaUpdateRequest>* p_dyn_match);
PDU__GMM__RoutingAreaUpdateRequest_template(const PDU__GMM__RoutingAreaUpdateRequest_template& other_value);
~PDU__GMM__RoutingAreaUpdateRequest_template();
PDU__GMM__RoutingAreaUpdateRequest_template& operator=(template_sel other_value);
PDU__GMM__RoutingAreaUpdateRequest_template& operator=(const PDU__GMM__RoutingAreaUpdateRequest& other_value);
PDU__GMM__RoutingAreaUpdateRequest_template& operator=(const OPTIONAL<PDU__GMM__RoutingAreaUpdateRequest>& other_value);
PDU__GMM__RoutingAreaUpdateRequest_template& operator=(const PDU__GMM__RoutingAreaUpdateRequest_template& other_value);
boolean match(const PDU__GMM__RoutingAreaUpdateRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__RoutingAreaUpdateRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__RoutingAreaUpdateRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
UpdateTypeV_template& updateType();
const UpdateTypeV_template& updateType() const;
MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& gprsCKSN();
const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& gprsCKSN() const;
RoutingAreaIdentificationV_template& oldRoutingAreaId();
const RoutingAreaIdentificationV_template& oldRoutingAreaId() const;
MSRadioAccessCapabilityLV_template& msRACap();
const MSRadioAccessCapabilityLV_template& msRACap() const;
P__TMSISignatureTV_template& oldPTMSISignature();
const P__TMSISignatureTV_template& oldPTMSISignature() const;
GPRSTimerTV_template& readyTimerValue();
const GPRSTimerTV_template& readyTimerValue() const;
DRXParameterTV_template& drxParameter();
const DRXParameterTV_template& drxParameter() const;
TMSIStatusTV_template& tmsiStatus();
const TMSIStatusTV_template& tmsiStatus() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& ptmsi();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& ptmsi() const;
MSNetworkCapabilityTLV_template& mSNetworkCapability();
const MSNetworkCapabilityTLV_template& mSNetworkCapability() const;
PDPContextStatusTLV_template& pdpContextStatus();
const PDPContextStatusTLV_template& pdpContextStatus() const;
PC__LCSCapability_template& pC__LCSCapability();
const PC__LCSCapability_template& pC__LCSCapability() const;
MBMS__ContextStatusTLV_template& mBMS__ContextStatus();
const MBMS__ContextStatusTLV_template& mBMS__ContextStatus() const;
UENetworkCapabilityTLV_template& uENetworkCapability();
const UENetworkCapabilityTLV_template& uENetworkCapability() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& additionalMobileIdentity();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& additionalMobileIdentity() const;
MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV_template& oldRoutingAreaIdentification2();
const MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV_template& oldRoutingAreaIdentification2() const;
MobileL3__CommonIE__Types::MobileStationClassmark2__TLV_template& mobileStationClassmark2();
const MobileL3__CommonIE__Types::MobileStationClassmark2__TLV_template& mobileStationClassmark2() const;
MobileL3__CommonIE__Types::MobileStationClassmark3__TLV_template& mobileStationClassmark3();
const MobileL3__CommonIE__Types::MobileStationClassmark3__TLV_template& mobileStationClassmark3() const;
MobileL3__CommonIE__Types::SupportedCodecList_template& supportedCodecs();
const MobileL3__CommonIE__Types::SupportedCodecList_template& supportedCodecs() const;
VoiceDomainPreferenceandUEsUsageSettingTLV_template& voiceDomainUEUsageSetting();
const VoiceDomainPreferenceandUEsUsageSettingTLV_template& voiceDomainUEUsageSetting() const;
MobileL3__CommonIE__Types::P__TMSI__TypeTV_template& p__TMSI__Type();
const MobileL3__CommonIE__Types::P__TMSI__TypeTV_template& p__TMSI__Type() const;
MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties();
const MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties() const;
MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV_template& mS__NetworkFeatureSupport();
const MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV_template& mS__NetworkFeatureSupport() const;
LocationAreaIdentification2__TLV_template& oldLocationAreaIdentification();
const LocationAreaIdentification2__TLV_template& oldLocationAreaIdentification() const;
AdditionalUpdateTypeTV_template& additionalUpdateType();
const AdditionalUpdateTypeTV_template& additionalUpdateType() const;
NetworkResourceIdentifierContainerTLV_template& tMSIBasedNRIcontainer();
const NetworkResourceIdentifierContainerTLV_template& tMSIBasedNRIcontainer() const;
GPRSTimer2TLV_template& t3324();
const GPRSTimer2TLV_template& t3324() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3312__ExtendedValue();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3312__ExtendedValue() const;
ExtendedDRXParametersTLV_template& extendedDRXParameters();
const ExtendedDRXParametersTLV_template& extendedDRXParameters() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__RoutingAreaUpdateRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__RoutingAreaUpdateAccept : public Base_Type {
  BITSTRING field_messageType;
  ForceToStandbyV field_forceToStandby;
  UpdateResultV field_updateResult;
  GPRSTimerV field_raUpdateTimer;
  RoutingAreaIdentificationV field_routingAreaId;
  OPTIONAL< P__TMSISignatureTV > field_ptmsiSignature;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_allocatedPTMSI;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_msIdentity;
  OPTIONAL< ReceiveNPDUNumbersListTLV > field_receiveNPDUNumbers;
  OPTIONAL< GPRSTimerTV > field_readyTimer;
  OPTIONAL< GMM__CauseTV > field_gmmCause;
  OPTIONAL< GPRSTimer2TLV > field_t3302;
  OPTIONAL< CellNotificationT > field_cellNotification;
  OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV > field_equivalentPLMNs;
  OPTIONAL< PDPContextStatusTLV > field_pdpContextStatus;
  OPTIONAL< NetworkFeatureSupportTV > field_networkFeatureSupport;
  OPTIONAL< MobileL3__MM__Types::EmergencyNumberListTLV > field_emergencyNumberList;
  OPTIONAL< MBMS__ContextStatusTLV > field_mBMS__ContextStatus;
  OPTIONAL< RequestedMSInformationTV > field_requestedMSInformation;
  OPTIONAL< GPRSTimer2TLV > field_t3319;
  OPTIONAL< GPRSTimer2TLV > field_t3323;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_t3312__ExtendedValue;
  OPTIONAL< AdditionalNetworkFeatureSupportTLV > field_additionalNetworkFeatureSupport;
  OPTIONAL< GPRSTimer2TLV > field_t3324;
  OPTIONAL< ExtendedDRXParametersTLV > field_extendedDRXParameters;
public:
  PDU__GMM__RoutingAreaUpdateAccept();
  PDU__GMM__RoutingAreaUpdateAccept(const BITSTRING& par_messageType,
    const ForceToStandbyV& par_forceToStandby,
    const UpdateResultV& par_updateResult,
    const GPRSTimerV& par_raUpdateTimer,
    const RoutingAreaIdentificationV& par_routingAreaId,
    const OPTIONAL< P__TMSISignatureTV >& par_ptmsiSignature,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_allocatedPTMSI,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_msIdentity,
    const OPTIONAL< ReceiveNPDUNumbersListTLV >& par_receiveNPDUNumbers,
    const OPTIONAL< GPRSTimerTV >& par_readyTimer,
    const OPTIONAL< GMM__CauseTV >& par_gmmCause,
    const OPTIONAL< GPRSTimer2TLV >& par_t3302,
    const OPTIONAL< CellNotificationT >& par_cellNotification,
    const OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& par_equivalentPLMNs,
    const OPTIONAL< PDPContextStatusTLV >& par_pdpContextStatus,
    const OPTIONAL< NetworkFeatureSupportTV >& par_networkFeatureSupport,
    const OPTIONAL< MobileL3__MM__Types::EmergencyNumberListTLV >& par_emergencyNumberList,
    const OPTIONAL< MBMS__ContextStatusTLV >& par_mBMS__ContextStatus,
    const OPTIONAL< RequestedMSInformationTV >& par_requestedMSInformation,
    const OPTIONAL< GPRSTimer2TLV >& par_t3319,
    const OPTIONAL< GPRSTimer2TLV >& par_t3323,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_t3312__ExtendedValue,
    const OPTIONAL< AdditionalNetworkFeatureSupportTLV >& par_additionalNetworkFeatureSupport,
    const OPTIONAL< GPRSTimer2TLV >& par_t3324,
    const OPTIONAL< ExtendedDRXParametersTLV >& par_extendedDRXParameters);
  PDU__GMM__RoutingAreaUpdateAccept(const PDU__GMM__RoutingAreaUpdateAccept& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__RoutingAreaUpdateAccept& operator=(const PDU__GMM__RoutingAreaUpdateAccept& other_value);
  boolean operator==(const PDU__GMM__RoutingAreaUpdateAccept& other_value) const;
  inline boolean operator!=(const PDU__GMM__RoutingAreaUpdateAccept& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline ForceToStandbyV& forceToStandby()
    {return field_forceToStandby;}
  inline const ForceToStandbyV& forceToStandby() const
    {return field_forceToStandby;}
  inline UpdateResultV& updateResult()
    {return field_updateResult;}
  inline const UpdateResultV& updateResult() const
    {return field_updateResult;}
  inline GPRSTimerV& raUpdateTimer()
    {return field_raUpdateTimer;}
  inline const GPRSTimerV& raUpdateTimer() const
    {return field_raUpdateTimer;}
  inline RoutingAreaIdentificationV& routingAreaId()
    {return field_routingAreaId;}
  inline const RoutingAreaIdentificationV& routingAreaId() const
    {return field_routingAreaId;}
  inline OPTIONAL< P__TMSISignatureTV >& ptmsiSignature()
    {return field_ptmsiSignature;}
  inline const OPTIONAL< P__TMSISignatureTV >& ptmsiSignature() const
    {return field_ptmsiSignature;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& allocatedPTMSI()
    {return field_allocatedPTMSI;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& allocatedPTMSI() const
    {return field_allocatedPTMSI;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& msIdentity()
    {return field_msIdentity;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& msIdentity() const
    {return field_msIdentity;}
  inline OPTIONAL< ReceiveNPDUNumbersListTLV >& receiveNPDUNumbers()
    {return field_receiveNPDUNumbers;}
  inline const OPTIONAL< ReceiveNPDUNumbersListTLV >& receiveNPDUNumbers() const
    {return field_receiveNPDUNumbers;}
  inline OPTIONAL< GPRSTimerTV >& readyTimer()
    {return field_readyTimer;}
  inline const OPTIONAL< GPRSTimerTV >& readyTimer() const
    {return field_readyTimer;}
  inline OPTIONAL< GMM__CauseTV >& gmmCause()
    {return field_gmmCause;}
  inline const OPTIONAL< GMM__CauseTV >& gmmCause() const
    {return field_gmmCause;}
  inline OPTIONAL< GPRSTimer2TLV >& t3302()
    {return field_t3302;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3302() const
    {return field_t3302;}
  inline OPTIONAL< CellNotificationT >& cellNotification()
    {return field_cellNotification;}
  inline const OPTIONAL< CellNotificationT >& cellNotification() const
    {return field_cellNotification;}
  inline OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& equivalentPLMNs()
    {return field_equivalentPLMNs;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& equivalentPLMNs() const
    {return field_equivalentPLMNs;}
  inline OPTIONAL< PDPContextStatusTLV >& pdpContextStatus()
    {return field_pdpContextStatus;}
  inline const OPTIONAL< PDPContextStatusTLV >& pdpContextStatus() const
    {return field_pdpContextStatus;}
  inline OPTIONAL< NetworkFeatureSupportTV >& networkFeatureSupport()
    {return field_networkFeatureSupport;}
  inline const OPTIONAL< NetworkFeatureSupportTV >& networkFeatureSupport() const
    {return field_networkFeatureSupport;}
  inline OPTIONAL< MobileL3__MM__Types::EmergencyNumberListTLV >& emergencyNumberList()
    {return field_emergencyNumberList;}
  inline const OPTIONAL< MobileL3__MM__Types::EmergencyNumberListTLV >& emergencyNumberList() const
    {return field_emergencyNumberList;}
  inline OPTIONAL< MBMS__ContextStatusTLV >& mBMS__ContextStatus()
    {return field_mBMS__ContextStatus;}
  inline const OPTIONAL< MBMS__ContextStatusTLV >& mBMS__ContextStatus() const
    {return field_mBMS__ContextStatus;}
  inline OPTIONAL< RequestedMSInformationTV >& requestedMSInformation()
    {return field_requestedMSInformation;}
  inline const OPTIONAL< RequestedMSInformationTV >& requestedMSInformation() const
    {return field_requestedMSInformation;}
  inline OPTIONAL< GPRSTimer2TLV >& t3319()
    {return field_t3319;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3319() const
    {return field_t3319;}
  inline OPTIONAL< GPRSTimer2TLV >& t3323()
    {return field_t3323;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3323() const
    {return field_t3323;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3312__ExtendedValue()
    {return field_t3312__ExtendedValue;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3312__ExtendedValue() const
    {return field_t3312__ExtendedValue;}
  inline OPTIONAL< AdditionalNetworkFeatureSupportTLV >& additionalNetworkFeatureSupport()
    {return field_additionalNetworkFeatureSupport;}
  inline const OPTIONAL< AdditionalNetworkFeatureSupportTLV >& additionalNetworkFeatureSupport() const
    {return field_additionalNetworkFeatureSupport;}
  inline OPTIONAL< GPRSTimer2TLV >& t3324()
    {return field_t3324;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3324() const
    {return field_t3324;}
  inline OPTIONAL< ExtendedDRXParametersTLV >& extendedDRXParameters()
    {return field_extendedDRXParameters;}
  inline const OPTIONAL< ExtendedDRXParametersTLV >& extendedDRXParameters() const
    {return field_extendedDRXParameters;}
  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 PDU__GMM__RoutingAreaUpdateAccept_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__RoutingAreaUpdateAccept_template *list_value;
} value_list;
struct {
PDU__GMM__RoutingAreaUpdateAccept_template* precondition;
PDU__GMM__RoutingAreaUpdateAccept_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__RoutingAreaUpdateAccept>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__RoutingAreaUpdateAccept& other_value);
void copy_template(const PDU__GMM__RoutingAreaUpdateAccept_template& other_value);

public:
PDU__GMM__RoutingAreaUpdateAccept_template();
PDU__GMM__RoutingAreaUpdateAccept_template(template_sel other_value);
PDU__GMM__RoutingAreaUpdateAccept_template(const PDU__GMM__RoutingAreaUpdateAccept& other_value);
PDU__GMM__RoutingAreaUpdateAccept_template(const OPTIONAL<PDU__GMM__RoutingAreaUpdateAccept>& other_value);
PDU__GMM__RoutingAreaUpdateAccept_template(PDU__GMM__RoutingAreaUpdateAccept_template* p_precondition, PDU__GMM__RoutingAreaUpdateAccept_template* p_implied_template);
PDU__GMM__RoutingAreaUpdateAccept_template(Dynamic_Match_Interface<PDU__GMM__RoutingAreaUpdateAccept>* p_dyn_match);
PDU__GMM__RoutingAreaUpdateAccept_template(const PDU__GMM__RoutingAreaUpdateAccept_template& other_value);
~PDU__GMM__RoutingAreaUpdateAccept_template();
PDU__GMM__RoutingAreaUpdateAccept_template& operator=(template_sel other_value);
PDU__GMM__RoutingAreaUpdateAccept_template& operator=(const PDU__GMM__RoutingAreaUpdateAccept& other_value);
PDU__GMM__RoutingAreaUpdateAccept_template& operator=(const OPTIONAL<PDU__GMM__RoutingAreaUpdateAccept>& other_value);
PDU__GMM__RoutingAreaUpdateAccept_template& operator=(const PDU__GMM__RoutingAreaUpdateAccept_template& other_value);
boolean match(const PDU__GMM__RoutingAreaUpdateAccept& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__RoutingAreaUpdateAccept valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__RoutingAreaUpdateAccept_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
ForceToStandbyV_template& forceToStandby();
const ForceToStandbyV_template& forceToStandby() const;
UpdateResultV_template& updateResult();
const UpdateResultV_template& updateResult() const;
GPRSTimerV_template& raUpdateTimer();
const GPRSTimerV_template& raUpdateTimer() const;
RoutingAreaIdentificationV_template& routingAreaId();
const RoutingAreaIdentificationV_template& routingAreaId() const;
P__TMSISignatureTV_template& ptmsiSignature();
const P__TMSISignatureTV_template& ptmsiSignature() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& allocatedPTMSI();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& allocatedPTMSI() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& msIdentity();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& msIdentity() const;
ReceiveNPDUNumbersListTLV_template& receiveNPDUNumbers();
const ReceiveNPDUNumbersListTLV_template& receiveNPDUNumbers() const;
GPRSTimerTV_template& readyTimer();
const GPRSTimerTV_template& readyTimer() const;
GMM__CauseTV_template& gmmCause();
const GMM__CauseTV_template& gmmCause() const;
GPRSTimer2TLV_template& t3302();
const GPRSTimer2TLV_template& t3302() const;
CellNotificationT_template& cellNotification();
const CellNotificationT_template& cellNotification() const;
MobileL3__CommonIE__Types::PLMNListTLV_template& equivalentPLMNs();
const MobileL3__CommonIE__Types::PLMNListTLV_template& equivalentPLMNs() const;
PDPContextStatusTLV_template& pdpContextStatus();
const PDPContextStatusTLV_template& pdpContextStatus() const;
NetworkFeatureSupportTV_template& networkFeatureSupport();
const NetworkFeatureSupportTV_template& networkFeatureSupport() const;
MobileL3__MM__Types::EmergencyNumberListTLV_template& emergencyNumberList();
const MobileL3__MM__Types::EmergencyNumberListTLV_template& emergencyNumberList() const;
MBMS__ContextStatusTLV_template& mBMS__ContextStatus();
const MBMS__ContextStatusTLV_template& mBMS__ContextStatus() const;
RequestedMSInformationTV_template& requestedMSInformation();
const RequestedMSInformationTV_template& requestedMSInformation() const;
GPRSTimer2TLV_template& t3319();
const GPRSTimer2TLV_template& t3319() const;
GPRSTimer2TLV_template& t3323();
const GPRSTimer2TLV_template& t3323() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3312__ExtendedValue();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3312__ExtendedValue() const;
AdditionalNetworkFeatureSupportTLV_template& additionalNetworkFeatureSupport();
const AdditionalNetworkFeatureSupportTLV_template& additionalNetworkFeatureSupport() const;
GPRSTimer2TLV_template& t3324();
const GPRSTimer2TLV_template& t3324() const;
ExtendedDRXParametersTLV_template& extendedDRXParameters();
const ExtendedDRXParametersTLV_template& extendedDRXParameters() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__RoutingAreaUpdateAccept& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__RoutingAreaUpdateComplete : public Base_Type {
  BITSTRING field_messageType;
  OPTIONAL< ReceiveNPDUNumbersListTLV > field_receiveNPDUNumbers;
  OPTIONAL< InterRATInformationContainerTLV > field_interRATHandoverInformation;
  OPTIONAL< EUTRANinterRATInformationContainerTLV > field_eUTRANinterRATHandoverInformation;
public:
  PDU__GMM__RoutingAreaUpdateComplete();
  PDU__GMM__RoutingAreaUpdateComplete(const BITSTRING& par_messageType,
    const OPTIONAL< ReceiveNPDUNumbersListTLV >& par_receiveNPDUNumbers,
    const OPTIONAL< InterRATInformationContainerTLV >& par_interRATHandoverInformation,
    const OPTIONAL< EUTRANinterRATInformationContainerTLV >& par_eUTRANinterRATHandoverInformation);
  PDU__GMM__RoutingAreaUpdateComplete(const PDU__GMM__RoutingAreaUpdateComplete& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__RoutingAreaUpdateComplete& operator=(const PDU__GMM__RoutingAreaUpdateComplete& other_value);
  boolean operator==(const PDU__GMM__RoutingAreaUpdateComplete& other_value) const;
  inline boolean operator!=(const PDU__GMM__RoutingAreaUpdateComplete& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OPTIONAL< ReceiveNPDUNumbersListTLV >& receiveNPDUNumbers()
    {return field_receiveNPDUNumbers;}
  inline const OPTIONAL< ReceiveNPDUNumbersListTLV >& receiveNPDUNumbers() const
    {return field_receiveNPDUNumbers;}
  inline OPTIONAL< InterRATInformationContainerTLV >& interRATHandoverInformation()
    {return field_interRATHandoverInformation;}
  inline const OPTIONAL< InterRATInformationContainerTLV >& interRATHandoverInformation() const
    {return field_interRATHandoverInformation;}
  inline OPTIONAL< EUTRANinterRATInformationContainerTLV >& eUTRANinterRATHandoverInformation()
    {return field_eUTRANinterRATHandoverInformation;}
  inline const OPTIONAL< EUTRANinterRATInformationContainerTLV >& eUTRANinterRATHandoverInformation() const
    {return field_eUTRANinterRATHandoverInformation;}
  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 PDU__GMM__RoutingAreaUpdateComplete_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__RoutingAreaUpdateComplete_template *list_value;
} value_list;
struct {
PDU__GMM__RoutingAreaUpdateComplete_template* precondition;
PDU__GMM__RoutingAreaUpdateComplete_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__RoutingAreaUpdateComplete>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__RoutingAreaUpdateComplete& other_value);
void copy_template(const PDU__GMM__RoutingAreaUpdateComplete_template& other_value);

public:
PDU__GMM__RoutingAreaUpdateComplete_template();
PDU__GMM__RoutingAreaUpdateComplete_template(template_sel other_value);
PDU__GMM__RoutingAreaUpdateComplete_template(const PDU__GMM__RoutingAreaUpdateComplete& other_value);
PDU__GMM__RoutingAreaUpdateComplete_template(const OPTIONAL<PDU__GMM__RoutingAreaUpdateComplete>& other_value);
PDU__GMM__RoutingAreaUpdateComplete_template(PDU__GMM__RoutingAreaUpdateComplete_template* p_precondition, PDU__GMM__RoutingAreaUpdateComplete_template* p_implied_template);
PDU__GMM__RoutingAreaUpdateComplete_template(Dynamic_Match_Interface<PDU__GMM__RoutingAreaUpdateComplete>* p_dyn_match);
PDU__GMM__RoutingAreaUpdateComplete_template(const PDU__GMM__RoutingAreaUpdateComplete_template& other_value);
~PDU__GMM__RoutingAreaUpdateComplete_template();
PDU__GMM__RoutingAreaUpdateComplete_template& operator=(template_sel other_value);
PDU__GMM__RoutingAreaUpdateComplete_template& operator=(const PDU__GMM__RoutingAreaUpdateComplete& other_value);
PDU__GMM__RoutingAreaUpdateComplete_template& operator=(const OPTIONAL<PDU__GMM__RoutingAreaUpdateComplete>& other_value);
PDU__GMM__RoutingAreaUpdateComplete_template& operator=(const PDU__GMM__RoutingAreaUpdateComplete_template& other_value);
boolean match(const PDU__GMM__RoutingAreaUpdateComplete& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__RoutingAreaUpdateComplete valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__RoutingAreaUpdateComplete_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
ReceiveNPDUNumbersListTLV_template& receiveNPDUNumbers();
const ReceiveNPDUNumbersListTLV_template& receiveNPDUNumbers() const;
InterRATInformationContainerTLV_template& interRATHandoverInformation();
const InterRATInformationContainerTLV_template& interRATHandoverInformation() const;
EUTRANinterRATInformationContainerTLV_template& eUTRANinterRATHandoverInformation();
const EUTRANinterRATInformationContainerTLV_template& eUTRANinterRATHandoverInformation() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__RoutingAreaUpdateComplete& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__RoutingAreaUpdateReject : public Base_Type {
  BITSTRING field_messageType;
  GMM__CauseV field_gmmCause;
  ForceToStandbyV field_forceToStandby;
  BITSTRING field_spare;
  OPTIONAL< GPRSTimer2TLV > field_t3302;
  OPTIONAL< GPRSTimer2TLV > field_t3346;
public:
  PDU__GMM__RoutingAreaUpdateReject();
  PDU__GMM__RoutingAreaUpdateReject(const BITSTRING& par_messageType,
    const GMM__CauseV& par_gmmCause,
    const ForceToStandbyV& par_forceToStandby,
    const BITSTRING& par_spare,
    const OPTIONAL< GPRSTimer2TLV >& par_t3302,
    const OPTIONAL< GPRSTimer2TLV >& par_t3346);
  PDU__GMM__RoutingAreaUpdateReject(const PDU__GMM__RoutingAreaUpdateReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__RoutingAreaUpdateReject& operator=(const PDU__GMM__RoutingAreaUpdateReject& other_value);
  boolean operator==(const PDU__GMM__RoutingAreaUpdateReject& other_value) const;
  inline boolean operator!=(const PDU__GMM__RoutingAreaUpdateReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline GMM__CauseV& gmmCause()
    {return field_gmmCause;}
  inline const GMM__CauseV& gmmCause() const
    {return field_gmmCause;}
  inline ForceToStandbyV& forceToStandby()
    {return field_forceToStandby;}
  inline const ForceToStandbyV& forceToStandby() const
    {return field_forceToStandby;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline OPTIONAL< GPRSTimer2TLV >& t3302()
    {return field_t3302;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3302() const
    {return field_t3302;}
  inline OPTIONAL< GPRSTimer2TLV >& t3346()
    {return field_t3346;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3346() const
    {return field_t3346;}
  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 PDU__GMM__RoutingAreaUpdateReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__RoutingAreaUpdateReject_template *list_value;
} value_list;
struct {
PDU__GMM__RoutingAreaUpdateReject_template* precondition;
PDU__GMM__RoutingAreaUpdateReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__RoutingAreaUpdateReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__RoutingAreaUpdateReject& other_value);
void copy_template(const PDU__GMM__RoutingAreaUpdateReject_template& other_value);

public:
PDU__GMM__RoutingAreaUpdateReject_template();
PDU__GMM__RoutingAreaUpdateReject_template(template_sel other_value);
PDU__GMM__RoutingAreaUpdateReject_template(const PDU__GMM__RoutingAreaUpdateReject& other_value);
PDU__GMM__RoutingAreaUpdateReject_template(const OPTIONAL<PDU__GMM__RoutingAreaUpdateReject>& other_value);
PDU__GMM__RoutingAreaUpdateReject_template(PDU__GMM__RoutingAreaUpdateReject_template* p_precondition, PDU__GMM__RoutingAreaUpdateReject_template* p_implied_template);
PDU__GMM__RoutingAreaUpdateReject_template(Dynamic_Match_Interface<PDU__GMM__RoutingAreaUpdateReject>* p_dyn_match);
PDU__GMM__RoutingAreaUpdateReject_template(const PDU__GMM__RoutingAreaUpdateReject_template& other_value);
~PDU__GMM__RoutingAreaUpdateReject_template();
PDU__GMM__RoutingAreaUpdateReject_template& operator=(template_sel other_value);
PDU__GMM__RoutingAreaUpdateReject_template& operator=(const PDU__GMM__RoutingAreaUpdateReject& other_value);
PDU__GMM__RoutingAreaUpdateReject_template& operator=(const OPTIONAL<PDU__GMM__RoutingAreaUpdateReject>& other_value);
PDU__GMM__RoutingAreaUpdateReject_template& operator=(const PDU__GMM__RoutingAreaUpdateReject_template& other_value);
boolean match(const PDU__GMM__RoutingAreaUpdateReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__RoutingAreaUpdateReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__RoutingAreaUpdateReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
GMM__CauseV_template& gmmCause();
const GMM__CauseV_template& gmmCause() const;
ForceToStandbyV_template& forceToStandby();
const ForceToStandbyV_template& forceToStandby() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
GPRSTimer2TLV_template& t3302();
const GPRSTimer2TLV_template& t3302() const;
GPRSTimer2TLV_template& t3346();
const GPRSTimer2TLV_template& t3346() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__RoutingAreaUpdateReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__GMM__Status : public Base_Type {
  BITSTRING field_messageType;
  GMM__CauseV field_gmmCause;
public:
  PDU__GMM__GMM__Status();
  PDU__GMM__GMM__Status(const BITSTRING& par_messageType,
    const GMM__CauseV& par_gmmCause);
  PDU__GMM__GMM__Status(const PDU__GMM__GMM__Status& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__GMM__Status& operator=(const PDU__GMM__GMM__Status& other_value);
  boolean operator==(const PDU__GMM__GMM__Status& other_value) const;
  inline boolean operator!=(const PDU__GMM__GMM__Status& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline GMM__CauseV& gmmCause()
    {return field_gmmCause;}
  inline const GMM__CauseV& gmmCause() const
    {return field_gmmCause;}
  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 PDU__GMM__GMM__Status_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__GMM__Status_template *list_value;
} value_list;
struct {
PDU__GMM__GMM__Status_template* precondition;
PDU__GMM__GMM__Status_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__GMM__Status>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__GMM__Status& other_value);
void copy_template(const PDU__GMM__GMM__Status_template& other_value);

public:
PDU__GMM__GMM__Status_template();
PDU__GMM__GMM__Status_template(template_sel other_value);
PDU__GMM__GMM__Status_template(const PDU__GMM__GMM__Status& other_value);
PDU__GMM__GMM__Status_template(const OPTIONAL<PDU__GMM__GMM__Status>& other_value);
PDU__GMM__GMM__Status_template(PDU__GMM__GMM__Status_template* p_precondition, PDU__GMM__GMM__Status_template* p_implied_template);
PDU__GMM__GMM__Status_template(Dynamic_Match_Interface<PDU__GMM__GMM__Status>* p_dyn_match);
PDU__GMM__GMM__Status_template(const PDU__GMM__GMM__Status_template& other_value);
~PDU__GMM__GMM__Status_template();
PDU__GMM__GMM__Status_template& operator=(template_sel other_value);
PDU__GMM__GMM__Status_template& operator=(const PDU__GMM__GMM__Status& other_value);
PDU__GMM__GMM__Status_template& operator=(const OPTIONAL<PDU__GMM__GMM__Status>& other_value);
PDU__GMM__GMM__Status_template& operator=(const PDU__GMM__GMM__Status_template& other_value);
boolean match(const PDU__GMM__GMM__Status& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__GMM__Status valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__GMM__Status_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
GMM__CauseV_template& gmmCause();
const GMM__CauseV_template& gmmCause() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__GMM__Status& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__GMM__Information : public Base_Type {
  BITSTRING field_messageType;
  OPTIONAL< MobileL3__MM__Types::NetworkNameTLV > field_fullNetworkName;
  OPTIONAL< MobileL3__MM__Types::NetworkNameTLV > field_shortNetworkName;
  OPTIONAL< MobileL3__MM__Types::TimeZoneTV > field_networkTimeZone;
  OPTIONAL< MobileL3__MM__Types::TimeZoneAndTimeTV > field_networkTimeAndTimeZone;
  OPTIONAL< MobileL3__MM__Types::LSA__IdentifierTLV > field_lsaIdentity;
  OPTIONAL< MobileL3__MM__Types::DaylightSavingTimeTLV > field_networkDaylightSavingTime;
public:
  PDU__GMM__GMM__Information();
  PDU__GMM__GMM__Information(const BITSTRING& par_messageType,
    const OPTIONAL< MobileL3__MM__Types::NetworkNameTLV >& par_fullNetworkName,
    const OPTIONAL< MobileL3__MM__Types::NetworkNameTLV >& par_shortNetworkName,
    const OPTIONAL< MobileL3__MM__Types::TimeZoneTV >& par_networkTimeZone,
    const OPTIONAL< MobileL3__MM__Types::TimeZoneAndTimeTV >& par_networkTimeAndTimeZone,
    const OPTIONAL< MobileL3__MM__Types::LSA__IdentifierTLV >& par_lsaIdentity,
    const OPTIONAL< MobileL3__MM__Types::DaylightSavingTimeTLV >& par_networkDaylightSavingTime);
  PDU__GMM__GMM__Information(const PDU__GMM__GMM__Information& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__GMM__Information& operator=(const PDU__GMM__GMM__Information& other_value);
  boolean operator==(const PDU__GMM__GMM__Information& other_value) const;
  inline boolean operator!=(const PDU__GMM__GMM__Information& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OPTIONAL< MobileL3__MM__Types::NetworkNameTLV >& fullNetworkName()
    {return field_fullNetworkName;}
  inline const OPTIONAL< MobileL3__MM__Types::NetworkNameTLV >& fullNetworkName() const
    {return field_fullNetworkName;}
  inline OPTIONAL< MobileL3__MM__Types::NetworkNameTLV >& shortNetworkName()
    {return field_shortNetworkName;}
  inline const OPTIONAL< MobileL3__MM__Types::NetworkNameTLV >& shortNetworkName() const
    {return field_shortNetworkName;}
  inline OPTIONAL< MobileL3__MM__Types::TimeZoneTV >& networkTimeZone()
    {return field_networkTimeZone;}
  inline const OPTIONAL< MobileL3__MM__Types::TimeZoneTV >& networkTimeZone() const
    {return field_networkTimeZone;}
  inline OPTIONAL< MobileL3__MM__Types::TimeZoneAndTimeTV >& networkTimeAndTimeZone()
    {return field_networkTimeAndTimeZone;}
  inline const OPTIONAL< MobileL3__MM__Types::TimeZoneAndTimeTV >& networkTimeAndTimeZone() const
    {return field_networkTimeAndTimeZone;}
  inline OPTIONAL< MobileL3__MM__Types::LSA__IdentifierTLV >& lsaIdentity()
    {return field_lsaIdentity;}
  inline const OPTIONAL< MobileL3__MM__Types::LSA__IdentifierTLV >& lsaIdentity() const
    {return field_lsaIdentity;}
  inline OPTIONAL< MobileL3__MM__Types::DaylightSavingTimeTLV >& networkDaylightSavingTime()
    {return field_networkDaylightSavingTime;}
  inline const OPTIONAL< MobileL3__MM__Types::DaylightSavingTimeTLV >& networkDaylightSavingTime() const
    {return field_networkDaylightSavingTime;}
  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 PDU__GMM__GMM__Information_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__GMM__Information_template *list_value;
} value_list;
struct {
PDU__GMM__GMM__Information_template* precondition;
PDU__GMM__GMM__Information_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__GMM__Information>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__GMM__Information& other_value);
void copy_template(const PDU__GMM__GMM__Information_template& other_value);

public:
PDU__GMM__GMM__Information_template();
PDU__GMM__GMM__Information_template(template_sel other_value);
PDU__GMM__GMM__Information_template(const PDU__GMM__GMM__Information& other_value);
PDU__GMM__GMM__Information_template(const OPTIONAL<PDU__GMM__GMM__Information>& other_value);
PDU__GMM__GMM__Information_template(PDU__GMM__GMM__Information_template* p_precondition, PDU__GMM__GMM__Information_template* p_implied_template);
PDU__GMM__GMM__Information_template(Dynamic_Match_Interface<PDU__GMM__GMM__Information>* p_dyn_match);
PDU__GMM__GMM__Information_template(const PDU__GMM__GMM__Information_template& other_value);
~PDU__GMM__GMM__Information_template();
PDU__GMM__GMM__Information_template& operator=(template_sel other_value);
PDU__GMM__GMM__Information_template& operator=(const PDU__GMM__GMM__Information& other_value);
PDU__GMM__GMM__Information_template& operator=(const OPTIONAL<PDU__GMM__GMM__Information>& other_value);
PDU__GMM__GMM__Information_template& operator=(const PDU__GMM__GMM__Information_template& other_value);
boolean match(const PDU__GMM__GMM__Information& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__GMM__Information valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__GMM__Information_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
MobileL3__MM__Types::NetworkNameTLV_template& fullNetworkName();
const MobileL3__MM__Types::NetworkNameTLV_template& fullNetworkName() const;
MobileL3__MM__Types::NetworkNameTLV_template& shortNetworkName();
const MobileL3__MM__Types::NetworkNameTLV_template& shortNetworkName() const;
MobileL3__MM__Types::TimeZoneTV_template& networkTimeZone();
const MobileL3__MM__Types::TimeZoneTV_template& networkTimeZone() const;
MobileL3__MM__Types::TimeZoneAndTimeTV_template& networkTimeAndTimeZone();
const MobileL3__MM__Types::TimeZoneAndTimeTV_template& networkTimeAndTimeZone() const;
MobileL3__MM__Types::LSA__IdentifierTLV_template& lsaIdentity();
const MobileL3__MM__Types::LSA__IdentifierTLV_template& lsaIdentity() const;
MobileL3__MM__Types::DaylightSavingTimeTLV_template& networkDaylightSavingTime();
const MobileL3__MM__Types::DaylightSavingTimeTLV_template& networkDaylightSavingTime() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__GMM__Information& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__ServiceRequest : public Base_Type {
  BITSTRING field_messageType;
  MobileL3__CommonIE__Types::CipheringKeySequenceNumberV field_cipheringKeySeqNum;
  ServiceTypeV field_serviceType;
  MobileL3__CommonIE__Types::MobileIdentityLV field_ptmsi;
  OPTIONAL< PDPContextStatusTLV > field_pdpContextStatus;
  OPTIONAL< MBMS__ContextStatusTLV > field_mBMS__ContextStatus;
  OPTIONAL< UplinkDataStatusTLV > field_uplinkDataStatus;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
public:
  PDU__GMM__ServiceRequest();
  PDU__GMM__ServiceRequest(const BITSTRING& par_messageType,
    const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& par_cipheringKeySeqNum,
    const ServiceTypeV& par_serviceType,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_ptmsi,
    const OPTIONAL< PDPContextStatusTLV >& par_pdpContextStatus,
    const OPTIONAL< MBMS__ContextStatusTLV >& par_mBMS__ContextStatus,
    const OPTIONAL< UplinkDataStatusTLV >& par_uplinkDataStatus,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties);
  PDU__GMM__ServiceRequest(const PDU__GMM__ServiceRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__ServiceRequest& operator=(const PDU__GMM__ServiceRequest& other_value);
  boolean operator==(const PDU__GMM__ServiceRequest& other_value) const;
  inline boolean operator!=(const PDU__GMM__ServiceRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySeqNum()
    {return field_cipheringKeySeqNum;}
  inline const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySeqNum() const
    {return field_cipheringKeySeqNum;}
  inline ServiceTypeV& serviceType()
    {return field_serviceType;}
  inline const ServiceTypeV& serviceType() const
    {return field_serviceType;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& ptmsi()
    {return field_ptmsi;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& ptmsi() const
    {return field_ptmsi;}
  inline OPTIONAL< PDPContextStatusTLV >& pdpContextStatus()
    {return field_pdpContextStatus;}
  inline const OPTIONAL< PDPContextStatusTLV >& pdpContextStatus() const
    {return field_pdpContextStatus;}
  inline OPTIONAL< MBMS__ContextStatusTLV >& mBMS__ContextStatus()
    {return field_mBMS__ContextStatus;}
  inline const OPTIONAL< MBMS__ContextStatusTLV >& mBMS__ContextStatus() const
    {return field_mBMS__ContextStatus;}
  inline OPTIONAL< UplinkDataStatusTLV >& uplinkDataStatus()
    {return field_uplinkDataStatus;}
  inline const OPTIONAL< UplinkDataStatusTLV >& uplinkDataStatus() const
    {return field_uplinkDataStatus;}
  inline OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties()
    {return field_deviceProperties;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties() const
    {return field_deviceProperties;}
  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 PDU__GMM__ServiceRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__ServiceRequest_template *list_value;
} value_list;
struct {
PDU__GMM__ServiceRequest_template* precondition;
PDU__GMM__ServiceRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__ServiceRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__ServiceRequest& other_value);
void copy_template(const PDU__GMM__ServiceRequest_template& other_value);

public:
PDU__GMM__ServiceRequest_template();
PDU__GMM__ServiceRequest_template(template_sel other_value);
PDU__GMM__ServiceRequest_template(const PDU__GMM__ServiceRequest& other_value);
PDU__GMM__ServiceRequest_template(const OPTIONAL<PDU__GMM__ServiceRequest>& other_value);
PDU__GMM__ServiceRequest_template(PDU__GMM__ServiceRequest_template* p_precondition, PDU__GMM__ServiceRequest_template* p_implied_template);
PDU__GMM__ServiceRequest_template(Dynamic_Match_Interface<PDU__GMM__ServiceRequest>* p_dyn_match);
PDU__GMM__ServiceRequest_template(const PDU__GMM__ServiceRequest_template& other_value);
~PDU__GMM__ServiceRequest_template();
PDU__GMM__ServiceRequest_template& operator=(template_sel other_value);
PDU__GMM__ServiceRequest_template& operator=(const PDU__GMM__ServiceRequest& other_value);
PDU__GMM__ServiceRequest_template& operator=(const OPTIONAL<PDU__GMM__ServiceRequest>& other_value);
PDU__GMM__ServiceRequest_template& operator=(const PDU__GMM__ServiceRequest_template& other_value);
boolean match(const PDU__GMM__ServiceRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__ServiceRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__ServiceRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& cipheringKeySeqNum();
const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& cipheringKeySeqNum() const;
ServiceTypeV_template& serviceType();
const ServiceTypeV_template& serviceType() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& ptmsi();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& ptmsi() const;
PDPContextStatusTLV_template& pdpContextStatus();
const PDPContextStatusTLV_template& pdpContextStatus() const;
MBMS__ContextStatusTLV_template& mBMS__ContextStatus();
const MBMS__ContextStatusTLV_template& mBMS__ContextStatus() const;
UplinkDataStatusTLV_template& uplinkDataStatus();
const UplinkDataStatusTLV_template& uplinkDataStatus() const;
MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties();
const MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__ServiceRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__ServiceAccept : public Base_Type {
  BITSTRING field_messageType;
  OPTIONAL< PDPContextStatusTLV > field_pdpContextStatus;
  OPTIONAL< MBMS__ContextStatusTLV > field_mBMS__ContextStatus;
public:
  PDU__GMM__ServiceAccept();
  PDU__GMM__ServiceAccept(const BITSTRING& par_messageType,
    const OPTIONAL< PDPContextStatusTLV >& par_pdpContextStatus,
    const OPTIONAL< MBMS__ContextStatusTLV >& par_mBMS__ContextStatus);
  PDU__GMM__ServiceAccept(const PDU__GMM__ServiceAccept& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__ServiceAccept& operator=(const PDU__GMM__ServiceAccept& other_value);
  boolean operator==(const PDU__GMM__ServiceAccept& other_value) const;
  inline boolean operator!=(const PDU__GMM__ServiceAccept& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OPTIONAL< PDPContextStatusTLV >& pdpContextStatus()
    {return field_pdpContextStatus;}
  inline const OPTIONAL< PDPContextStatusTLV >& pdpContextStatus() const
    {return field_pdpContextStatus;}
  inline OPTIONAL< MBMS__ContextStatusTLV >& mBMS__ContextStatus()
    {return field_mBMS__ContextStatus;}
  inline const OPTIONAL< MBMS__ContextStatusTLV >& mBMS__ContextStatus() const
    {return field_mBMS__ContextStatus;}
  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 PDU__GMM__ServiceAccept_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__ServiceAccept_template *list_value;
} value_list;
struct {
PDU__GMM__ServiceAccept_template* precondition;
PDU__GMM__ServiceAccept_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__ServiceAccept>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__ServiceAccept& other_value);
void copy_template(const PDU__GMM__ServiceAccept_template& other_value);

public:
PDU__GMM__ServiceAccept_template();
PDU__GMM__ServiceAccept_template(template_sel other_value);
PDU__GMM__ServiceAccept_template(const PDU__GMM__ServiceAccept& other_value);
PDU__GMM__ServiceAccept_template(const OPTIONAL<PDU__GMM__ServiceAccept>& other_value);
PDU__GMM__ServiceAccept_template(PDU__GMM__ServiceAccept_template* p_precondition, PDU__GMM__ServiceAccept_template* p_implied_template);
PDU__GMM__ServiceAccept_template(Dynamic_Match_Interface<PDU__GMM__ServiceAccept>* p_dyn_match);
PDU__GMM__ServiceAccept_template(const PDU__GMM__ServiceAccept_template& other_value);
~PDU__GMM__ServiceAccept_template();
PDU__GMM__ServiceAccept_template& operator=(template_sel other_value);
PDU__GMM__ServiceAccept_template& operator=(const PDU__GMM__ServiceAccept& other_value);
PDU__GMM__ServiceAccept_template& operator=(const OPTIONAL<PDU__GMM__ServiceAccept>& other_value);
PDU__GMM__ServiceAccept_template& operator=(const PDU__GMM__ServiceAccept_template& other_value);
boolean match(const PDU__GMM__ServiceAccept& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__ServiceAccept valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__ServiceAccept_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
PDPContextStatusTLV_template& pdpContextStatus();
const PDPContextStatusTLV_template& pdpContextStatus() const;
MBMS__ContextStatusTLV_template& mBMS__ContextStatus();
const MBMS__ContextStatusTLV_template& mBMS__ContextStatus() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__ServiceAccept& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__GMM__ServiceReject : public Base_Type {
  BITSTRING field_messageType;
  GMM__CauseV field_gmmCause;
  OPTIONAL< GPRSTimer2TLV > field_t3346;
public:
  PDU__GMM__ServiceReject();
  PDU__GMM__ServiceReject(const BITSTRING& par_messageType,
    const GMM__CauseV& par_gmmCause,
    const OPTIONAL< GPRSTimer2TLV >& par_t3346);
  PDU__GMM__ServiceReject(const PDU__GMM__ServiceReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__GMM__ServiceReject& operator=(const PDU__GMM__ServiceReject& other_value);
  boolean operator==(const PDU__GMM__ServiceReject& other_value) const;
  inline boolean operator!=(const PDU__GMM__ServiceReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline GMM__CauseV& gmmCause()
    {return field_gmmCause;}
  inline const GMM__CauseV& gmmCause() const
    {return field_gmmCause;}
  inline OPTIONAL< GPRSTimer2TLV >& t3346()
    {return field_t3346;}
  inline const OPTIONAL< GPRSTimer2TLV >& t3346() const
    {return field_t3346;}
  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 PDU__GMM__ServiceReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__GMM__ServiceReject_template *list_value;
} value_list;
struct {
PDU__GMM__ServiceReject_template* precondition;
PDU__GMM__ServiceReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__GMM__ServiceReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__GMM__ServiceReject& other_value);
void copy_template(const PDU__GMM__ServiceReject_template& other_value);

public:
PDU__GMM__ServiceReject_template();
PDU__GMM__ServiceReject_template(template_sel other_value);
PDU__GMM__ServiceReject_template(const PDU__GMM__ServiceReject& other_value);
PDU__GMM__ServiceReject_template(const OPTIONAL<PDU__GMM__ServiceReject>& other_value);
PDU__GMM__ServiceReject_template(PDU__GMM__ServiceReject_template* p_precondition, PDU__GMM__ServiceReject_template* p_implied_template);
PDU__GMM__ServiceReject_template(Dynamic_Match_Interface<PDU__GMM__ServiceReject>* p_dyn_match);
PDU__GMM__ServiceReject_template(const PDU__GMM__ServiceReject_template& other_value);
~PDU__GMM__ServiceReject_template();
PDU__GMM__ServiceReject_template& operator=(template_sel other_value);
PDU__GMM__ServiceReject_template& operator=(const PDU__GMM__ServiceReject& other_value);
PDU__GMM__ServiceReject_template& operator=(const OPTIONAL<PDU__GMM__ServiceReject>& other_value);
PDU__GMM__ServiceReject_template& operator=(const PDU__GMM__ServiceReject_template& other_value);
boolean match(const PDU__GMM__ServiceReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__GMM__ServiceReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__ServiceReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
GMM__CauseV_template& gmmCause();
const GMM__CauseV_template& gmmCause() const;
GPRSTimer2TLV_template& t3346();
const GPRSTimer2TLV_template& t3346() const;
int size_of() const;
void log() const;
void log_match(const PDU__GMM__ServiceReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivatePDPContextRequest : public Base_Type {
  BITSTRING field_messageType;
  NSAPIV field_requestedNSAPI;
  LLC__SAPIV field_requestedLLCSAPI;
  QoSLV field_requestedQoS;
  PDPAddressLV field_requestedPDPaddress;
  OPTIONAL< AccessPointNameTLV > field_accessPointName;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< RequestTypeTV > field_requestType;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ActivatePDPContextRequest();
  PDU__SM__ActivatePDPContextRequest(const BITSTRING& par_messageType,
    const NSAPIV& par_requestedNSAPI,
    const LLC__SAPIV& par_requestedLLCSAPI,
    const QoSLV& par_requestedQoS,
    const PDPAddressLV& par_requestedPDPaddress,
    const OPTIONAL< AccessPointNameTLV >& par_accessPointName,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< RequestTypeTV >& par_requestType,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ActivatePDPContextRequest(const PDU__SM__ActivatePDPContextRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivatePDPContextRequest& operator=(const PDU__SM__ActivatePDPContextRequest& other_value);
  boolean operator==(const PDU__SM__ActivatePDPContextRequest& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivatePDPContextRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline NSAPIV& requestedNSAPI()
    {return field_requestedNSAPI;}
  inline const NSAPIV& requestedNSAPI() const
    {return field_requestedNSAPI;}
  inline LLC__SAPIV& requestedLLCSAPI()
    {return field_requestedLLCSAPI;}
  inline const LLC__SAPIV& requestedLLCSAPI() const
    {return field_requestedLLCSAPI;}
  inline QoSLV& requestedQoS()
    {return field_requestedQoS;}
  inline const QoSLV& requestedQoS() const
    {return field_requestedQoS;}
  inline PDPAddressLV& requestedPDPaddress()
    {return field_requestedPDPaddress;}
  inline const PDPAddressLV& requestedPDPaddress() const
    {return field_requestedPDPaddress;}
  inline OPTIONAL< AccessPointNameTLV >& accessPointName()
    {return field_accessPointName;}
  inline const OPTIONAL< AccessPointNameTLV >& accessPointName() const
    {return field_accessPointName;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< RequestTypeTV >& requestType()
    {return field_requestType;}
  inline const OPTIONAL< RequestTypeTV >& requestType() const
    {return field_requestType;}
  inline OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties()
    {return field_deviceProperties;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties() const
    {return field_deviceProperties;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ActivatePDPContextRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivatePDPContextRequest_template *list_value;
} value_list;
struct {
PDU__SM__ActivatePDPContextRequest_template* precondition;
PDU__SM__ActivatePDPContextRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivatePDPContextRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivatePDPContextRequest& other_value);
void copy_template(const PDU__SM__ActivatePDPContextRequest_template& other_value);

public:
PDU__SM__ActivatePDPContextRequest_template();
PDU__SM__ActivatePDPContextRequest_template(template_sel other_value);
PDU__SM__ActivatePDPContextRequest_template(const PDU__SM__ActivatePDPContextRequest& other_value);
PDU__SM__ActivatePDPContextRequest_template(const OPTIONAL<PDU__SM__ActivatePDPContextRequest>& other_value);
PDU__SM__ActivatePDPContextRequest_template(PDU__SM__ActivatePDPContextRequest_template* p_precondition, PDU__SM__ActivatePDPContextRequest_template* p_implied_template);
PDU__SM__ActivatePDPContextRequest_template(Dynamic_Match_Interface<PDU__SM__ActivatePDPContextRequest>* p_dyn_match);
PDU__SM__ActivatePDPContextRequest_template(const PDU__SM__ActivatePDPContextRequest_template& other_value);
~PDU__SM__ActivatePDPContextRequest_template();
PDU__SM__ActivatePDPContextRequest_template& operator=(template_sel other_value);
PDU__SM__ActivatePDPContextRequest_template& operator=(const PDU__SM__ActivatePDPContextRequest& other_value);
PDU__SM__ActivatePDPContextRequest_template& operator=(const OPTIONAL<PDU__SM__ActivatePDPContextRequest>& other_value);
PDU__SM__ActivatePDPContextRequest_template& operator=(const PDU__SM__ActivatePDPContextRequest_template& other_value);
boolean match(const PDU__SM__ActivatePDPContextRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivatePDPContextRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivatePDPContextRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
NSAPIV_template& requestedNSAPI();
const NSAPIV_template& requestedNSAPI() const;
LLC__SAPIV_template& requestedLLCSAPI();
const LLC__SAPIV_template& requestedLLCSAPI() const;
QoSLV_template& requestedQoS();
const QoSLV_template& requestedQoS() const;
PDPAddressLV_template& requestedPDPaddress();
const PDPAddressLV_template& requestedPDPaddress() const;
AccessPointNameTLV_template& accessPointName();
const AccessPointNameTLV_template& accessPointName() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
RequestTypeTV_template& requestType();
const RequestTypeTV_template& requestType() const;
MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties();
const MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivatePDPContextRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivatePDPContextAccept : public Base_Type {
  BITSTRING field_messageType;
  LLC__SAPIV field_negotiatedLLCSAPI;
  QoSLV field_negotiatedQoS;
  RadioPriorityV field_radioPriority;
  BITSTRING field_spare;
  OPTIONAL< PDPAddressTLV > field_pdpAddress;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< PacketFlowIDTLV > field_packetFlowID;
  OPTIONAL< SMCause2TLV > field_sMCause2;
  OPTIONAL< ConnectivityTypeTV > field_connectivityType;
  OPTIONAL< WLANOffloadAcceptabilityTV > field_wLANOffloadIndication;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ActivatePDPContextAccept();
  PDU__SM__ActivatePDPContextAccept(const BITSTRING& par_messageType,
    const LLC__SAPIV& par_negotiatedLLCSAPI,
    const QoSLV& par_negotiatedQoS,
    const RadioPriorityV& par_radioPriority,
    const BITSTRING& par_spare,
    const OPTIONAL< PDPAddressTLV >& par_pdpAddress,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< PacketFlowIDTLV >& par_packetFlowID,
    const OPTIONAL< SMCause2TLV >& par_sMCause2,
    const OPTIONAL< ConnectivityTypeTV >& par_connectivityType,
    const OPTIONAL< WLANOffloadAcceptabilityTV >& par_wLANOffloadIndication,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ActivatePDPContextAccept(const PDU__SM__ActivatePDPContextAccept& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivatePDPContextAccept& operator=(const PDU__SM__ActivatePDPContextAccept& other_value);
  boolean operator==(const PDU__SM__ActivatePDPContextAccept& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivatePDPContextAccept& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline LLC__SAPIV& negotiatedLLCSAPI()
    {return field_negotiatedLLCSAPI;}
  inline const LLC__SAPIV& negotiatedLLCSAPI() const
    {return field_negotiatedLLCSAPI;}
  inline QoSLV& negotiatedQoS()
    {return field_negotiatedQoS;}
  inline const QoSLV& negotiatedQoS() const
    {return field_negotiatedQoS;}
  inline RadioPriorityV& radioPriority()
    {return field_radioPriority;}
  inline const RadioPriorityV& radioPriority() const
    {return field_radioPriority;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline OPTIONAL< PDPAddressTLV >& pdpAddress()
    {return field_pdpAddress;}
  inline const OPTIONAL< PDPAddressTLV >& pdpAddress() const
    {return field_pdpAddress;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< PacketFlowIDTLV >& packetFlowID()
    {return field_packetFlowID;}
  inline const OPTIONAL< PacketFlowIDTLV >& packetFlowID() const
    {return field_packetFlowID;}
  inline OPTIONAL< SMCause2TLV >& sMCause2()
    {return field_sMCause2;}
  inline const OPTIONAL< SMCause2TLV >& sMCause2() const
    {return field_sMCause2;}
  inline OPTIONAL< ConnectivityTypeTV >& connectivityType()
    {return field_connectivityType;}
  inline const OPTIONAL< ConnectivityTypeTV >& connectivityType() const
    {return field_connectivityType;}
  inline OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication()
    {return field_wLANOffloadIndication;}
  inline const OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication() const
    {return field_wLANOffloadIndication;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ActivatePDPContextAccept_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivatePDPContextAccept_template *list_value;
} value_list;
struct {
PDU__SM__ActivatePDPContextAccept_template* precondition;
PDU__SM__ActivatePDPContextAccept_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivatePDPContextAccept>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivatePDPContextAccept& other_value);
void copy_template(const PDU__SM__ActivatePDPContextAccept_template& other_value);

public:
PDU__SM__ActivatePDPContextAccept_template();
PDU__SM__ActivatePDPContextAccept_template(template_sel other_value);
PDU__SM__ActivatePDPContextAccept_template(const PDU__SM__ActivatePDPContextAccept& other_value);
PDU__SM__ActivatePDPContextAccept_template(const OPTIONAL<PDU__SM__ActivatePDPContextAccept>& other_value);
PDU__SM__ActivatePDPContextAccept_template(PDU__SM__ActivatePDPContextAccept_template* p_precondition, PDU__SM__ActivatePDPContextAccept_template* p_implied_template);
PDU__SM__ActivatePDPContextAccept_template(Dynamic_Match_Interface<PDU__SM__ActivatePDPContextAccept>* p_dyn_match);
PDU__SM__ActivatePDPContextAccept_template(const PDU__SM__ActivatePDPContextAccept_template& other_value);
~PDU__SM__ActivatePDPContextAccept_template();
PDU__SM__ActivatePDPContextAccept_template& operator=(template_sel other_value);
PDU__SM__ActivatePDPContextAccept_template& operator=(const PDU__SM__ActivatePDPContextAccept& other_value);
PDU__SM__ActivatePDPContextAccept_template& operator=(const OPTIONAL<PDU__SM__ActivatePDPContextAccept>& other_value);
PDU__SM__ActivatePDPContextAccept_template& operator=(const PDU__SM__ActivatePDPContextAccept_template& other_value);
boolean match(const PDU__SM__ActivatePDPContextAccept& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivatePDPContextAccept valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivatePDPContextAccept_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
LLC__SAPIV_template& negotiatedLLCSAPI();
const LLC__SAPIV_template& negotiatedLLCSAPI() const;
QoSLV_template& negotiatedQoS();
const QoSLV_template& negotiatedQoS() const;
RadioPriorityV_template& radioPriority();
const RadioPriorityV_template& radioPriority() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
PDPAddressTLV_template& pdpAddress();
const PDPAddressTLV_template& pdpAddress() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
PacketFlowIDTLV_template& packetFlowID();
const PacketFlowIDTLV_template& packetFlowID() const;
SMCause2TLV_template& sMCause2();
const SMCause2TLV_template& sMCause2() const;
ConnectivityTypeTV_template& connectivityType();
const ConnectivityTypeTV_template& connectivityType() const;
WLANOffloadAcceptabilityTV_template& wLANOffloadIndication();
const WLANOffloadAcceptabilityTV_template& wLANOffloadIndication() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivatePDPContextAccept& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivatePDPContextReject : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_backOffTimer;
  OPTIONAL< ReAttemptIndicatorTLV > field_reAttemptIndicator;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ActivatePDPContextReject();
  PDU__SM__ActivatePDPContextReject(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_backOffTimer,
    const OPTIONAL< ReAttemptIndicatorTLV >& par_reAttemptIndicator,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ActivatePDPContextReject(const PDU__SM__ActivatePDPContextReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivatePDPContextReject& operator=(const PDU__SM__ActivatePDPContextReject& other_value);
  boolean operator==(const PDU__SM__ActivatePDPContextReject& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivatePDPContextReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& backOffTimer()
    {return field_backOffTimer;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& backOffTimer() const
    {return field_backOffTimer;}
  inline OPTIONAL< ReAttemptIndicatorTLV >& reAttemptIndicator()
    {return field_reAttemptIndicator;}
  inline const OPTIONAL< ReAttemptIndicatorTLV >& reAttemptIndicator() const
    {return field_reAttemptIndicator;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ActivatePDPContextReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivatePDPContextReject_template *list_value;
} value_list;
struct {
PDU__SM__ActivatePDPContextReject_template* precondition;
PDU__SM__ActivatePDPContextReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivatePDPContextReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivatePDPContextReject& other_value);
void copy_template(const PDU__SM__ActivatePDPContextReject_template& other_value);

public:
PDU__SM__ActivatePDPContextReject_template();
PDU__SM__ActivatePDPContextReject_template(template_sel other_value);
PDU__SM__ActivatePDPContextReject_template(const PDU__SM__ActivatePDPContextReject& other_value);
PDU__SM__ActivatePDPContextReject_template(const OPTIONAL<PDU__SM__ActivatePDPContextReject>& other_value);
PDU__SM__ActivatePDPContextReject_template(PDU__SM__ActivatePDPContextReject_template* p_precondition, PDU__SM__ActivatePDPContextReject_template* p_implied_template);
PDU__SM__ActivatePDPContextReject_template(Dynamic_Match_Interface<PDU__SM__ActivatePDPContextReject>* p_dyn_match);
PDU__SM__ActivatePDPContextReject_template(const PDU__SM__ActivatePDPContextReject_template& other_value);
~PDU__SM__ActivatePDPContextReject_template();
PDU__SM__ActivatePDPContextReject_template& operator=(template_sel other_value);
PDU__SM__ActivatePDPContextReject_template& operator=(const PDU__SM__ActivatePDPContextReject& other_value);
PDU__SM__ActivatePDPContextReject_template& operator=(const OPTIONAL<PDU__SM__ActivatePDPContextReject>& other_value);
PDU__SM__ActivatePDPContextReject_template& operator=(const PDU__SM__ActivatePDPContextReject_template& other_value);
boolean match(const PDU__SM__ActivatePDPContextReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivatePDPContextReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivatePDPContextReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& backOffTimer();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& backOffTimer() const;
ReAttemptIndicatorTLV_template& reAttemptIndicator();
const ReAttemptIndicatorTLV_template& reAttemptIndicator() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivatePDPContextReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivateSecondaryPDPContextRequest : public Base_Type {
  BITSTRING field_messageType;
  NSAPIV field_requestedNSAPI;
  LLC__SAPIV field_requestedLLC__SAPI;
  QoSLV field_requestedQoS;
  LinkedTILV field_linkedTI;
  OPTIONAL< TrafficFlowTemplateTLV > field_tft;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ActivateSecondaryPDPContextRequest();
  PDU__SM__ActivateSecondaryPDPContextRequest(const BITSTRING& par_messageType,
    const NSAPIV& par_requestedNSAPI,
    const LLC__SAPIV& par_requestedLLC__SAPI,
    const QoSLV& par_requestedQoS,
    const LinkedTILV& par_linkedTI,
    const OPTIONAL< TrafficFlowTemplateTLV >& par_tft,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ActivateSecondaryPDPContextRequest(const PDU__SM__ActivateSecondaryPDPContextRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivateSecondaryPDPContextRequest& operator=(const PDU__SM__ActivateSecondaryPDPContextRequest& other_value);
  boolean operator==(const PDU__SM__ActivateSecondaryPDPContextRequest& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivateSecondaryPDPContextRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline NSAPIV& requestedNSAPI()
    {return field_requestedNSAPI;}
  inline const NSAPIV& requestedNSAPI() const
    {return field_requestedNSAPI;}
  inline LLC__SAPIV& requestedLLC__SAPI()
    {return field_requestedLLC__SAPI;}
  inline const LLC__SAPIV& requestedLLC__SAPI() const
    {return field_requestedLLC__SAPI;}
  inline QoSLV& requestedQoS()
    {return field_requestedQoS;}
  inline const QoSLV& requestedQoS() const
    {return field_requestedQoS;}
  inline LinkedTILV& linkedTI()
    {return field_linkedTI;}
  inline const LinkedTILV& linkedTI() const
    {return field_linkedTI;}
  inline OPTIONAL< TrafficFlowTemplateTLV >& tft()
    {return field_tft;}
  inline const OPTIONAL< TrafficFlowTemplateTLV >& tft() const
    {return field_tft;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties()
    {return field_deviceProperties;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties() const
    {return field_deviceProperties;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ActivateSecondaryPDPContextRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivateSecondaryPDPContextRequest_template *list_value;
} value_list;
struct {
PDU__SM__ActivateSecondaryPDPContextRequest_template* precondition;
PDU__SM__ActivateSecondaryPDPContextRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivateSecondaryPDPContextRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivateSecondaryPDPContextRequest& other_value);
void copy_template(const PDU__SM__ActivateSecondaryPDPContextRequest_template& other_value);

public:
PDU__SM__ActivateSecondaryPDPContextRequest_template();
PDU__SM__ActivateSecondaryPDPContextRequest_template(template_sel other_value);
PDU__SM__ActivateSecondaryPDPContextRequest_template(const PDU__SM__ActivateSecondaryPDPContextRequest& other_value);
PDU__SM__ActivateSecondaryPDPContextRequest_template(const OPTIONAL<PDU__SM__ActivateSecondaryPDPContextRequest>& other_value);
PDU__SM__ActivateSecondaryPDPContextRequest_template(PDU__SM__ActivateSecondaryPDPContextRequest_template* p_precondition, PDU__SM__ActivateSecondaryPDPContextRequest_template* p_implied_template);
PDU__SM__ActivateSecondaryPDPContextRequest_template(Dynamic_Match_Interface<PDU__SM__ActivateSecondaryPDPContextRequest>* p_dyn_match);
PDU__SM__ActivateSecondaryPDPContextRequest_template(const PDU__SM__ActivateSecondaryPDPContextRequest_template& other_value);
~PDU__SM__ActivateSecondaryPDPContextRequest_template();
PDU__SM__ActivateSecondaryPDPContextRequest_template& operator=(template_sel other_value);
PDU__SM__ActivateSecondaryPDPContextRequest_template& operator=(const PDU__SM__ActivateSecondaryPDPContextRequest& other_value);
PDU__SM__ActivateSecondaryPDPContextRequest_template& operator=(const OPTIONAL<PDU__SM__ActivateSecondaryPDPContextRequest>& other_value);
PDU__SM__ActivateSecondaryPDPContextRequest_template& operator=(const PDU__SM__ActivateSecondaryPDPContextRequest_template& other_value);
boolean match(const PDU__SM__ActivateSecondaryPDPContextRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivateSecondaryPDPContextRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivateSecondaryPDPContextRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
NSAPIV_template& requestedNSAPI();
const NSAPIV_template& requestedNSAPI() const;
LLC__SAPIV_template& requestedLLC__SAPI();
const LLC__SAPIV_template& requestedLLC__SAPI() const;
QoSLV_template& requestedQoS();
const QoSLV_template& requestedQoS() const;
LinkedTILV_template& linkedTI();
const LinkedTILV_template& linkedTI() const;
TrafficFlowTemplateTLV_template& tft();
const TrafficFlowTemplateTLV_template& tft() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties();
const MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivateSecondaryPDPContextRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivateSecondaryPDPContextAccept : public Base_Type {
  BITSTRING field_messageType;
  LLC__SAPIV field_negotiatedLLC__SAPI;
  QoSLV field_negotiatedQoS;
  RadioPriorityV field_radioPriority;
  BITSTRING field_spare;
  OPTIONAL< PacketFlowIDTLV > field_packetFlowIdentifier;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< WLANOffloadAcceptabilityTV > field_wLANOffloadIndication;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ActivateSecondaryPDPContextAccept();
  PDU__SM__ActivateSecondaryPDPContextAccept(const BITSTRING& par_messageType,
    const LLC__SAPIV& par_negotiatedLLC__SAPI,
    const QoSLV& par_negotiatedQoS,
    const RadioPriorityV& par_radioPriority,
    const BITSTRING& par_spare,
    const OPTIONAL< PacketFlowIDTLV >& par_packetFlowIdentifier,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< WLANOffloadAcceptabilityTV >& par_wLANOffloadIndication,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ActivateSecondaryPDPContextAccept(const PDU__SM__ActivateSecondaryPDPContextAccept& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivateSecondaryPDPContextAccept& operator=(const PDU__SM__ActivateSecondaryPDPContextAccept& other_value);
  boolean operator==(const PDU__SM__ActivateSecondaryPDPContextAccept& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivateSecondaryPDPContextAccept& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline LLC__SAPIV& negotiatedLLC__SAPI()
    {return field_negotiatedLLC__SAPI;}
  inline const LLC__SAPIV& negotiatedLLC__SAPI() const
    {return field_negotiatedLLC__SAPI;}
  inline QoSLV& negotiatedQoS()
    {return field_negotiatedQoS;}
  inline const QoSLV& negotiatedQoS() const
    {return field_negotiatedQoS;}
  inline RadioPriorityV& radioPriority()
    {return field_radioPriority;}
  inline const RadioPriorityV& radioPriority() const
    {return field_radioPriority;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline OPTIONAL< PacketFlowIDTLV >& packetFlowIdentifier()
    {return field_packetFlowIdentifier;}
  inline const OPTIONAL< PacketFlowIDTLV >& packetFlowIdentifier() const
    {return field_packetFlowIdentifier;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication()
    {return field_wLANOffloadIndication;}
  inline const OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication() const
    {return field_wLANOffloadIndication;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ActivateSecondaryPDPContextAccept_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivateSecondaryPDPContextAccept_template *list_value;
} value_list;
struct {
PDU__SM__ActivateSecondaryPDPContextAccept_template* precondition;
PDU__SM__ActivateSecondaryPDPContextAccept_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivateSecondaryPDPContextAccept>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivateSecondaryPDPContextAccept& other_value);
void copy_template(const PDU__SM__ActivateSecondaryPDPContextAccept_template& other_value);

public:
PDU__SM__ActivateSecondaryPDPContextAccept_template();
PDU__SM__ActivateSecondaryPDPContextAccept_template(template_sel other_value);
PDU__SM__ActivateSecondaryPDPContextAccept_template(const PDU__SM__ActivateSecondaryPDPContextAccept& other_value);
PDU__SM__ActivateSecondaryPDPContextAccept_template(const OPTIONAL<PDU__SM__ActivateSecondaryPDPContextAccept>& other_value);
PDU__SM__ActivateSecondaryPDPContextAccept_template(PDU__SM__ActivateSecondaryPDPContextAccept_template* p_precondition, PDU__SM__ActivateSecondaryPDPContextAccept_template* p_implied_template);
PDU__SM__ActivateSecondaryPDPContextAccept_template(Dynamic_Match_Interface<PDU__SM__ActivateSecondaryPDPContextAccept>* p_dyn_match);
PDU__SM__ActivateSecondaryPDPContextAccept_template(const PDU__SM__ActivateSecondaryPDPContextAccept_template& other_value);
~PDU__SM__ActivateSecondaryPDPContextAccept_template();
PDU__SM__ActivateSecondaryPDPContextAccept_template& operator=(template_sel other_value);
PDU__SM__ActivateSecondaryPDPContextAccept_template& operator=(const PDU__SM__ActivateSecondaryPDPContextAccept& other_value);
PDU__SM__ActivateSecondaryPDPContextAccept_template& operator=(const OPTIONAL<PDU__SM__ActivateSecondaryPDPContextAccept>& other_value);
PDU__SM__ActivateSecondaryPDPContextAccept_template& operator=(const PDU__SM__ActivateSecondaryPDPContextAccept_template& other_value);
boolean match(const PDU__SM__ActivateSecondaryPDPContextAccept& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivateSecondaryPDPContextAccept valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivateSecondaryPDPContextAccept_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
LLC__SAPIV_template& negotiatedLLC__SAPI();
const LLC__SAPIV_template& negotiatedLLC__SAPI() const;
QoSLV_template& negotiatedQoS();
const QoSLV_template& negotiatedQoS() const;
RadioPriorityV_template& radioPriority();
const RadioPriorityV_template& radioPriority() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
PacketFlowIDTLV_template& packetFlowIdentifier();
const PacketFlowIDTLV_template& packetFlowIdentifier() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
WLANOffloadAcceptabilityTV_template& wLANOffloadIndication();
const WLANOffloadAcceptabilityTV_template& wLANOffloadIndication() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivateSecondaryPDPContextAccept& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivateSecondaryPDPContextReject : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_backOffTimer;
  OPTIONAL< ReAttemptIndicatorTLV > field_reAttemptIndicator;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ActivateSecondaryPDPContextReject();
  PDU__SM__ActivateSecondaryPDPContextReject(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_backOffTimer,
    const OPTIONAL< ReAttemptIndicatorTLV >& par_reAttemptIndicator,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ActivateSecondaryPDPContextReject(const PDU__SM__ActivateSecondaryPDPContextReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivateSecondaryPDPContextReject& operator=(const PDU__SM__ActivateSecondaryPDPContextReject& other_value);
  boolean operator==(const PDU__SM__ActivateSecondaryPDPContextReject& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivateSecondaryPDPContextReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& backOffTimer()
    {return field_backOffTimer;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& backOffTimer() const
    {return field_backOffTimer;}
  inline OPTIONAL< ReAttemptIndicatorTLV >& reAttemptIndicator()
    {return field_reAttemptIndicator;}
  inline const OPTIONAL< ReAttemptIndicatorTLV >& reAttemptIndicator() const
    {return field_reAttemptIndicator;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ActivateSecondaryPDPContextReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivateSecondaryPDPContextReject_template *list_value;
} value_list;
struct {
PDU__SM__ActivateSecondaryPDPContextReject_template* precondition;
PDU__SM__ActivateSecondaryPDPContextReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivateSecondaryPDPContextReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivateSecondaryPDPContextReject& other_value);
void copy_template(const PDU__SM__ActivateSecondaryPDPContextReject_template& other_value);

public:
PDU__SM__ActivateSecondaryPDPContextReject_template();
PDU__SM__ActivateSecondaryPDPContextReject_template(template_sel other_value);
PDU__SM__ActivateSecondaryPDPContextReject_template(const PDU__SM__ActivateSecondaryPDPContextReject& other_value);
PDU__SM__ActivateSecondaryPDPContextReject_template(const OPTIONAL<PDU__SM__ActivateSecondaryPDPContextReject>& other_value);
PDU__SM__ActivateSecondaryPDPContextReject_template(PDU__SM__ActivateSecondaryPDPContextReject_template* p_precondition, PDU__SM__ActivateSecondaryPDPContextReject_template* p_implied_template);
PDU__SM__ActivateSecondaryPDPContextReject_template(Dynamic_Match_Interface<PDU__SM__ActivateSecondaryPDPContextReject>* p_dyn_match);
PDU__SM__ActivateSecondaryPDPContextReject_template(const PDU__SM__ActivateSecondaryPDPContextReject_template& other_value);
~PDU__SM__ActivateSecondaryPDPContextReject_template();
PDU__SM__ActivateSecondaryPDPContextReject_template& operator=(template_sel other_value);
PDU__SM__ActivateSecondaryPDPContextReject_template& operator=(const PDU__SM__ActivateSecondaryPDPContextReject& other_value);
PDU__SM__ActivateSecondaryPDPContextReject_template& operator=(const OPTIONAL<PDU__SM__ActivateSecondaryPDPContextReject>& other_value);
PDU__SM__ActivateSecondaryPDPContextReject_template& operator=(const PDU__SM__ActivateSecondaryPDPContextReject_template& other_value);
boolean match(const PDU__SM__ActivateSecondaryPDPContextReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivateSecondaryPDPContextReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivateSecondaryPDPContextReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& backOffTimer();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& backOffTimer() const;
ReAttemptIndicatorTLV_template& reAttemptIndicator();
const ReAttemptIndicatorTLV_template& reAttemptIndicator() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivateSecondaryPDPContextReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__RequestPDPContextActivation : public Base_Type {
  BITSTRING field_messageType;
  PDPAddressLV field_offeredPDPAdress;
  OPTIONAL< AccessPointNameTLV > field_accessPointName;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__RequestPDPContextActivation();
  PDU__SM__RequestPDPContextActivation(const BITSTRING& par_messageType,
    const PDPAddressLV& par_offeredPDPAdress,
    const OPTIONAL< AccessPointNameTLV >& par_accessPointName,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__RequestPDPContextActivation(const PDU__SM__RequestPDPContextActivation& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__RequestPDPContextActivation& operator=(const PDU__SM__RequestPDPContextActivation& other_value);
  boolean operator==(const PDU__SM__RequestPDPContextActivation& other_value) const;
  inline boolean operator!=(const PDU__SM__RequestPDPContextActivation& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline PDPAddressLV& offeredPDPAdress()
    {return field_offeredPDPAdress;}
  inline const PDPAddressLV& offeredPDPAdress() const
    {return field_offeredPDPAdress;}
  inline OPTIONAL< AccessPointNameTLV >& accessPointName()
    {return field_accessPointName;}
  inline const OPTIONAL< AccessPointNameTLV >& accessPointName() const
    {return field_accessPointName;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__RequestPDPContextActivation_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__RequestPDPContextActivation_template *list_value;
} value_list;
struct {
PDU__SM__RequestPDPContextActivation_template* precondition;
PDU__SM__RequestPDPContextActivation_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__RequestPDPContextActivation>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__RequestPDPContextActivation& other_value);
void copy_template(const PDU__SM__RequestPDPContextActivation_template& other_value);

public:
PDU__SM__RequestPDPContextActivation_template();
PDU__SM__RequestPDPContextActivation_template(template_sel other_value);
PDU__SM__RequestPDPContextActivation_template(const PDU__SM__RequestPDPContextActivation& other_value);
PDU__SM__RequestPDPContextActivation_template(const OPTIONAL<PDU__SM__RequestPDPContextActivation>& other_value);
PDU__SM__RequestPDPContextActivation_template(PDU__SM__RequestPDPContextActivation_template* p_precondition, PDU__SM__RequestPDPContextActivation_template* p_implied_template);
PDU__SM__RequestPDPContextActivation_template(Dynamic_Match_Interface<PDU__SM__RequestPDPContextActivation>* p_dyn_match);
PDU__SM__RequestPDPContextActivation_template(const PDU__SM__RequestPDPContextActivation_template& other_value);
~PDU__SM__RequestPDPContextActivation_template();
PDU__SM__RequestPDPContextActivation_template& operator=(template_sel other_value);
PDU__SM__RequestPDPContextActivation_template& operator=(const PDU__SM__RequestPDPContextActivation& other_value);
PDU__SM__RequestPDPContextActivation_template& operator=(const OPTIONAL<PDU__SM__RequestPDPContextActivation>& other_value);
PDU__SM__RequestPDPContextActivation_template& operator=(const PDU__SM__RequestPDPContextActivation_template& other_value);
boolean match(const PDU__SM__RequestPDPContextActivation& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__RequestPDPContextActivation valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__RequestPDPContextActivation_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
PDPAddressLV_template& offeredPDPAdress();
const PDPAddressLV_template& offeredPDPAdress() const;
AccessPointNameTLV_template& accessPointName();
const AccessPointNameTLV_template& accessPointName() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__RequestPDPContextActivation& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__RequestPDPContextActivationReject : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__RequestPDPContextActivationReject();
  PDU__SM__RequestPDPContextActivationReject(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__RequestPDPContextActivationReject(const PDU__SM__RequestPDPContextActivationReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__RequestPDPContextActivationReject& operator=(const PDU__SM__RequestPDPContextActivationReject& other_value);
  boolean operator==(const PDU__SM__RequestPDPContextActivationReject& other_value) const;
  inline boolean operator!=(const PDU__SM__RequestPDPContextActivationReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__RequestPDPContextActivationReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__RequestPDPContextActivationReject_template *list_value;
} value_list;
struct {
PDU__SM__RequestPDPContextActivationReject_template* precondition;
PDU__SM__RequestPDPContextActivationReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__RequestPDPContextActivationReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__RequestPDPContextActivationReject& other_value);
void copy_template(const PDU__SM__RequestPDPContextActivationReject_template& other_value);

public:
PDU__SM__RequestPDPContextActivationReject_template();
PDU__SM__RequestPDPContextActivationReject_template(template_sel other_value);
PDU__SM__RequestPDPContextActivationReject_template(const PDU__SM__RequestPDPContextActivationReject& other_value);
PDU__SM__RequestPDPContextActivationReject_template(const OPTIONAL<PDU__SM__RequestPDPContextActivationReject>& other_value);
PDU__SM__RequestPDPContextActivationReject_template(PDU__SM__RequestPDPContextActivationReject_template* p_precondition, PDU__SM__RequestPDPContextActivationReject_template* p_implied_template);
PDU__SM__RequestPDPContextActivationReject_template(Dynamic_Match_Interface<PDU__SM__RequestPDPContextActivationReject>* p_dyn_match);
PDU__SM__RequestPDPContextActivationReject_template(const PDU__SM__RequestPDPContextActivationReject_template& other_value);
~PDU__SM__RequestPDPContextActivationReject_template();
PDU__SM__RequestPDPContextActivationReject_template& operator=(template_sel other_value);
PDU__SM__RequestPDPContextActivationReject_template& operator=(const PDU__SM__RequestPDPContextActivationReject& other_value);
PDU__SM__RequestPDPContextActivationReject_template& operator=(const OPTIONAL<PDU__SM__RequestPDPContextActivationReject>& other_value);
PDU__SM__RequestPDPContextActivationReject_template& operator=(const PDU__SM__RequestPDPContextActivationReject_template& other_value);
boolean match(const PDU__SM__RequestPDPContextActivationReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__RequestPDPContextActivationReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__RequestPDPContextActivationReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__RequestPDPContextActivationReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ModifyPDPContextRequest__SGSN__MS : public Base_Type {
  BITSTRING field_messageType;
  RadioPriorityV field_radioPriority;
  BITSTRING field_spare;
  LLC__SAPIV field_requestedLLC__SAPI;
  QoSLV field_newQoS;
  OPTIONAL< PDPAddressTLV > field_pdpAddress;
  OPTIONAL< PacketFlowIDTLV > field_packetFlowIdentifier;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< TrafficFlowTemplateTLV > field_tFT;
  OPTIONAL< WLANOffloadAcceptabilityTV > field_wLANOffloadIndication;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ModifyPDPContextRequest__SGSN__MS();
  PDU__SM__ModifyPDPContextRequest__SGSN__MS(const BITSTRING& par_messageType,
    const RadioPriorityV& par_radioPriority,
    const BITSTRING& par_spare,
    const LLC__SAPIV& par_requestedLLC__SAPI,
    const QoSLV& par_newQoS,
    const OPTIONAL< PDPAddressTLV >& par_pdpAddress,
    const OPTIONAL< PacketFlowIDTLV >& par_packetFlowIdentifier,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< TrafficFlowTemplateTLV >& par_tFT,
    const OPTIONAL< WLANOffloadAcceptabilityTV >& par_wLANOffloadIndication,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ModifyPDPContextRequest__SGSN__MS(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ModifyPDPContextRequest__SGSN__MS& operator=(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& other_value);
  boolean operator==(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& other_value) const;
  inline boolean operator!=(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline RadioPriorityV& radioPriority()
    {return field_radioPriority;}
  inline const RadioPriorityV& radioPriority() const
    {return field_radioPriority;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline LLC__SAPIV& requestedLLC__SAPI()
    {return field_requestedLLC__SAPI;}
  inline const LLC__SAPIV& requestedLLC__SAPI() const
    {return field_requestedLLC__SAPI;}
  inline QoSLV& newQoS()
    {return field_newQoS;}
  inline const QoSLV& newQoS() const
    {return field_newQoS;}
  inline OPTIONAL< PDPAddressTLV >& pdpAddress()
    {return field_pdpAddress;}
  inline const OPTIONAL< PDPAddressTLV >& pdpAddress() const
    {return field_pdpAddress;}
  inline OPTIONAL< PacketFlowIDTLV >& packetFlowIdentifier()
    {return field_packetFlowIdentifier;}
  inline const OPTIONAL< PacketFlowIDTLV >& packetFlowIdentifier() const
    {return field_packetFlowIdentifier;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< TrafficFlowTemplateTLV >& tFT()
    {return field_tFT;}
  inline const OPTIONAL< TrafficFlowTemplateTLV >& tFT() const
    {return field_tFT;}
  inline OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication()
    {return field_wLANOffloadIndication;}
  inline const OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication() const
    {return field_wLANOffloadIndication;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ModifyPDPContextRequest__SGSN__MS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template *list_value;
} value_list;
struct {
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template* precondition;
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ModifyPDPContextRequest__SGSN__MS>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& other_value);
void copy_template(const PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& other_value);

public:
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template();
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template(template_sel other_value);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& other_value);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template(const OPTIONAL<PDU__SM__ModifyPDPContextRequest__SGSN__MS>& other_value);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template(PDU__SM__ModifyPDPContextRequest__SGSN__MS_template* p_precondition, PDU__SM__ModifyPDPContextRequest__SGSN__MS_template* p_implied_template);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template(Dynamic_Match_Interface<PDU__SM__ModifyPDPContextRequest__SGSN__MS>* p_dyn_match);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template(const PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& other_value);
~PDU__SM__ModifyPDPContextRequest__SGSN__MS_template();
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& operator=(template_sel other_value);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& operator=(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& other_value);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& operator=(const OPTIONAL<PDU__SM__ModifyPDPContextRequest__SGSN__MS>& other_value);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& operator=(const PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& other_value);
boolean match(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ModifyPDPContextRequest__SGSN__MS valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
RadioPriorityV_template& radioPriority();
const RadioPriorityV_template& radioPriority() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
LLC__SAPIV_template& requestedLLC__SAPI();
const LLC__SAPIV_template& requestedLLC__SAPI() const;
QoSLV_template& newQoS();
const QoSLV_template& newQoS() const;
PDPAddressTLV_template& pdpAddress();
const PDPAddressTLV_template& pdpAddress() const;
PacketFlowIDTLV_template& packetFlowIdentifier();
const PacketFlowIDTLV_template& packetFlowIdentifier() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
TrafficFlowTemplateTLV_template& tFT();
const TrafficFlowTemplateTLV_template& tFT() const;
WLANOffloadAcceptabilityTV_template& wLANOffloadIndication();
const WLANOffloadAcceptabilityTV_template& wLANOffloadIndication() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ModifyPDPContextRequest__MS__SGSN : public Base_Type {
  BITSTRING field_messageType;
  OPTIONAL< LLC__SAPITV > field_requestedLLC__SAPI;
  OPTIONAL< QoSTLV > field_requestedNewQoS;
  OPTIONAL< TrafficFlowTemplateTLV > field_newTFT;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ModifyPDPContextRequest__MS__SGSN();
  PDU__SM__ModifyPDPContextRequest__MS__SGSN(const BITSTRING& par_messageType,
    const OPTIONAL< LLC__SAPITV >& par_requestedLLC__SAPI,
    const OPTIONAL< QoSTLV >& par_requestedNewQoS,
    const OPTIONAL< TrafficFlowTemplateTLV >& par_newTFT,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ModifyPDPContextRequest__MS__SGSN(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ModifyPDPContextRequest__MS__SGSN& operator=(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& other_value);
  boolean operator==(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& other_value) const;
  inline boolean operator!=(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OPTIONAL< LLC__SAPITV >& requestedLLC__SAPI()
    {return field_requestedLLC__SAPI;}
  inline const OPTIONAL< LLC__SAPITV >& requestedLLC__SAPI() const
    {return field_requestedLLC__SAPI;}
  inline OPTIONAL< QoSTLV >& requestedNewQoS()
    {return field_requestedNewQoS;}
  inline const OPTIONAL< QoSTLV >& requestedNewQoS() const
    {return field_requestedNewQoS;}
  inline OPTIONAL< TrafficFlowTemplateTLV >& newTFT()
    {return field_newTFT;}
  inline const OPTIONAL< TrafficFlowTemplateTLV >& newTFT() const
    {return field_newTFT;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties()
    {return field_deviceProperties;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties() const
    {return field_deviceProperties;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ModifyPDPContextRequest__MS__SGSN_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template *list_value;
} value_list;
struct {
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template* precondition;
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ModifyPDPContextRequest__MS__SGSN>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& other_value);
void copy_template(const PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& other_value);

public:
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template();
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template(template_sel other_value);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& other_value);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template(const OPTIONAL<PDU__SM__ModifyPDPContextRequest__MS__SGSN>& other_value);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template(PDU__SM__ModifyPDPContextRequest__MS__SGSN_template* p_precondition, PDU__SM__ModifyPDPContextRequest__MS__SGSN_template* p_implied_template);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template(Dynamic_Match_Interface<PDU__SM__ModifyPDPContextRequest__MS__SGSN>* p_dyn_match);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template(const PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& other_value);
~PDU__SM__ModifyPDPContextRequest__MS__SGSN_template();
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& operator=(template_sel other_value);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& operator=(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& other_value);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& operator=(const OPTIONAL<PDU__SM__ModifyPDPContextRequest__MS__SGSN>& other_value);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& operator=(const PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& other_value);
boolean match(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ModifyPDPContextRequest__MS__SGSN valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
LLC__SAPITV_template& requestedLLC__SAPI();
const LLC__SAPITV_template& requestedLLC__SAPI() const;
QoSTLV_template& requestedNewQoS();
const QoSTLV_template& requestedNewQoS() const;
TrafficFlowTemplateTLV_template& newTFT();
const TrafficFlowTemplateTLV_template& newTFT() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties();
const MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ModifyPDPContextAccept__MS__SGSN : public Base_Type {
  BITSTRING field_messageType;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ModifyPDPContextAccept__MS__SGSN();
  PDU__SM__ModifyPDPContextAccept__MS__SGSN(const BITSTRING& par_messageType,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ModifyPDPContextAccept__MS__SGSN(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ModifyPDPContextAccept__MS__SGSN& operator=(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& other_value);
  boolean operator==(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& other_value) const;
  inline boolean operator!=(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ModifyPDPContextAccept__MS__SGSN_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template *list_value;
} value_list;
struct {
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template* precondition;
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ModifyPDPContextAccept__MS__SGSN>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& other_value);
void copy_template(const PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& other_value);

public:
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template();
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template(template_sel other_value);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& other_value);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template(const OPTIONAL<PDU__SM__ModifyPDPContextAccept__MS__SGSN>& other_value);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template(PDU__SM__ModifyPDPContextAccept__MS__SGSN_template* p_precondition, PDU__SM__ModifyPDPContextAccept__MS__SGSN_template* p_implied_template);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template(Dynamic_Match_Interface<PDU__SM__ModifyPDPContextAccept__MS__SGSN>* p_dyn_match);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template(const PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& other_value);
~PDU__SM__ModifyPDPContextAccept__MS__SGSN_template();
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& operator=(template_sel other_value);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& operator=(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& other_value);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& operator=(const OPTIONAL<PDU__SM__ModifyPDPContextAccept__MS__SGSN>& other_value);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& operator=(const PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& other_value);
boolean match(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ModifyPDPContextAccept__MS__SGSN valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ModifyPDPContextAccept__SGSN__MS : public Base_Type {
  BITSTRING field_messageType;
  OPTIONAL< QoSTLV > field_negotiatedQoS;
  OPTIONAL< LLC__SAPITV > field_negotiatedLLC__SAPI;
  OPTIONAL< RadioPriorityTV > field_newRadioPriority;
  OPTIONAL< PacketFlowIDTLV > field_packetFlowIdentifier;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< WLANOffloadAcceptabilityTV > field_wLANOffloadIndication;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ModifyPDPContextAccept__SGSN__MS();
  PDU__SM__ModifyPDPContextAccept__SGSN__MS(const BITSTRING& par_messageType,
    const OPTIONAL< QoSTLV >& par_negotiatedQoS,
    const OPTIONAL< LLC__SAPITV >& par_negotiatedLLC__SAPI,
    const OPTIONAL< RadioPriorityTV >& par_newRadioPriority,
    const OPTIONAL< PacketFlowIDTLV >& par_packetFlowIdentifier,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< WLANOffloadAcceptabilityTV >& par_wLANOffloadIndication,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ModifyPDPContextAccept__SGSN__MS(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ModifyPDPContextAccept__SGSN__MS& operator=(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& other_value);
  boolean operator==(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& other_value) const;
  inline boolean operator!=(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OPTIONAL< QoSTLV >& negotiatedQoS()
    {return field_negotiatedQoS;}
  inline const OPTIONAL< QoSTLV >& negotiatedQoS() const
    {return field_negotiatedQoS;}
  inline OPTIONAL< LLC__SAPITV >& negotiatedLLC__SAPI()
    {return field_negotiatedLLC__SAPI;}
  inline const OPTIONAL< LLC__SAPITV >& negotiatedLLC__SAPI() const
    {return field_negotiatedLLC__SAPI;}
  inline OPTIONAL< RadioPriorityTV >& newRadioPriority()
    {return field_newRadioPriority;}
  inline const OPTIONAL< RadioPriorityTV >& newRadioPriority() const
    {return field_newRadioPriority;}
  inline OPTIONAL< PacketFlowIDTLV >& packetFlowIdentifier()
    {return field_packetFlowIdentifier;}
  inline const OPTIONAL< PacketFlowIDTLV >& packetFlowIdentifier() const
    {return field_packetFlowIdentifier;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication()
    {return field_wLANOffloadIndication;}
  inline const OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication() const
    {return field_wLANOffloadIndication;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ModifyPDPContextAccept__SGSN__MS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template *list_value;
} value_list;
struct {
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template* precondition;
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ModifyPDPContextAccept__SGSN__MS>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& other_value);
void copy_template(const PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& other_value);

public:
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template();
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template(template_sel other_value);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& other_value);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template(const OPTIONAL<PDU__SM__ModifyPDPContextAccept__SGSN__MS>& other_value);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template(PDU__SM__ModifyPDPContextAccept__SGSN__MS_template* p_precondition, PDU__SM__ModifyPDPContextAccept__SGSN__MS_template* p_implied_template);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template(Dynamic_Match_Interface<PDU__SM__ModifyPDPContextAccept__SGSN__MS>* p_dyn_match);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template(const PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& other_value);
~PDU__SM__ModifyPDPContextAccept__SGSN__MS_template();
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& operator=(template_sel other_value);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& operator=(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& other_value);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& operator=(const OPTIONAL<PDU__SM__ModifyPDPContextAccept__SGSN__MS>& other_value);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& operator=(const PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& other_value);
boolean match(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ModifyPDPContextAccept__SGSN__MS valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
QoSTLV_template& negotiatedQoS();
const QoSTLV_template& negotiatedQoS() const;
LLC__SAPITV_template& negotiatedLLC__SAPI();
const LLC__SAPITV_template& negotiatedLLC__SAPI() const;
RadioPriorityTV_template& newRadioPriority();
const RadioPriorityTV_template& newRadioPriority() const;
PacketFlowIDTLV_template& packetFlowIdentifier();
const PacketFlowIDTLV_template& packetFlowIdentifier() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
WLANOffloadAcceptabilityTV_template& wLANOffloadIndication();
const WLANOffloadAcceptabilityTV_template& wLANOffloadIndication() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ModifyPDPContextReject : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_backOffTimer;
  OPTIONAL< ReAttemptIndicatorTLV > field_reAttemptIndicator;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__ModifyPDPContextReject();
  PDU__SM__ModifyPDPContextReject(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_backOffTimer,
    const OPTIONAL< ReAttemptIndicatorTLV >& par_reAttemptIndicator,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__ModifyPDPContextReject(const PDU__SM__ModifyPDPContextReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ModifyPDPContextReject& operator=(const PDU__SM__ModifyPDPContextReject& other_value);
  boolean operator==(const PDU__SM__ModifyPDPContextReject& other_value) const;
  inline boolean operator!=(const PDU__SM__ModifyPDPContextReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& backOffTimer()
    {return field_backOffTimer;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& backOffTimer() const
    {return field_backOffTimer;}
  inline OPTIONAL< ReAttemptIndicatorTLV >& reAttemptIndicator()
    {return field_reAttemptIndicator;}
  inline const OPTIONAL< ReAttemptIndicatorTLV >& reAttemptIndicator() const
    {return field_reAttemptIndicator;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__ModifyPDPContextReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ModifyPDPContextReject_template *list_value;
} value_list;
struct {
PDU__SM__ModifyPDPContextReject_template* precondition;
PDU__SM__ModifyPDPContextReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ModifyPDPContextReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ModifyPDPContextReject& other_value);
void copy_template(const PDU__SM__ModifyPDPContextReject_template& other_value);

public:
PDU__SM__ModifyPDPContextReject_template();
PDU__SM__ModifyPDPContextReject_template(template_sel other_value);
PDU__SM__ModifyPDPContextReject_template(const PDU__SM__ModifyPDPContextReject& other_value);
PDU__SM__ModifyPDPContextReject_template(const OPTIONAL<PDU__SM__ModifyPDPContextReject>& other_value);
PDU__SM__ModifyPDPContextReject_template(PDU__SM__ModifyPDPContextReject_template* p_precondition, PDU__SM__ModifyPDPContextReject_template* p_implied_template);
PDU__SM__ModifyPDPContextReject_template(Dynamic_Match_Interface<PDU__SM__ModifyPDPContextReject>* p_dyn_match);
PDU__SM__ModifyPDPContextReject_template(const PDU__SM__ModifyPDPContextReject_template& other_value);
~PDU__SM__ModifyPDPContextReject_template();
PDU__SM__ModifyPDPContextReject_template& operator=(template_sel other_value);
PDU__SM__ModifyPDPContextReject_template& operator=(const PDU__SM__ModifyPDPContextReject& other_value);
PDU__SM__ModifyPDPContextReject_template& operator=(const OPTIONAL<PDU__SM__ModifyPDPContextReject>& other_value);
PDU__SM__ModifyPDPContextReject_template& operator=(const PDU__SM__ModifyPDPContextReject_template& other_value);
boolean match(const PDU__SM__ModifyPDPContextReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ModifyPDPContextReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ModifyPDPContextReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& backOffTimer();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& backOffTimer() const;
ReAttemptIndicatorTLV_template& reAttemptIndicator();
const ReAttemptIndicatorTLV_template& reAttemptIndicator() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ModifyPDPContextReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__DeactivatePDPContextRequest : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
  OPTIONAL< TearDownIndicatorTV > field_tearDownIndicator;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< MBMSProtocolConfigOptionsTLV > field_mBMSprotocolConfigOptions;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_t3396;
  OPTIONAL< WLANOffloadAcceptabilityTV > field_wLANOffloadIndication;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__DeactivatePDPContextRequest();
  PDU__SM__DeactivatePDPContextRequest(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause,
    const OPTIONAL< TearDownIndicatorTV >& par_tearDownIndicator,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< MBMSProtocolConfigOptionsTLV >& par_mBMSprotocolConfigOptions,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_t3396,
    const OPTIONAL< WLANOffloadAcceptabilityTV >& par_wLANOffloadIndication,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__DeactivatePDPContextRequest(const PDU__SM__DeactivatePDPContextRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__DeactivatePDPContextRequest& operator=(const PDU__SM__DeactivatePDPContextRequest& other_value);
  boolean operator==(const PDU__SM__DeactivatePDPContextRequest& other_value) const;
  inline boolean operator!=(const PDU__SM__DeactivatePDPContextRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  inline OPTIONAL< TearDownIndicatorTV >& tearDownIndicator()
    {return field_tearDownIndicator;}
  inline const OPTIONAL< TearDownIndicatorTV >& tearDownIndicator() const
    {return field_tearDownIndicator;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions()
    {return field_mBMSprotocolConfigOptions;}
  inline const OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions() const
    {return field_mBMSprotocolConfigOptions;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3396()
    {return field_t3396;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& t3396() const
    {return field_t3396;}
  inline OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication()
    {return field_wLANOffloadIndication;}
  inline const OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication() const
    {return field_wLANOffloadIndication;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__DeactivatePDPContextRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__DeactivatePDPContextRequest_template *list_value;
} value_list;
struct {
PDU__SM__DeactivatePDPContextRequest_template* precondition;
PDU__SM__DeactivatePDPContextRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__DeactivatePDPContextRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__DeactivatePDPContextRequest& other_value);
void copy_template(const PDU__SM__DeactivatePDPContextRequest_template& other_value);

public:
PDU__SM__DeactivatePDPContextRequest_template();
PDU__SM__DeactivatePDPContextRequest_template(template_sel other_value);
PDU__SM__DeactivatePDPContextRequest_template(const PDU__SM__DeactivatePDPContextRequest& other_value);
PDU__SM__DeactivatePDPContextRequest_template(const OPTIONAL<PDU__SM__DeactivatePDPContextRequest>& other_value);
PDU__SM__DeactivatePDPContextRequest_template(PDU__SM__DeactivatePDPContextRequest_template* p_precondition, PDU__SM__DeactivatePDPContextRequest_template* p_implied_template);
PDU__SM__DeactivatePDPContextRequest_template(Dynamic_Match_Interface<PDU__SM__DeactivatePDPContextRequest>* p_dyn_match);
PDU__SM__DeactivatePDPContextRequest_template(const PDU__SM__DeactivatePDPContextRequest_template& other_value);
~PDU__SM__DeactivatePDPContextRequest_template();
PDU__SM__DeactivatePDPContextRequest_template& operator=(template_sel other_value);
PDU__SM__DeactivatePDPContextRequest_template& operator=(const PDU__SM__DeactivatePDPContextRequest& other_value);
PDU__SM__DeactivatePDPContextRequest_template& operator=(const OPTIONAL<PDU__SM__DeactivatePDPContextRequest>& other_value);
PDU__SM__DeactivatePDPContextRequest_template& operator=(const PDU__SM__DeactivatePDPContextRequest_template& other_value);
boolean match(const PDU__SM__DeactivatePDPContextRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__DeactivatePDPContextRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__DeactivatePDPContextRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
TearDownIndicatorTV_template& tearDownIndicator();
const TearDownIndicatorTV_template& tearDownIndicator() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions();
const MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3396();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& t3396() const;
WLANOffloadAcceptabilityTV_template& wLANOffloadIndication();
const WLANOffloadAcceptabilityTV_template& wLANOffloadIndication() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__DeactivatePDPContextRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__DeactivatePDPContextAccept : public Base_Type {
  BITSTRING field_messageType;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< MBMSProtocolConfigOptionsTLV > field_mBMSprotocolConfigOptions;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__DeactivatePDPContextAccept();
  PDU__SM__DeactivatePDPContextAccept(const BITSTRING& par_messageType,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< MBMSProtocolConfigOptionsTLV >& par_mBMSprotocolConfigOptions,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__DeactivatePDPContextAccept(const PDU__SM__DeactivatePDPContextAccept& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__DeactivatePDPContextAccept& operator=(const PDU__SM__DeactivatePDPContextAccept& other_value);
  boolean operator==(const PDU__SM__DeactivatePDPContextAccept& other_value) const;
  inline boolean operator!=(const PDU__SM__DeactivatePDPContextAccept& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions()
    {return field_mBMSprotocolConfigOptions;}
  inline const OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions() const
    {return field_mBMSprotocolConfigOptions;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__DeactivatePDPContextAccept_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__DeactivatePDPContextAccept_template *list_value;
} value_list;
struct {
PDU__SM__DeactivatePDPContextAccept_template* precondition;
PDU__SM__DeactivatePDPContextAccept_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__DeactivatePDPContextAccept>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__DeactivatePDPContextAccept& other_value);
void copy_template(const PDU__SM__DeactivatePDPContextAccept_template& other_value);

public:
PDU__SM__DeactivatePDPContextAccept_template();
PDU__SM__DeactivatePDPContextAccept_template(template_sel other_value);
PDU__SM__DeactivatePDPContextAccept_template(const PDU__SM__DeactivatePDPContextAccept& other_value);
PDU__SM__DeactivatePDPContextAccept_template(const OPTIONAL<PDU__SM__DeactivatePDPContextAccept>& other_value);
PDU__SM__DeactivatePDPContextAccept_template(PDU__SM__DeactivatePDPContextAccept_template* p_precondition, PDU__SM__DeactivatePDPContextAccept_template* p_implied_template);
PDU__SM__DeactivatePDPContextAccept_template(Dynamic_Match_Interface<PDU__SM__DeactivatePDPContextAccept>* p_dyn_match);
PDU__SM__DeactivatePDPContextAccept_template(const PDU__SM__DeactivatePDPContextAccept_template& other_value);
~PDU__SM__DeactivatePDPContextAccept_template();
PDU__SM__DeactivatePDPContextAccept_template& operator=(template_sel other_value);
PDU__SM__DeactivatePDPContextAccept_template& operator=(const PDU__SM__DeactivatePDPContextAccept& other_value);
PDU__SM__DeactivatePDPContextAccept_template& operator=(const OPTIONAL<PDU__SM__DeactivatePDPContextAccept>& other_value);
PDU__SM__DeactivatePDPContextAccept_template& operator=(const PDU__SM__DeactivatePDPContextAccept_template& other_value);
boolean match(const PDU__SM__DeactivatePDPContextAccept& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__DeactivatePDPContextAccept valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__DeactivatePDPContextAccept_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions();
const MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__DeactivatePDPContextAccept& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__RequestSecondaryPDPContextActivation : public Base_Type {
  BITSTRING field_messageType;
  QoSLV field_requiredQoS;
  LinkedTILV field_linkedTI;
  OPTIONAL< TrafficFlowTemplateTLV > field_tFT;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< WLANOffloadAcceptabilityTV > field_wLANOffloadIndication;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__RequestSecondaryPDPContextActivation();
  PDU__SM__RequestSecondaryPDPContextActivation(const BITSTRING& par_messageType,
    const QoSLV& par_requiredQoS,
    const LinkedTILV& par_linkedTI,
    const OPTIONAL< TrafficFlowTemplateTLV >& par_tFT,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< WLANOffloadAcceptabilityTV >& par_wLANOffloadIndication,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__RequestSecondaryPDPContextActivation(const PDU__SM__RequestSecondaryPDPContextActivation& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__RequestSecondaryPDPContextActivation& operator=(const PDU__SM__RequestSecondaryPDPContextActivation& other_value);
  boolean operator==(const PDU__SM__RequestSecondaryPDPContextActivation& other_value) const;
  inline boolean operator!=(const PDU__SM__RequestSecondaryPDPContextActivation& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline QoSLV& requiredQoS()
    {return field_requiredQoS;}
  inline const QoSLV& requiredQoS() const
    {return field_requiredQoS;}
  inline LinkedTILV& linkedTI()
    {return field_linkedTI;}
  inline const LinkedTILV& linkedTI() const
    {return field_linkedTI;}
  inline OPTIONAL< TrafficFlowTemplateTLV >& tFT()
    {return field_tFT;}
  inline const OPTIONAL< TrafficFlowTemplateTLV >& tFT() const
    {return field_tFT;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication()
    {return field_wLANOffloadIndication;}
  inline const OPTIONAL< WLANOffloadAcceptabilityTV >& wLANOffloadIndication() const
    {return field_wLANOffloadIndication;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__RequestSecondaryPDPContextActivation_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__RequestSecondaryPDPContextActivation_template *list_value;
} value_list;
struct {
PDU__SM__RequestSecondaryPDPContextActivation_template* precondition;
PDU__SM__RequestSecondaryPDPContextActivation_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__RequestSecondaryPDPContextActivation>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__RequestSecondaryPDPContextActivation& other_value);
void copy_template(const PDU__SM__RequestSecondaryPDPContextActivation_template& other_value);

public:
PDU__SM__RequestSecondaryPDPContextActivation_template();
PDU__SM__RequestSecondaryPDPContextActivation_template(template_sel other_value);
PDU__SM__RequestSecondaryPDPContextActivation_template(const PDU__SM__RequestSecondaryPDPContextActivation& other_value);
PDU__SM__RequestSecondaryPDPContextActivation_template(const OPTIONAL<PDU__SM__RequestSecondaryPDPContextActivation>& other_value);
PDU__SM__RequestSecondaryPDPContextActivation_template(PDU__SM__RequestSecondaryPDPContextActivation_template* p_precondition, PDU__SM__RequestSecondaryPDPContextActivation_template* p_implied_template);
PDU__SM__RequestSecondaryPDPContextActivation_template(Dynamic_Match_Interface<PDU__SM__RequestSecondaryPDPContextActivation>* p_dyn_match);
PDU__SM__RequestSecondaryPDPContextActivation_template(const PDU__SM__RequestSecondaryPDPContextActivation_template& other_value);
~PDU__SM__RequestSecondaryPDPContextActivation_template();
PDU__SM__RequestSecondaryPDPContextActivation_template& operator=(template_sel other_value);
PDU__SM__RequestSecondaryPDPContextActivation_template& operator=(const PDU__SM__RequestSecondaryPDPContextActivation& other_value);
PDU__SM__RequestSecondaryPDPContextActivation_template& operator=(const OPTIONAL<PDU__SM__RequestSecondaryPDPContextActivation>& other_value);
PDU__SM__RequestSecondaryPDPContextActivation_template& operator=(const PDU__SM__RequestSecondaryPDPContextActivation_template& other_value);
boolean match(const PDU__SM__RequestSecondaryPDPContextActivation& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__RequestSecondaryPDPContextActivation valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__RequestSecondaryPDPContextActivation_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
QoSLV_template& requiredQoS();
const QoSLV_template& requiredQoS() const;
LinkedTILV_template& linkedTI();
const LinkedTILV_template& linkedTI() const;
TrafficFlowTemplateTLV_template& tFT();
const TrafficFlowTemplateTLV_template& tFT() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
WLANOffloadAcceptabilityTV_template& wLANOffloadIndication();
const WLANOffloadAcceptabilityTV_template& wLANOffloadIndication() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__RequestSecondaryPDPContextActivation& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__RequestSecondaryPDPContextActivationReject : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
  OPTIONAL< ProtocolConfigOptionsTLV > field_protocolConfigOpts;
  OPTIONAL< NBIFOM__ContainerTLV > field_nBIFOM__Container;
public:
  PDU__SM__RequestSecondaryPDPContextActivationReject();
  PDU__SM__RequestSecondaryPDPContextActivationReject(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause,
    const OPTIONAL< ProtocolConfigOptionsTLV >& par_protocolConfigOpts,
    const OPTIONAL< NBIFOM__ContainerTLV >& par_nBIFOM__Container);
  PDU__SM__RequestSecondaryPDPContextActivationReject(const PDU__SM__RequestSecondaryPDPContextActivationReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__RequestSecondaryPDPContextActivationReject& operator=(const PDU__SM__RequestSecondaryPDPContextActivationReject& other_value);
  boolean operator==(const PDU__SM__RequestSecondaryPDPContextActivationReject& other_value) const;
  inline boolean operator!=(const PDU__SM__RequestSecondaryPDPContextActivationReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  inline OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts()
    {return field_protocolConfigOpts;}
  inline const OPTIONAL< ProtocolConfigOptionsTLV >& protocolConfigOpts() const
    {return field_protocolConfigOpts;}
  inline OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container()
    {return field_nBIFOM__Container;}
  inline const OPTIONAL< NBIFOM__ContainerTLV >& nBIFOM__Container() const
    {return field_nBIFOM__Container;}
  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 PDU__SM__RequestSecondaryPDPContextActivationReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__RequestSecondaryPDPContextActivationReject_template *list_value;
} value_list;
struct {
PDU__SM__RequestSecondaryPDPContextActivationReject_template* precondition;
PDU__SM__RequestSecondaryPDPContextActivationReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__RequestSecondaryPDPContextActivationReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__RequestSecondaryPDPContextActivationReject& other_value);
void copy_template(const PDU__SM__RequestSecondaryPDPContextActivationReject_template& other_value);

public:
PDU__SM__RequestSecondaryPDPContextActivationReject_template();
PDU__SM__RequestSecondaryPDPContextActivationReject_template(template_sel other_value);
PDU__SM__RequestSecondaryPDPContextActivationReject_template(const PDU__SM__RequestSecondaryPDPContextActivationReject& other_value);
PDU__SM__RequestSecondaryPDPContextActivationReject_template(const OPTIONAL<PDU__SM__RequestSecondaryPDPContextActivationReject>& other_value);
PDU__SM__RequestSecondaryPDPContextActivationReject_template(PDU__SM__RequestSecondaryPDPContextActivationReject_template* p_precondition, PDU__SM__RequestSecondaryPDPContextActivationReject_template* p_implied_template);
PDU__SM__RequestSecondaryPDPContextActivationReject_template(Dynamic_Match_Interface<PDU__SM__RequestSecondaryPDPContextActivationReject>* p_dyn_match);
PDU__SM__RequestSecondaryPDPContextActivationReject_template(const PDU__SM__RequestSecondaryPDPContextActivationReject_template& other_value);
~PDU__SM__RequestSecondaryPDPContextActivationReject_template();
PDU__SM__RequestSecondaryPDPContextActivationReject_template& operator=(template_sel other_value);
PDU__SM__RequestSecondaryPDPContextActivationReject_template& operator=(const PDU__SM__RequestSecondaryPDPContextActivationReject& other_value);
PDU__SM__RequestSecondaryPDPContextActivationReject_template& operator=(const OPTIONAL<PDU__SM__RequestSecondaryPDPContextActivationReject>& other_value);
PDU__SM__RequestSecondaryPDPContextActivationReject_template& operator=(const PDU__SM__RequestSecondaryPDPContextActivationReject_template& other_value);
boolean match(const PDU__SM__RequestSecondaryPDPContextActivationReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__RequestSecondaryPDPContextActivationReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__RequestSecondaryPDPContextActivationReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
ProtocolConfigOptionsTLV_template& protocolConfigOpts();
const ProtocolConfigOptionsTLV_template& protocolConfigOpts() const;
NBIFOM__ContainerTLV_template& nBIFOM__Container();
const NBIFOM__ContainerTLV_template& nBIFOM__Container() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__RequestSecondaryPDPContextActivationReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__Notification : public Base_Type {
  BITSTRING field_messageType;
  NotificationIndicatorLV field_notificationIndicator;
public:
  PDU__SM__Notification();
  PDU__SM__Notification(const BITSTRING& par_messageType,
    const NotificationIndicatorLV& par_notificationIndicator);
  PDU__SM__Notification(const PDU__SM__Notification& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__Notification& operator=(const PDU__SM__Notification& other_value);
  boolean operator==(const PDU__SM__Notification& other_value) const;
  inline boolean operator!=(const PDU__SM__Notification& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline NotificationIndicatorLV& notificationIndicator()
    {return field_notificationIndicator;}
  inline const NotificationIndicatorLV& notificationIndicator() const
    {return field_notificationIndicator;}
  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 PDU__SM__Notification_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__Notification_template *list_value;
} value_list;
struct {
PDU__SM__Notification_template* precondition;
PDU__SM__Notification_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__Notification>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__Notification& other_value);
void copy_template(const PDU__SM__Notification_template& other_value);

public:
PDU__SM__Notification_template();
PDU__SM__Notification_template(template_sel other_value);
PDU__SM__Notification_template(const PDU__SM__Notification& other_value);
PDU__SM__Notification_template(const OPTIONAL<PDU__SM__Notification>& other_value);
PDU__SM__Notification_template(PDU__SM__Notification_template* p_precondition, PDU__SM__Notification_template* p_implied_template);
PDU__SM__Notification_template(Dynamic_Match_Interface<PDU__SM__Notification>* p_dyn_match);
PDU__SM__Notification_template(const PDU__SM__Notification_template& other_value);
~PDU__SM__Notification_template();
PDU__SM__Notification_template& operator=(template_sel other_value);
PDU__SM__Notification_template& operator=(const PDU__SM__Notification& other_value);
PDU__SM__Notification_template& operator=(const OPTIONAL<PDU__SM__Notification>& other_value);
PDU__SM__Notification_template& operator=(const PDU__SM__Notification_template& other_value);
boolean match(const PDU__SM__Notification& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__Notification valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__Notification_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
NotificationIndicatorLV_template& notificationIndicator();
const NotificationIndicatorLV_template& notificationIndicator() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__Notification& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__SM__Status : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
public:
  PDU__SM__SM__Status();
  PDU__SM__SM__Status(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause);
  PDU__SM__SM__Status(const PDU__SM__SM__Status& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__SM__Status& operator=(const PDU__SM__SM__Status& other_value);
  boolean operator==(const PDU__SM__SM__Status& other_value) const;
  inline boolean operator!=(const PDU__SM__SM__Status& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  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 PDU__SM__SM__Status_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__SM__Status_template *list_value;
} value_list;
struct {
PDU__SM__SM__Status_template* precondition;
PDU__SM__SM__Status_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__SM__Status>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__SM__Status& other_value);
void copy_template(const PDU__SM__SM__Status_template& other_value);

public:
PDU__SM__SM__Status_template();
PDU__SM__SM__Status_template(template_sel other_value);
PDU__SM__SM__Status_template(const PDU__SM__SM__Status& other_value);
PDU__SM__SM__Status_template(const OPTIONAL<PDU__SM__SM__Status>& other_value);
PDU__SM__SM__Status_template(PDU__SM__SM__Status_template* p_precondition, PDU__SM__SM__Status_template* p_implied_template);
PDU__SM__SM__Status_template(Dynamic_Match_Interface<PDU__SM__SM__Status>* p_dyn_match);
PDU__SM__SM__Status_template(const PDU__SM__SM__Status_template& other_value);
~PDU__SM__SM__Status_template();
PDU__SM__SM__Status_template& operator=(template_sel other_value);
PDU__SM__SM__Status_template& operator=(const PDU__SM__SM__Status& other_value);
PDU__SM__SM__Status_template& operator=(const OPTIONAL<PDU__SM__SM__Status>& other_value);
PDU__SM__SM__Status_template& operator=(const PDU__SM__SM__Status_template& other_value);
boolean match(const PDU__SM__SM__Status& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__SM__Status valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__SM__Status_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__SM__Status& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivateMBMSContextRequest : public Base_Type {
  BITSTRING field_messageType;
  EnhancedNetworkSeviveAccessPointIDV field_requestedMBMS__NSAPI;
  LLC__SAPIV field_requestedLLCSAPI;
  MBMSBearerCapabilitiesLV field_supportdMBMSBearerCapabilities;
  PDPAddressLV field_requestedMulticastAddress;
  AccessPointNameLV field_accessPointName;
  OPTIONAL< MBMSProtocolConfigOptionsTLV > field_mBMSprotocolConfigOptions;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
public:
  PDU__SM__ActivateMBMSContextRequest();
  PDU__SM__ActivateMBMSContextRequest(const BITSTRING& par_messageType,
    const EnhancedNetworkSeviveAccessPointIDV& par_requestedMBMS__NSAPI,
    const LLC__SAPIV& par_requestedLLCSAPI,
    const MBMSBearerCapabilitiesLV& par_supportdMBMSBearerCapabilities,
    const PDPAddressLV& par_requestedMulticastAddress,
    const AccessPointNameLV& par_accessPointName,
    const OPTIONAL< MBMSProtocolConfigOptionsTLV >& par_mBMSprotocolConfigOptions,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties);
  PDU__SM__ActivateMBMSContextRequest(const PDU__SM__ActivateMBMSContextRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivateMBMSContextRequest& operator=(const PDU__SM__ActivateMBMSContextRequest& other_value);
  boolean operator==(const PDU__SM__ActivateMBMSContextRequest& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivateMBMSContextRequest& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline EnhancedNetworkSeviveAccessPointIDV& requestedMBMS__NSAPI()
    {return field_requestedMBMS__NSAPI;}
  inline const EnhancedNetworkSeviveAccessPointIDV& requestedMBMS__NSAPI() const
    {return field_requestedMBMS__NSAPI;}
  inline LLC__SAPIV& requestedLLCSAPI()
    {return field_requestedLLCSAPI;}
  inline const LLC__SAPIV& requestedLLCSAPI() const
    {return field_requestedLLCSAPI;}
  inline MBMSBearerCapabilitiesLV& supportdMBMSBearerCapabilities()
    {return field_supportdMBMSBearerCapabilities;}
  inline const MBMSBearerCapabilitiesLV& supportdMBMSBearerCapabilities() const
    {return field_supportdMBMSBearerCapabilities;}
  inline PDPAddressLV& requestedMulticastAddress()
    {return field_requestedMulticastAddress;}
  inline const PDPAddressLV& requestedMulticastAddress() const
    {return field_requestedMulticastAddress;}
  inline AccessPointNameLV& accessPointName()
    {return field_accessPointName;}
  inline const AccessPointNameLV& accessPointName() const
    {return field_accessPointName;}
  inline OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions()
    {return field_mBMSprotocolConfigOptions;}
  inline const OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions() const
    {return field_mBMSprotocolConfigOptions;}
  inline OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties()
    {return field_deviceProperties;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& deviceProperties() const
    {return field_deviceProperties;}
  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 PDU__SM__ActivateMBMSContextRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivateMBMSContextRequest_template *list_value;
} value_list;
struct {
PDU__SM__ActivateMBMSContextRequest_template* precondition;
PDU__SM__ActivateMBMSContextRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivateMBMSContextRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivateMBMSContextRequest& other_value);
void copy_template(const PDU__SM__ActivateMBMSContextRequest_template& other_value);

public:
PDU__SM__ActivateMBMSContextRequest_template();
PDU__SM__ActivateMBMSContextRequest_template(template_sel other_value);
PDU__SM__ActivateMBMSContextRequest_template(const PDU__SM__ActivateMBMSContextRequest& other_value);
PDU__SM__ActivateMBMSContextRequest_template(const OPTIONAL<PDU__SM__ActivateMBMSContextRequest>& other_value);
PDU__SM__ActivateMBMSContextRequest_template(PDU__SM__ActivateMBMSContextRequest_template* p_precondition, PDU__SM__ActivateMBMSContextRequest_template* p_implied_template);
PDU__SM__ActivateMBMSContextRequest_template(Dynamic_Match_Interface<PDU__SM__ActivateMBMSContextRequest>* p_dyn_match);
PDU__SM__ActivateMBMSContextRequest_template(const PDU__SM__ActivateMBMSContextRequest_template& other_value);
~PDU__SM__ActivateMBMSContextRequest_template();
PDU__SM__ActivateMBMSContextRequest_template& operator=(template_sel other_value);
PDU__SM__ActivateMBMSContextRequest_template& operator=(const PDU__SM__ActivateMBMSContextRequest& other_value);
PDU__SM__ActivateMBMSContextRequest_template& operator=(const OPTIONAL<PDU__SM__ActivateMBMSContextRequest>& other_value);
PDU__SM__ActivateMBMSContextRequest_template& operator=(const PDU__SM__ActivateMBMSContextRequest_template& other_value);
boolean match(const PDU__SM__ActivateMBMSContextRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivateMBMSContextRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivateMBMSContextRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
EnhancedNetworkSeviveAccessPointIDV_template& requestedMBMS__NSAPI();
const EnhancedNetworkSeviveAccessPointIDV_template& requestedMBMS__NSAPI() const;
LLC__SAPIV_template& requestedLLCSAPI();
const LLC__SAPIV_template& requestedLLCSAPI() const;
MBMSBearerCapabilitiesLV_template& supportdMBMSBearerCapabilities();
const MBMSBearerCapabilitiesLV_template& supportdMBMSBearerCapabilities() const;
PDPAddressLV_template& requestedMulticastAddress();
const PDPAddressLV_template& requestedMulticastAddress() const;
AccessPointNameLV_template& accessPointName();
const AccessPointNameLV_template& accessPointName() const;
MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions();
const MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions() const;
MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties();
const MobileL3__CommonIE__Types::DevicePropertiesTV_template& deviceProperties() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivateMBMSContextRequest& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivateMBMSContextAccept : public Base_Type {
  BITSTRING field_messageType;
  TemporaryMobileGroupIDLV field_temporaryMobileGroupIDLV;
  LLC__SAPIV field_negotiatedLLCSAPI;
  OPTIONAL< MBMSProtocolConfigOptionsTLV > field_mBMSprotocolConfigOptions;
public:
  PDU__SM__ActivateMBMSContextAccept();
  PDU__SM__ActivateMBMSContextAccept(const BITSTRING& par_messageType,
    const TemporaryMobileGroupIDLV& par_temporaryMobileGroupIDLV,
    const LLC__SAPIV& par_negotiatedLLCSAPI,
    const OPTIONAL< MBMSProtocolConfigOptionsTLV >& par_mBMSprotocolConfigOptions);
  PDU__SM__ActivateMBMSContextAccept(const PDU__SM__ActivateMBMSContextAccept& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivateMBMSContextAccept& operator=(const PDU__SM__ActivateMBMSContextAccept& other_value);
  boolean operator==(const PDU__SM__ActivateMBMSContextAccept& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivateMBMSContextAccept& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline TemporaryMobileGroupIDLV& temporaryMobileGroupIDLV()
    {return field_temporaryMobileGroupIDLV;}
  inline const TemporaryMobileGroupIDLV& temporaryMobileGroupIDLV() const
    {return field_temporaryMobileGroupIDLV;}
  inline LLC__SAPIV& negotiatedLLCSAPI()
    {return field_negotiatedLLCSAPI;}
  inline const LLC__SAPIV& negotiatedLLCSAPI() const
    {return field_negotiatedLLCSAPI;}
  inline OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions()
    {return field_mBMSprotocolConfigOptions;}
  inline const OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions() const
    {return field_mBMSprotocolConfigOptions;}
  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 PDU__SM__ActivateMBMSContextAccept_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivateMBMSContextAccept_template *list_value;
} value_list;
struct {
PDU__SM__ActivateMBMSContextAccept_template* precondition;
PDU__SM__ActivateMBMSContextAccept_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivateMBMSContextAccept>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivateMBMSContextAccept& other_value);
void copy_template(const PDU__SM__ActivateMBMSContextAccept_template& other_value);

public:
PDU__SM__ActivateMBMSContextAccept_template();
PDU__SM__ActivateMBMSContextAccept_template(template_sel other_value);
PDU__SM__ActivateMBMSContextAccept_template(const PDU__SM__ActivateMBMSContextAccept& other_value);
PDU__SM__ActivateMBMSContextAccept_template(const OPTIONAL<PDU__SM__ActivateMBMSContextAccept>& other_value);
PDU__SM__ActivateMBMSContextAccept_template(PDU__SM__ActivateMBMSContextAccept_template* p_precondition, PDU__SM__ActivateMBMSContextAccept_template* p_implied_template);
PDU__SM__ActivateMBMSContextAccept_template(Dynamic_Match_Interface<PDU__SM__ActivateMBMSContextAccept>* p_dyn_match);
PDU__SM__ActivateMBMSContextAccept_template(const PDU__SM__ActivateMBMSContextAccept_template& other_value);
~PDU__SM__ActivateMBMSContextAccept_template();
PDU__SM__ActivateMBMSContextAccept_template& operator=(template_sel other_value);
PDU__SM__ActivateMBMSContextAccept_template& operator=(const PDU__SM__ActivateMBMSContextAccept& other_value);
PDU__SM__ActivateMBMSContextAccept_template& operator=(const OPTIONAL<PDU__SM__ActivateMBMSContextAccept>& other_value);
PDU__SM__ActivateMBMSContextAccept_template& operator=(const PDU__SM__ActivateMBMSContextAccept_template& other_value);
boolean match(const PDU__SM__ActivateMBMSContextAccept& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivateMBMSContextAccept valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivateMBMSContextAccept_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
TemporaryMobileGroupIDLV_template& temporaryMobileGroupIDLV();
const TemporaryMobileGroupIDLV_template& temporaryMobileGroupIDLV() const;
LLC__SAPIV_template& negotiatedLLCSAPI();
const LLC__SAPIV_template& negotiatedLLCSAPI() const;
MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions();
const MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivateMBMSContextAccept& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__ActivateMBMSContextReject : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
  OPTIONAL< MBMSProtocolConfigOptionsTLV > field_mBMSprotocolConfigOptions;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_backOffTimer;
  OPTIONAL< ReAttemptIndicatorTLV > field_reAttemptIndicator;
public:
  PDU__SM__ActivateMBMSContextReject();
  PDU__SM__ActivateMBMSContextReject(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause,
    const OPTIONAL< MBMSProtocolConfigOptionsTLV >& par_mBMSprotocolConfigOptions,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_backOffTimer,
    const OPTIONAL< ReAttemptIndicatorTLV >& par_reAttemptIndicator);
  PDU__SM__ActivateMBMSContextReject(const PDU__SM__ActivateMBMSContextReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__ActivateMBMSContextReject& operator=(const PDU__SM__ActivateMBMSContextReject& other_value);
  boolean operator==(const PDU__SM__ActivateMBMSContextReject& other_value) const;
  inline boolean operator!=(const PDU__SM__ActivateMBMSContextReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  inline OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions()
    {return field_mBMSprotocolConfigOptions;}
  inline const OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions() const
    {return field_mBMSprotocolConfigOptions;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& backOffTimer()
    {return field_backOffTimer;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& backOffTimer() const
    {return field_backOffTimer;}
  inline OPTIONAL< ReAttemptIndicatorTLV >& reAttemptIndicator()
    {return field_reAttemptIndicator;}
  inline const OPTIONAL< ReAttemptIndicatorTLV >& reAttemptIndicator() const
    {return field_reAttemptIndicator;}
  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 PDU__SM__ActivateMBMSContextReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__ActivateMBMSContextReject_template *list_value;
} value_list;
struct {
PDU__SM__ActivateMBMSContextReject_template* precondition;
PDU__SM__ActivateMBMSContextReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__ActivateMBMSContextReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__ActivateMBMSContextReject& other_value);
void copy_template(const PDU__SM__ActivateMBMSContextReject_template& other_value);

public:
PDU__SM__ActivateMBMSContextReject_template();
PDU__SM__ActivateMBMSContextReject_template(template_sel other_value);
PDU__SM__ActivateMBMSContextReject_template(const PDU__SM__ActivateMBMSContextReject& other_value);
PDU__SM__ActivateMBMSContextReject_template(const OPTIONAL<PDU__SM__ActivateMBMSContextReject>& other_value);
PDU__SM__ActivateMBMSContextReject_template(PDU__SM__ActivateMBMSContextReject_template* p_precondition, PDU__SM__ActivateMBMSContextReject_template* p_implied_template);
PDU__SM__ActivateMBMSContextReject_template(Dynamic_Match_Interface<PDU__SM__ActivateMBMSContextReject>* p_dyn_match);
PDU__SM__ActivateMBMSContextReject_template(const PDU__SM__ActivateMBMSContextReject_template& other_value);
~PDU__SM__ActivateMBMSContextReject_template();
PDU__SM__ActivateMBMSContextReject_template& operator=(template_sel other_value);
PDU__SM__ActivateMBMSContextReject_template& operator=(const PDU__SM__ActivateMBMSContextReject& other_value);
PDU__SM__ActivateMBMSContextReject_template& operator=(const OPTIONAL<PDU__SM__ActivateMBMSContextReject>& other_value);
PDU__SM__ActivateMBMSContextReject_template& operator=(const PDU__SM__ActivateMBMSContextReject_template& other_value);
boolean match(const PDU__SM__ActivateMBMSContextReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__ActivateMBMSContextReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivateMBMSContextReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions();
const MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& backOffTimer();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& backOffTimer() const;
ReAttemptIndicatorTLV_template& reAttemptIndicator();
const ReAttemptIndicatorTLV_template& reAttemptIndicator() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__ActivateMBMSContextReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__RequestMBMSContextActivation : public Base_Type {
  BITSTRING field_messageType;
  NSAPIV field_linkedNSAPI;
  PDPAddressLV field_offeredMulticastAddress;
  AccessPointNameLV field_accessPointName;
  OPTIONAL< MBMSProtocolConfigOptionsTLV > field_mBMSprotocolConfigOptions;
public:
  PDU__SM__RequestMBMSContextActivation();
  PDU__SM__RequestMBMSContextActivation(const BITSTRING& par_messageType,
    const NSAPIV& par_linkedNSAPI,
    const PDPAddressLV& par_offeredMulticastAddress,
    const AccessPointNameLV& par_accessPointName,
    const OPTIONAL< MBMSProtocolConfigOptionsTLV >& par_mBMSprotocolConfigOptions);
  PDU__SM__RequestMBMSContextActivation(const PDU__SM__RequestMBMSContextActivation& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__RequestMBMSContextActivation& operator=(const PDU__SM__RequestMBMSContextActivation& other_value);
  boolean operator==(const PDU__SM__RequestMBMSContextActivation& other_value) const;
  inline boolean operator!=(const PDU__SM__RequestMBMSContextActivation& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline NSAPIV& linkedNSAPI()
    {return field_linkedNSAPI;}
  inline const NSAPIV& linkedNSAPI() const
    {return field_linkedNSAPI;}
  inline PDPAddressLV& offeredMulticastAddress()
    {return field_offeredMulticastAddress;}
  inline const PDPAddressLV& offeredMulticastAddress() const
    {return field_offeredMulticastAddress;}
  inline AccessPointNameLV& accessPointName()
    {return field_accessPointName;}
  inline const AccessPointNameLV& accessPointName() const
    {return field_accessPointName;}
  inline OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions()
    {return field_mBMSprotocolConfigOptions;}
  inline const OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions() const
    {return field_mBMSprotocolConfigOptions;}
  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 PDU__SM__RequestMBMSContextActivation_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__RequestMBMSContextActivation_template *list_value;
} value_list;
struct {
PDU__SM__RequestMBMSContextActivation_template* precondition;
PDU__SM__RequestMBMSContextActivation_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__RequestMBMSContextActivation>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__RequestMBMSContextActivation& other_value);
void copy_template(const PDU__SM__RequestMBMSContextActivation_template& other_value);

public:
PDU__SM__RequestMBMSContextActivation_template();
PDU__SM__RequestMBMSContextActivation_template(template_sel other_value);
PDU__SM__RequestMBMSContextActivation_template(const PDU__SM__RequestMBMSContextActivation& other_value);
PDU__SM__RequestMBMSContextActivation_template(const OPTIONAL<PDU__SM__RequestMBMSContextActivation>& other_value);
PDU__SM__RequestMBMSContextActivation_template(PDU__SM__RequestMBMSContextActivation_template* p_precondition, PDU__SM__RequestMBMSContextActivation_template* p_implied_template);
PDU__SM__RequestMBMSContextActivation_template(Dynamic_Match_Interface<PDU__SM__RequestMBMSContextActivation>* p_dyn_match);
PDU__SM__RequestMBMSContextActivation_template(const PDU__SM__RequestMBMSContextActivation_template& other_value);
~PDU__SM__RequestMBMSContextActivation_template();
PDU__SM__RequestMBMSContextActivation_template& operator=(template_sel other_value);
PDU__SM__RequestMBMSContextActivation_template& operator=(const PDU__SM__RequestMBMSContextActivation& other_value);
PDU__SM__RequestMBMSContextActivation_template& operator=(const OPTIONAL<PDU__SM__RequestMBMSContextActivation>& other_value);
PDU__SM__RequestMBMSContextActivation_template& operator=(const PDU__SM__RequestMBMSContextActivation_template& other_value);
boolean match(const PDU__SM__RequestMBMSContextActivation& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__RequestMBMSContextActivation valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__RequestMBMSContextActivation_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
NSAPIV_template& linkedNSAPI();
const NSAPIV_template& linkedNSAPI() const;
PDPAddressLV_template& offeredMulticastAddress();
const PDPAddressLV_template& offeredMulticastAddress() const;
AccessPointNameLV_template& accessPointName();
const AccessPointNameLV_template& accessPointName() const;
MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions();
const MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__RequestMBMSContextActivation& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SM__RequestMBMSContextActivationReject : public Base_Type {
  BITSTRING field_messageType;
  OCTETSTRING field_smCause;
  OPTIONAL< MBMSProtocolConfigOptionsTLV > field_mBMSprotocolConfigOptions;
public:
  PDU__SM__RequestMBMSContextActivationReject();
  PDU__SM__RequestMBMSContextActivationReject(const BITSTRING& par_messageType,
    const OCTETSTRING& par_smCause,
    const OPTIONAL< MBMSProtocolConfigOptionsTLV >& par_mBMSprotocolConfigOptions);
  PDU__SM__RequestMBMSContextActivationReject(const PDU__SM__RequestMBMSContextActivationReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SM__RequestMBMSContextActivationReject& operator=(const PDU__SM__RequestMBMSContextActivationReject& other_value);
  boolean operator==(const PDU__SM__RequestMBMSContextActivationReject& other_value) const;
  inline boolean operator!=(const PDU__SM__RequestMBMSContextActivationReject& 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& messageType()
    {return field_messageType;}
  inline const BITSTRING& messageType() const
    {return field_messageType;}
  inline OCTETSTRING& smCause()
    {return field_smCause;}
  inline const OCTETSTRING& smCause() const
    {return field_smCause;}
  inline OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions()
    {return field_mBMSprotocolConfigOptions;}
  inline const OPTIONAL< MBMSProtocolConfigOptionsTLV >& mBMSprotocolConfigOptions() const
    {return field_mBMSprotocolConfigOptions;}
  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 PDU__SM__RequestMBMSContextActivationReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__SM__RequestMBMSContextActivationReject_template *list_value;
} value_list;
struct {
PDU__SM__RequestMBMSContextActivationReject_template* precondition;
PDU__SM__RequestMBMSContextActivationReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__SM__RequestMBMSContextActivationReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__SM__RequestMBMSContextActivationReject& other_value);
void copy_template(const PDU__SM__RequestMBMSContextActivationReject_template& other_value);

public:
PDU__SM__RequestMBMSContextActivationReject_template();
PDU__SM__RequestMBMSContextActivationReject_template(template_sel other_value);
PDU__SM__RequestMBMSContextActivationReject_template(const PDU__SM__RequestMBMSContextActivationReject& other_value);
PDU__SM__RequestMBMSContextActivationReject_template(const OPTIONAL<PDU__SM__RequestMBMSContextActivationReject>& other_value);
PDU__SM__RequestMBMSContextActivationReject_template(PDU__SM__RequestMBMSContextActivationReject_template* p_precondition, PDU__SM__RequestMBMSContextActivationReject_template* p_implied_template);
PDU__SM__RequestMBMSContextActivationReject_template(Dynamic_Match_Interface<PDU__SM__RequestMBMSContextActivationReject>* p_dyn_match);
PDU__SM__RequestMBMSContextActivationReject_template(const PDU__SM__RequestMBMSContextActivationReject_template& other_value);
~PDU__SM__RequestMBMSContextActivationReject_template();
PDU__SM__RequestMBMSContextActivationReject_template& operator=(template_sel other_value);
PDU__SM__RequestMBMSContextActivationReject_template& operator=(const PDU__SM__RequestMBMSContextActivationReject& other_value);
PDU__SM__RequestMBMSContextActivationReject_template& operator=(const OPTIONAL<PDU__SM__RequestMBMSContextActivationReject>& other_value);
PDU__SM__RequestMBMSContextActivationReject_template& operator=(const PDU__SM__RequestMBMSContextActivationReject_template& other_value);
boolean match(const PDU__SM__RequestMBMSContextActivationReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SM__RequestMBMSContextActivationReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__RequestMBMSContextActivationReject_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
OCTETSTRING_template& smCause();
const OCTETSTRING_template& smCause() const;
MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions();
const MBMSProtocolConfigOptionsTLV_template& mBMSprotocolConfigOptions() const;
int size_of() const;
void log() const;
void log_match(const PDU__SM__RequestMBMSContextActivationReject& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class L3__GSM__MS__SGSN : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_activatePDPContextRequest = 1, ALT_activateSecondaryPDPContextRequest = 2, ALT_requestPDPContextActivationReject = 3, ALT_modifyPDPContextRequest__MS__SGSN = 4, ALT_modifyPDPContextAccept__MS__SGSN = 5, ALT_deactivatePDPContextRequest = 6, ALT_deactivatePDPContextAccept = 7, ALT_sM__Status = 8, ALT_activateMBMSContextRequest = 9, ALT_requestMBMSContextActivationReject = 10, ALT_requestSecondaryPDPContextActivationReject = 11, ALT_notification = 12 };
private:
union_selection_type union_selection;
union {
PDU__SM__ActivatePDPContextRequest *field_activatePDPContextRequest;
PDU__SM__ActivateSecondaryPDPContextRequest *field_activateSecondaryPDPContextRequest;
PDU__SM__RequestPDPContextActivationReject *field_requestPDPContextActivationReject;
PDU__SM__ModifyPDPContextRequest__MS__SGSN *field_modifyPDPContextRequest__MS__SGSN;
PDU__SM__ModifyPDPContextAccept__MS__SGSN *field_modifyPDPContextAccept__MS__SGSN;
PDU__SM__DeactivatePDPContextRequest *field_deactivatePDPContextRequest;
PDU__SM__DeactivatePDPContextAccept *field_deactivatePDPContextAccept;
PDU__SM__SM__Status *field_sM__Status;
PDU__SM__ActivateMBMSContextRequest *field_activateMBMSContextRequest;
PDU__SM__RequestMBMSContextActivationReject *field_requestMBMSContextActivationReject;
PDU__SM__RequestSecondaryPDPContextActivationReject *field_requestSecondaryPDPContextActivationReject;
PDU__SM__Notification *field_notification;
};
void copy_value(const L3__GSM__MS__SGSN& other_value);

public:
L3__GSM__MS__SGSN();
L3__GSM__MS__SGSN(const L3__GSM__MS__SGSN& other_value);
~L3__GSM__MS__SGSN();
L3__GSM__MS__SGSN& operator=(const L3__GSM__MS__SGSN& other_value);
boolean operator==(const L3__GSM__MS__SGSN& other_value) const;
inline boolean operator!=(const L3__GSM__MS__SGSN& other_value) const { return !(*this == other_value); }
PDU__SM__ActivatePDPContextRequest& activatePDPContextRequest();
const PDU__SM__ActivatePDPContextRequest& activatePDPContextRequest() const;
PDU__SM__ActivateSecondaryPDPContextRequest& activateSecondaryPDPContextRequest();
const PDU__SM__ActivateSecondaryPDPContextRequest& activateSecondaryPDPContextRequest() const;
PDU__SM__RequestPDPContextActivationReject& requestPDPContextActivationReject();
const PDU__SM__RequestPDPContextActivationReject& requestPDPContextActivationReject() const;
PDU__SM__ModifyPDPContextRequest__MS__SGSN& modifyPDPContextRequest__MS__SGSN();
const PDU__SM__ModifyPDPContextRequest__MS__SGSN& modifyPDPContextRequest__MS__SGSN() const;
PDU__SM__ModifyPDPContextAccept__MS__SGSN& modifyPDPContextAccept__MS__SGSN();
const PDU__SM__ModifyPDPContextAccept__MS__SGSN& modifyPDPContextAccept__MS__SGSN() const;
PDU__SM__DeactivatePDPContextRequest& deactivatePDPContextRequest();
const PDU__SM__DeactivatePDPContextRequest& deactivatePDPContextRequest() const;
PDU__SM__DeactivatePDPContextAccept& deactivatePDPContextAccept();
const PDU__SM__DeactivatePDPContextAccept& deactivatePDPContextAccept() const;
PDU__SM__SM__Status& sM__Status();
const PDU__SM__SM__Status& sM__Status() const;
PDU__SM__ActivateMBMSContextRequest& activateMBMSContextRequest();
const PDU__SM__ActivateMBMSContextRequest& activateMBMSContextRequest() const;
PDU__SM__RequestMBMSContextActivationReject& requestMBMSContextActivationReject();
const PDU__SM__RequestMBMSContextActivationReject& requestMBMSContextActivationReject() const;
PDU__SM__RequestSecondaryPDPContextActivationReject& requestSecondaryPDPContextActivationReject();
const PDU__SM__RequestSecondaryPDPContextActivationReject& requestSecondaryPDPContextActivationReject() const;
PDU__SM__Notification& notification();
const PDU__SM__Notification& notification() 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 L3__GSM__MS__SGSN_template : public Base_Template {
union {
struct {
L3__GSM__MS__SGSN::union_selection_type union_selection;
union {
PDU__SM__ActivatePDPContextRequest_template *field_activatePDPContextRequest;
PDU__SM__ActivateSecondaryPDPContextRequest_template *field_activateSecondaryPDPContextRequest;
PDU__SM__RequestPDPContextActivationReject_template *field_requestPDPContextActivationReject;
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template *field_modifyPDPContextRequest__MS__SGSN;
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template *field_modifyPDPContextAccept__MS__SGSN;
PDU__SM__DeactivatePDPContextRequest_template *field_deactivatePDPContextRequest;
PDU__SM__DeactivatePDPContextAccept_template *field_deactivatePDPContextAccept;
PDU__SM__SM__Status_template *field_sM__Status;
PDU__SM__ActivateMBMSContextRequest_template *field_activateMBMSContextRequest;
PDU__SM__RequestMBMSContextActivationReject_template *field_requestMBMSContextActivationReject;
PDU__SM__RequestSecondaryPDPContextActivationReject_template *field_requestSecondaryPDPContextActivationReject;
PDU__SM__Notification_template *field_notification;
};
} single_value;
struct {
unsigned int n_values;
L3__GSM__MS__SGSN_template *list_value;
} value_list;
struct {
L3__GSM__MS__SGSN_template* precondition;
L3__GSM__MS__SGSN_template* implied_template;
} implication_;
dynmatch_struct<L3__GSM__MS__SGSN>* dyn_match;
};
void copy_value(const L3__GSM__MS__SGSN& other_value);

void copy_template(const L3__GSM__MS__SGSN_template& other_value);

public:
L3__GSM__MS__SGSN_template();
L3__GSM__MS__SGSN_template(template_sel other_value);
L3__GSM__MS__SGSN_template(const L3__GSM__MS__SGSN& other_value);
L3__GSM__MS__SGSN_template(const OPTIONAL<L3__GSM__MS__SGSN>& other_value);
L3__GSM__MS__SGSN_template(L3__GSM__MS__SGSN_template* p_precondition, L3__GSM__MS__SGSN_template* p_implied_template);
L3__GSM__MS__SGSN_template(Dynamic_Match_Interface<L3__GSM__MS__SGSN>* p_dyn_match);
L3__GSM__MS__SGSN_template(const L3__GSM__MS__SGSN_template& other_value);
~L3__GSM__MS__SGSN_template();
void clean_up();
L3__GSM__MS__SGSN_template& operator=(template_sel other_value);
L3__GSM__MS__SGSN_template& operator=(const L3__GSM__MS__SGSN& other_value);
L3__GSM__MS__SGSN_template& operator=(const OPTIONAL<L3__GSM__MS__SGSN>& other_value);
L3__GSM__MS__SGSN_template& operator=(const L3__GSM__MS__SGSN_template& other_value);
boolean match(const L3__GSM__MS__SGSN& other_value, boolean legacy = FALSE) const;
boolean is_value() const;L3__GSM__MS__SGSN valueof() const;
L3__GSM__MS__SGSN_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivatePDPContextRequest_template& activatePDPContextRequest();
const PDU__SM__ActivatePDPContextRequest_template& activatePDPContextRequest() const;
PDU__SM__ActivateSecondaryPDPContextRequest_template& activateSecondaryPDPContextRequest();
const PDU__SM__ActivateSecondaryPDPContextRequest_template& activateSecondaryPDPContextRequest() const;
PDU__SM__RequestPDPContextActivationReject_template& requestPDPContextActivationReject();
const PDU__SM__RequestPDPContextActivationReject_template& requestPDPContextActivationReject() const;
PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& modifyPDPContextRequest__MS__SGSN();
const PDU__SM__ModifyPDPContextRequest__MS__SGSN_template& modifyPDPContextRequest__MS__SGSN() const;
PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& modifyPDPContextAccept__MS__SGSN();
const PDU__SM__ModifyPDPContextAccept__MS__SGSN_template& modifyPDPContextAccept__MS__SGSN() const;
PDU__SM__DeactivatePDPContextRequest_template& deactivatePDPContextRequest();
const PDU__SM__DeactivatePDPContextRequest_template& deactivatePDPContextRequest() const;
PDU__SM__DeactivatePDPContextAccept_template& deactivatePDPContextAccept();
const PDU__SM__DeactivatePDPContextAccept_template& deactivatePDPContextAccept() const;
PDU__SM__SM__Status_template& sM__Status();
const PDU__SM__SM__Status_template& sM__Status() const;
PDU__SM__ActivateMBMSContextRequest_template& activateMBMSContextRequest();
const PDU__SM__ActivateMBMSContextRequest_template& activateMBMSContextRequest() const;
PDU__SM__RequestMBMSContextActivationReject_template& requestMBMSContextActivationReject();
const PDU__SM__RequestMBMSContextActivationReject_template& requestMBMSContextActivationReject() const;
PDU__SM__RequestSecondaryPDPContextActivationReject_template& requestSecondaryPDPContextActivationReject();
const PDU__SM__RequestSecondaryPDPContextActivationReject_template& requestSecondaryPDPContextActivationReject() const;
PDU__SM__Notification_template& notification();
const PDU__SM__Notification_template& notification() const;
boolean ischosen(L3__GSM__MS__SGSN::union_selection_type checked_selection) const;
void log() const;
void log_match(const L3__GSM__MS__SGSN& 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 L3__GSM__SGSN__MS : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_activatePDPContextAccept = 1, ALT_activatePDPContextReject = 2, ALT_activateSecondaryPDPContextAccept = 3, ALT_activateSecondaryPDPContextReject = 4, ALT_requestPDPContextActivation = 5, ALT_modifyPDPContextRequest__SGSN__MS = 6, ALT_modifyPDPContextAccept__SGSN__MS = 7, ALT_modifyPDPContextReject = 8, ALT_deactivatePDPContextRequest = 9, ALT_deactivatePDPContextAccept = 10, ALT_sM__Status = 11, ALT_activateMBMSContextAccept = 12, ALT_activateMBMSContextReject = 13, ALT_requestMBMSContextActivation = 14, ALT_requestSecondaryPDPContextActivation = 15 };
private:
union_selection_type union_selection;
union {
PDU__SM__ActivatePDPContextAccept *field_activatePDPContextAccept;
PDU__SM__ActivatePDPContextReject *field_activatePDPContextReject;
PDU__SM__ActivateSecondaryPDPContextAccept *field_activateSecondaryPDPContextAccept;
PDU__SM__ActivateSecondaryPDPContextReject *field_activateSecondaryPDPContextReject;
PDU__SM__RequestPDPContextActivation *field_requestPDPContextActivation;
PDU__SM__ModifyPDPContextRequest__SGSN__MS *field_modifyPDPContextRequest__SGSN__MS;
PDU__SM__ModifyPDPContextAccept__SGSN__MS *field_modifyPDPContextAccept__SGSN__MS;
PDU__SM__ModifyPDPContextReject *field_modifyPDPContextReject;
PDU__SM__DeactivatePDPContextRequest *field_deactivatePDPContextRequest;
PDU__SM__DeactivatePDPContextAccept *field_deactivatePDPContextAccept;
PDU__SM__SM__Status *field_sM__Status;
PDU__SM__ActivateMBMSContextAccept *field_activateMBMSContextAccept;
PDU__SM__ActivateMBMSContextReject *field_activateMBMSContextReject;
PDU__SM__RequestMBMSContextActivation *field_requestMBMSContextActivation;
PDU__SM__RequestSecondaryPDPContextActivation *field_requestSecondaryPDPContextActivation;
};
void copy_value(const L3__GSM__SGSN__MS& other_value);

public:
L3__GSM__SGSN__MS();
L3__GSM__SGSN__MS(const L3__GSM__SGSN__MS& other_value);
~L3__GSM__SGSN__MS();
L3__GSM__SGSN__MS& operator=(const L3__GSM__SGSN__MS& other_value);
boolean operator==(const L3__GSM__SGSN__MS& other_value) const;
inline boolean operator!=(const L3__GSM__SGSN__MS& other_value) const { return !(*this == other_value); }
PDU__SM__ActivatePDPContextAccept& activatePDPContextAccept();
const PDU__SM__ActivatePDPContextAccept& activatePDPContextAccept() const;
PDU__SM__ActivatePDPContextReject& activatePDPContextReject();
const PDU__SM__ActivatePDPContextReject& activatePDPContextReject() const;
PDU__SM__ActivateSecondaryPDPContextAccept& activateSecondaryPDPContextAccept();
const PDU__SM__ActivateSecondaryPDPContextAccept& activateSecondaryPDPContextAccept() const;
PDU__SM__ActivateSecondaryPDPContextReject& activateSecondaryPDPContextReject();
const PDU__SM__ActivateSecondaryPDPContextReject& activateSecondaryPDPContextReject() const;
PDU__SM__RequestPDPContextActivation& requestPDPContextActivation();
const PDU__SM__RequestPDPContextActivation& requestPDPContextActivation() const;
PDU__SM__ModifyPDPContextRequest__SGSN__MS& modifyPDPContextRequest__SGSN__MS();
const PDU__SM__ModifyPDPContextRequest__SGSN__MS& modifyPDPContextRequest__SGSN__MS() const;
PDU__SM__ModifyPDPContextAccept__SGSN__MS& modifyPDPContextAccept__SGSN__MS();
const PDU__SM__ModifyPDPContextAccept__SGSN__MS& modifyPDPContextAccept__SGSN__MS() const;
PDU__SM__ModifyPDPContextReject& modifyPDPContextReject();
const PDU__SM__ModifyPDPContextReject& modifyPDPContextReject() const;
PDU__SM__DeactivatePDPContextRequest& deactivatePDPContextRequest();
const PDU__SM__DeactivatePDPContextRequest& deactivatePDPContextRequest() const;
PDU__SM__DeactivatePDPContextAccept& deactivatePDPContextAccept();
const PDU__SM__DeactivatePDPContextAccept& deactivatePDPContextAccept() const;
PDU__SM__SM__Status& sM__Status();
const PDU__SM__SM__Status& sM__Status() const;
PDU__SM__ActivateMBMSContextAccept& activateMBMSContextAccept();
const PDU__SM__ActivateMBMSContextAccept& activateMBMSContextAccept() const;
PDU__SM__ActivateMBMSContextReject& activateMBMSContextReject();
const PDU__SM__ActivateMBMSContextReject& activateMBMSContextReject() const;
PDU__SM__RequestMBMSContextActivation& requestMBMSContextActivation();
const PDU__SM__RequestMBMSContextActivation& requestMBMSContextActivation() const;
PDU__SM__RequestSecondaryPDPContextActivation& requestSecondaryPDPContextActivation();
const PDU__SM__RequestSecondaryPDPContextActivation& requestSecondaryPDPContextActivation() 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 L3__GSM__SGSN__MS_template : public Base_Template {
union {
struct {
L3__GSM__SGSN__MS::union_selection_type union_selection;
union {
PDU__SM__ActivatePDPContextAccept_template *field_activatePDPContextAccept;
PDU__SM__ActivatePDPContextReject_template *field_activatePDPContextReject;
PDU__SM__ActivateSecondaryPDPContextAccept_template *field_activateSecondaryPDPContextAccept;
PDU__SM__ActivateSecondaryPDPContextReject_template *field_activateSecondaryPDPContextReject;
PDU__SM__RequestPDPContextActivation_template *field_requestPDPContextActivation;
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template *field_modifyPDPContextRequest__SGSN__MS;
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template *field_modifyPDPContextAccept__SGSN__MS;
PDU__SM__ModifyPDPContextReject_template *field_modifyPDPContextReject;
PDU__SM__DeactivatePDPContextRequest_template *field_deactivatePDPContextRequest;
PDU__SM__DeactivatePDPContextAccept_template *field_deactivatePDPContextAccept;
PDU__SM__SM__Status_template *field_sM__Status;
PDU__SM__ActivateMBMSContextAccept_template *field_activateMBMSContextAccept;
PDU__SM__ActivateMBMSContextReject_template *field_activateMBMSContextReject;
PDU__SM__RequestMBMSContextActivation_template *field_requestMBMSContextActivation;
PDU__SM__RequestSecondaryPDPContextActivation_template *field_requestSecondaryPDPContextActivation;
};
} single_value;
struct {
unsigned int n_values;
L3__GSM__SGSN__MS_template *list_value;
} value_list;
struct {
L3__GSM__SGSN__MS_template* precondition;
L3__GSM__SGSN__MS_template* implied_template;
} implication_;
dynmatch_struct<L3__GSM__SGSN__MS>* dyn_match;
};
void copy_value(const L3__GSM__SGSN__MS& other_value);

void copy_template(const L3__GSM__SGSN__MS_template& other_value);

public:
L3__GSM__SGSN__MS_template();
L3__GSM__SGSN__MS_template(template_sel other_value);
L3__GSM__SGSN__MS_template(const L3__GSM__SGSN__MS& other_value);
L3__GSM__SGSN__MS_template(const OPTIONAL<L3__GSM__SGSN__MS>& other_value);
L3__GSM__SGSN__MS_template(L3__GSM__SGSN__MS_template* p_precondition, L3__GSM__SGSN__MS_template* p_implied_template);
L3__GSM__SGSN__MS_template(Dynamic_Match_Interface<L3__GSM__SGSN__MS>* p_dyn_match);
L3__GSM__SGSN__MS_template(const L3__GSM__SGSN__MS_template& other_value);
~L3__GSM__SGSN__MS_template();
void clean_up();
L3__GSM__SGSN__MS_template& operator=(template_sel other_value);
L3__GSM__SGSN__MS_template& operator=(const L3__GSM__SGSN__MS& other_value);
L3__GSM__SGSN__MS_template& operator=(const OPTIONAL<L3__GSM__SGSN__MS>& other_value);
L3__GSM__SGSN__MS_template& operator=(const L3__GSM__SGSN__MS_template& other_value);
boolean match(const L3__GSM__SGSN__MS& other_value, boolean legacy = FALSE) const;
boolean is_value() const;L3__GSM__SGSN__MS valueof() const;
L3__GSM__SGSN__MS_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SM__ActivatePDPContextAccept_template& activatePDPContextAccept();
const PDU__SM__ActivatePDPContextAccept_template& activatePDPContextAccept() const;
PDU__SM__ActivatePDPContextReject_template& activatePDPContextReject();
const PDU__SM__ActivatePDPContextReject_template& activatePDPContextReject() const;
PDU__SM__ActivateSecondaryPDPContextAccept_template& activateSecondaryPDPContextAccept();
const PDU__SM__ActivateSecondaryPDPContextAccept_template& activateSecondaryPDPContextAccept() const;
PDU__SM__ActivateSecondaryPDPContextReject_template& activateSecondaryPDPContextReject();
const PDU__SM__ActivateSecondaryPDPContextReject_template& activateSecondaryPDPContextReject() const;
PDU__SM__RequestPDPContextActivation_template& requestPDPContextActivation();
const PDU__SM__RequestPDPContextActivation_template& requestPDPContextActivation() const;
PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& modifyPDPContextRequest__SGSN__MS();
const PDU__SM__ModifyPDPContextRequest__SGSN__MS_template& modifyPDPContextRequest__SGSN__MS() const;
PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& modifyPDPContextAccept__SGSN__MS();
const PDU__SM__ModifyPDPContextAccept__SGSN__MS_template& modifyPDPContextAccept__SGSN__MS() const;
PDU__SM__ModifyPDPContextReject_template& modifyPDPContextReject();
const PDU__SM__ModifyPDPContextReject_template& modifyPDPContextReject() const;
PDU__SM__DeactivatePDPContextRequest_template& deactivatePDPContextRequest();
const PDU__SM__DeactivatePDPContextRequest_template& deactivatePDPContextRequest() const;
PDU__SM__DeactivatePDPContextAccept_template& deactivatePDPContextAccept();
const PDU__SM__DeactivatePDPContextAccept_template& deactivatePDPContextAccept() const;
PDU__SM__SM__Status_template& sM__Status();
const PDU__SM__SM__Status_template& sM__Status() const;
PDU__SM__ActivateMBMSContextAccept_template& activateMBMSContextAccept();
const PDU__SM__ActivateMBMSContextAccept_template& activateMBMSContextAccept() const;
PDU__SM__ActivateMBMSContextReject_template& activateMBMSContextReject();
const PDU__SM__ActivateMBMSContextReject_template& activateMBMSContextReject() const;
PDU__SM__RequestMBMSContextActivation_template& requestMBMSContextActivation();
const PDU__SM__RequestMBMSContextActivation_template& requestMBMSContextActivation() const;
PDU__SM__RequestSecondaryPDPContextActivation_template& requestSecondaryPDPContextActivation();
const PDU__SM__RequestSecondaryPDPContextActivation_template& requestSecondaryPDPContextActivation() const;
boolean ischosen(L3__GSM__SGSN__MS::union_selection_type checked_selection) const;
void log() const;
void log_match(const L3__GSM__SGSN__MS& 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 L3__GMM__MS__SGSN : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_attachRequest = 1, ALT_attachComplete = 2, ALT_detachRequest__MS__SGSN = 3, ALT_detachAccept__MS__SGSN = 4, ALT_p__TMSIReallocationComplete = 5, ALT_authenticationAndCipheringResponse = 6, ALT_authenticationAndCipheringFailure = 7, ALT_identityResponse = 8, ALT_routingAreaUpdateRequest = 9, ALT_routingAreaUpdateComplete = 10, ALT_gMM__Status = 11, ALT_serviceRequest = 12 };
private:
union_selection_type union_selection;
union {
PDU__GMM__AttachRequest *field_attachRequest;
PDU__GMM__AttachComplete *field_attachComplete;
PDU__GMM__DetachRequest__MS__SGSN *field_detachRequest__MS__SGSN;
PDU__GMM__DetachAccept__MS__SGSN *field_detachAccept__MS__SGSN;
PDU__GMM__P__TMSIReallocationComplete *field_p__TMSIReallocationComplete;
PDU__GMM__AuthenticationAndCipheringResponse *field_authenticationAndCipheringResponse;
PDU__GMM__AuthenticationAndCipheringFailure *field_authenticationAndCipheringFailure;
PDU__GMM__IdentityResponse *field_identityResponse;
PDU__GMM__RoutingAreaUpdateRequest *field_routingAreaUpdateRequest;
PDU__GMM__RoutingAreaUpdateComplete *field_routingAreaUpdateComplete;
PDU__GMM__GMM__Status *field_gMM__Status;
PDU__GMM__ServiceRequest *field_serviceRequest;
};
void copy_value(const L3__GMM__MS__SGSN& other_value);

public:
L3__GMM__MS__SGSN();
L3__GMM__MS__SGSN(const L3__GMM__MS__SGSN& other_value);
~L3__GMM__MS__SGSN();
L3__GMM__MS__SGSN& operator=(const L3__GMM__MS__SGSN& other_value);
boolean operator==(const L3__GMM__MS__SGSN& other_value) const;
inline boolean operator!=(const L3__GMM__MS__SGSN& other_value) const { return !(*this == other_value); }
PDU__GMM__AttachRequest& attachRequest();
const PDU__GMM__AttachRequest& attachRequest() const;
PDU__GMM__AttachComplete& attachComplete();
const PDU__GMM__AttachComplete& attachComplete() const;
PDU__GMM__DetachRequest__MS__SGSN& detachRequest__MS__SGSN();
const PDU__GMM__DetachRequest__MS__SGSN& detachRequest__MS__SGSN() const;
PDU__GMM__DetachAccept__MS__SGSN& detachAccept__MS__SGSN();
const PDU__GMM__DetachAccept__MS__SGSN& detachAccept__MS__SGSN() const;
PDU__GMM__P__TMSIReallocationComplete& p__TMSIReallocationComplete();
const PDU__GMM__P__TMSIReallocationComplete& p__TMSIReallocationComplete() const;
PDU__GMM__AuthenticationAndCipheringResponse& authenticationAndCipheringResponse();
const PDU__GMM__AuthenticationAndCipheringResponse& authenticationAndCipheringResponse() const;
PDU__GMM__AuthenticationAndCipheringFailure& authenticationAndCipheringFailure();
const PDU__GMM__AuthenticationAndCipheringFailure& authenticationAndCipheringFailure() const;
PDU__GMM__IdentityResponse& identityResponse();
const PDU__GMM__IdentityResponse& identityResponse() const;
PDU__GMM__RoutingAreaUpdateRequest& routingAreaUpdateRequest();
const PDU__GMM__RoutingAreaUpdateRequest& routingAreaUpdateRequest() const;
PDU__GMM__RoutingAreaUpdateComplete& routingAreaUpdateComplete();
const PDU__GMM__RoutingAreaUpdateComplete& routingAreaUpdateComplete() const;
PDU__GMM__GMM__Status& gMM__Status();
const PDU__GMM__GMM__Status& gMM__Status() const;
PDU__GMM__ServiceRequest& serviceRequest();
const PDU__GMM__ServiceRequest& serviceRequest() 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 L3__GMM__MS__SGSN_template : public Base_Template {
union {
struct {
L3__GMM__MS__SGSN::union_selection_type union_selection;
union {
PDU__GMM__AttachRequest_template *field_attachRequest;
PDU__GMM__AttachComplete_template *field_attachComplete;
PDU__GMM__DetachRequest__MS__SGSN_template *field_detachRequest__MS__SGSN;
PDU__GMM__DetachAccept__MS__SGSN_template *field_detachAccept__MS__SGSN;
PDU__GMM__P__TMSIReallocationComplete_template *field_p__TMSIReallocationComplete;
PDU__GMM__AuthenticationAndCipheringResponse_template *field_authenticationAndCipheringResponse;
PDU__GMM__AuthenticationAndCipheringFailure_template *field_authenticationAndCipheringFailure;
PDU__GMM__IdentityResponse_template *field_identityResponse;
PDU__GMM__RoutingAreaUpdateRequest_template *field_routingAreaUpdateRequest;
PDU__GMM__RoutingAreaUpdateComplete_template *field_routingAreaUpdateComplete;
PDU__GMM__GMM__Status_template *field_gMM__Status;
PDU__GMM__ServiceRequest_template *field_serviceRequest;
};
} single_value;
struct {
unsigned int n_values;
L3__GMM__MS__SGSN_template *list_value;
} value_list;
struct {
L3__GMM__MS__SGSN_template* precondition;
L3__GMM__MS__SGSN_template* implied_template;
} implication_;
dynmatch_struct<L3__GMM__MS__SGSN>* dyn_match;
};
void copy_value(const L3__GMM__MS__SGSN& other_value);

void copy_template(const L3__GMM__MS__SGSN_template& other_value);

public:
L3__GMM__MS__SGSN_template();
L3__GMM__MS__SGSN_template(template_sel other_value);
L3__GMM__MS__SGSN_template(const L3__GMM__MS__SGSN& other_value);
L3__GMM__MS__SGSN_template(const OPTIONAL<L3__GMM__MS__SGSN>& other_value);
L3__GMM__MS__SGSN_template(L3__GMM__MS__SGSN_template* p_precondition, L3__GMM__MS__SGSN_template* p_implied_template);
L3__GMM__MS__SGSN_template(Dynamic_Match_Interface<L3__GMM__MS__SGSN>* p_dyn_match);
L3__GMM__MS__SGSN_template(const L3__GMM__MS__SGSN_template& other_value);
~L3__GMM__MS__SGSN_template();
void clean_up();
L3__GMM__MS__SGSN_template& operator=(template_sel other_value);
L3__GMM__MS__SGSN_template& operator=(const L3__GMM__MS__SGSN& other_value);
L3__GMM__MS__SGSN_template& operator=(const OPTIONAL<L3__GMM__MS__SGSN>& other_value);
L3__GMM__MS__SGSN_template& operator=(const L3__GMM__MS__SGSN_template& other_value);
boolean match(const L3__GMM__MS__SGSN& other_value, boolean legacy = FALSE) const;
boolean is_value() const;L3__GMM__MS__SGSN valueof() const;
L3__GMM__MS__SGSN_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AttachRequest_template& attachRequest();
const PDU__GMM__AttachRequest_template& attachRequest() const;
PDU__GMM__AttachComplete_template& attachComplete();
const PDU__GMM__AttachComplete_template& attachComplete() const;
PDU__GMM__DetachRequest__MS__SGSN_template& detachRequest__MS__SGSN();
const PDU__GMM__DetachRequest__MS__SGSN_template& detachRequest__MS__SGSN() const;
PDU__GMM__DetachAccept__MS__SGSN_template& detachAccept__MS__SGSN();
const PDU__GMM__DetachAccept__MS__SGSN_template& detachAccept__MS__SGSN() const;
PDU__GMM__P__TMSIReallocationComplete_template& p__TMSIReallocationComplete();
const PDU__GMM__P__TMSIReallocationComplete_template& p__TMSIReallocationComplete() const;
PDU__GMM__AuthenticationAndCipheringResponse_template& authenticationAndCipheringResponse();
const PDU__GMM__AuthenticationAndCipheringResponse_template& authenticationAndCipheringResponse() const;
PDU__GMM__AuthenticationAndCipheringFailure_template& authenticationAndCipheringFailure();
const PDU__GMM__AuthenticationAndCipheringFailure_template& authenticationAndCipheringFailure() const;
PDU__GMM__IdentityResponse_template& identityResponse();
const PDU__GMM__IdentityResponse_template& identityResponse() const;
PDU__GMM__RoutingAreaUpdateRequest_template& routingAreaUpdateRequest();
const PDU__GMM__RoutingAreaUpdateRequest_template& routingAreaUpdateRequest() const;
PDU__GMM__RoutingAreaUpdateComplete_template& routingAreaUpdateComplete();
const PDU__GMM__RoutingAreaUpdateComplete_template& routingAreaUpdateComplete() const;
PDU__GMM__GMM__Status_template& gMM__Status();
const PDU__GMM__GMM__Status_template& gMM__Status() const;
PDU__GMM__ServiceRequest_template& serviceRequest();
const PDU__GMM__ServiceRequest_template& serviceRequest() const;
boolean ischosen(L3__GMM__MS__SGSN::union_selection_type checked_selection) const;
void log() const;
void log_match(const L3__GMM__MS__SGSN& 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 L3__GMM__SGSN__MS : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_attachAccept = 1, ALT_attachReject = 2, ALT_detachRequest__SGSN__MS = 3, ALT_detachAccept__SGSN__MS = 4, ALT_p__TMSIReallocationCommand = 5, ALT_authenticationAndCipheringRequest = 6, ALT_authenticationAndCipheringReject = 7, ALT_identityRequest = 8, ALT_routingAreaUpdateAccept = 9, ALT_routingAreaUpdateReject = 10, ALT_gMM__Status = 11, ALT_gMM__Information = 12, ALT_serviceAccept = 13, ALT_serviceReject = 14 };
private:
union_selection_type union_selection;
union {
PDU__GMM__AttachAccept *field_attachAccept;
PDU__GMM__AttachReject *field_attachReject;
PDU__GMM__DetachRequest__SGSN__MS *field_detachRequest__SGSN__MS;
PDU__GMM__DetachAccept__SGSN__MS *field_detachAccept__SGSN__MS;
PDU__GMM__P__TMSIReallocationCommand *field_p__TMSIReallocationCommand;
PDU__GMM__AuthenticationAndCipheringRequest *field_authenticationAndCipheringRequest;
PDU__GMM__AuthenticationAndCipheringReject *field_authenticationAndCipheringReject;
PDU__GMM__IdentityRequest *field_identityRequest;
PDU__GMM__RoutingAreaUpdateAccept *field_routingAreaUpdateAccept;
PDU__GMM__RoutingAreaUpdateReject *field_routingAreaUpdateReject;
PDU__GMM__GMM__Status *field_gMM__Status;
PDU__GMM__GMM__Information *field_gMM__Information;
PDU__GMM__ServiceAccept *field_serviceAccept;
PDU__GMM__ServiceReject *field_serviceReject;
};
void copy_value(const L3__GMM__SGSN__MS& other_value);

public:
L3__GMM__SGSN__MS();
L3__GMM__SGSN__MS(const L3__GMM__SGSN__MS& other_value);
~L3__GMM__SGSN__MS();
L3__GMM__SGSN__MS& operator=(const L3__GMM__SGSN__MS& other_value);
boolean operator==(const L3__GMM__SGSN__MS& other_value) const;
inline boolean operator!=(const L3__GMM__SGSN__MS& other_value) const { return !(*this == other_value); }
PDU__GMM__AttachAccept& attachAccept();
const PDU__GMM__AttachAccept& attachAccept() const;
PDU__GMM__AttachReject& attachReject();
const PDU__GMM__AttachReject& attachReject() const;
PDU__GMM__DetachRequest__SGSN__MS& detachRequest__SGSN__MS();
const PDU__GMM__DetachRequest__SGSN__MS& detachRequest__SGSN__MS() const;
PDU__GMM__DetachAccept__SGSN__MS& detachAccept__SGSN__MS();
const PDU__GMM__DetachAccept__SGSN__MS& detachAccept__SGSN__MS() const;
PDU__GMM__P__TMSIReallocationCommand& p__TMSIReallocationCommand();
const PDU__GMM__P__TMSIReallocationCommand& p__TMSIReallocationCommand() const;
PDU__GMM__AuthenticationAndCipheringRequest& authenticationAndCipheringRequest();
const PDU__GMM__AuthenticationAndCipheringRequest& authenticationAndCipheringRequest() const;
PDU__GMM__AuthenticationAndCipheringReject& authenticationAndCipheringReject();
const PDU__GMM__AuthenticationAndCipheringReject& authenticationAndCipheringReject() const;
PDU__GMM__IdentityRequest& identityRequest();
const PDU__GMM__IdentityRequest& identityRequest() const;
PDU__GMM__RoutingAreaUpdateAccept& routingAreaUpdateAccept();
const PDU__GMM__RoutingAreaUpdateAccept& routingAreaUpdateAccept() const;
PDU__GMM__RoutingAreaUpdateReject& routingAreaUpdateReject();
const PDU__GMM__RoutingAreaUpdateReject& routingAreaUpdateReject() const;
PDU__GMM__GMM__Status& gMM__Status();
const PDU__GMM__GMM__Status& gMM__Status() const;
PDU__GMM__GMM__Information& gMM__Information();
const PDU__GMM__GMM__Information& gMM__Information() const;
PDU__GMM__ServiceAccept& serviceAccept();
const PDU__GMM__ServiceAccept& serviceAccept() const;
PDU__GMM__ServiceReject& serviceReject();
const PDU__GMM__ServiceReject& serviceReject() 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 L3__GMM__SGSN__MS_template : public Base_Template {
union {
struct {
L3__GMM__SGSN__MS::union_selection_type union_selection;
union {
PDU__GMM__AttachAccept_template *field_attachAccept;
PDU__GMM__AttachReject_template *field_attachReject;
PDU__GMM__DetachRequest__SGSN__MS_template *field_detachRequest__SGSN__MS;
PDU__GMM__DetachAccept__SGSN__MS_template *field_detachAccept__SGSN__MS;
PDU__GMM__P__TMSIReallocationCommand_template *field_p__TMSIReallocationCommand;
PDU__GMM__AuthenticationAndCipheringRequest_template *field_authenticationAndCipheringRequest;
PDU__GMM__AuthenticationAndCipheringReject_template *field_authenticationAndCipheringReject;
PDU__GMM__IdentityRequest_template *field_identityRequest;
PDU__GMM__RoutingAreaUpdateAccept_template *field_routingAreaUpdateAccept;
PDU__GMM__RoutingAreaUpdateReject_template *field_routingAreaUpdateReject;
PDU__GMM__GMM__Status_template *field_gMM__Status;
PDU__GMM__GMM__Information_template *field_gMM__Information;
PDU__GMM__ServiceAccept_template *field_serviceAccept;
PDU__GMM__ServiceReject_template *field_serviceReject;
};
} single_value;
struct {
unsigned int n_values;
L3__GMM__SGSN__MS_template *list_value;
} value_list;
struct {
L3__GMM__SGSN__MS_template* precondition;
L3__GMM__SGSN__MS_template* implied_template;
} implication_;
dynmatch_struct<L3__GMM__SGSN__MS>* dyn_match;
};
void copy_value(const L3__GMM__SGSN__MS& other_value);

void copy_template(const L3__GMM__SGSN__MS_template& other_value);

public:
L3__GMM__SGSN__MS_template();
L3__GMM__SGSN__MS_template(template_sel other_value);
L3__GMM__SGSN__MS_template(const L3__GMM__SGSN__MS& other_value);
L3__GMM__SGSN__MS_template(const OPTIONAL<L3__GMM__SGSN__MS>& other_value);
L3__GMM__SGSN__MS_template(L3__GMM__SGSN__MS_template* p_precondition, L3__GMM__SGSN__MS_template* p_implied_template);
L3__GMM__SGSN__MS_template(Dynamic_Match_Interface<L3__GMM__SGSN__MS>* p_dyn_match);
L3__GMM__SGSN__MS_template(const L3__GMM__SGSN__MS_template& other_value);
~L3__GMM__SGSN__MS_template();
void clean_up();
L3__GMM__SGSN__MS_template& operator=(template_sel other_value);
L3__GMM__SGSN__MS_template& operator=(const L3__GMM__SGSN__MS& other_value);
L3__GMM__SGSN__MS_template& operator=(const OPTIONAL<L3__GMM__SGSN__MS>& other_value);
L3__GMM__SGSN__MS_template& operator=(const L3__GMM__SGSN__MS_template& other_value);
boolean match(const L3__GMM__SGSN__MS& other_value, boolean legacy = FALSE) const;
boolean is_value() const;L3__GMM__SGSN__MS valueof() const;
L3__GMM__SGSN__MS_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__GMM__AttachAccept_template& attachAccept();
const PDU__GMM__AttachAccept_template& attachAccept() const;
PDU__GMM__AttachReject_template& attachReject();
const PDU__GMM__AttachReject_template& attachReject() const;
PDU__GMM__DetachRequest__SGSN__MS_template& detachRequest__SGSN__MS();
const PDU__GMM__DetachRequest__SGSN__MS_template& detachRequest__SGSN__MS() const;
PDU__GMM__DetachAccept__SGSN__MS_template& detachAccept__SGSN__MS();
const PDU__GMM__DetachAccept__SGSN__MS_template& detachAccept__SGSN__MS() const;
PDU__GMM__P__TMSIReallocationCommand_template& p__TMSIReallocationCommand();
const PDU__GMM__P__TMSIReallocationCommand_template& p__TMSIReallocationCommand() const;
PDU__GMM__AuthenticationAndCipheringRequest_template& authenticationAndCipheringRequest();
const PDU__GMM__AuthenticationAndCipheringRequest_template& authenticationAndCipheringRequest() const;
PDU__GMM__AuthenticationAndCipheringReject_template& authenticationAndCipheringReject();
const PDU__GMM__AuthenticationAndCipheringReject_template& authenticationAndCipheringReject() const;
PDU__GMM__IdentityRequest_template& identityRequest();
const PDU__GMM__IdentityRequest_template& identityRequest() const;
PDU__GMM__RoutingAreaUpdateAccept_template& routingAreaUpdateAccept();
const PDU__GMM__RoutingAreaUpdateAccept_template& routingAreaUpdateAccept() const;
PDU__GMM__RoutingAreaUpdateReject_template& routingAreaUpdateReject();
const PDU__GMM__RoutingAreaUpdateReject_template& routingAreaUpdateReject() const;
PDU__GMM__GMM__Status_template& gMM__Status();
const PDU__GMM__GMM__Status_template& gMM__Status() const;
PDU__GMM__GMM__Information_template& gMM__Information();
const PDU__GMM__GMM__Information_template& gMM__Information() const;
PDU__GMM__ServiceAccept_template& serviceAccept();
const PDU__GMM__ServiceAccept_template& serviceAccept() const;
PDU__GMM__ServiceReject_template& serviceReject();
const PDU__GMM__ServiceReject_template& serviceReject() const;
boolean ischosen(L3__GMM__SGSN__MS::union_selection_type checked_selection) const;
void log() const;
void log_match(const L3__GMM__SGSN__MS& 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;
};


/* Function prototypes */

extern void AdditionalUpdateTypeV_encoder(const AdditionalUpdateTypeV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalUpdateTypeV_decoder(OCTETSTRING& input_stream, AdditionalUpdateTypeV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalUpdateTypeTV_encoder(const AdditionalUpdateTypeTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalUpdateTypeTV_decoder(OCTETSTRING& input_stream, AdditionalUpdateTypeTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AttachResultV_encoder(const AttachResultV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AttachResultV_decoder(OCTETSTRING& input_stream, AttachResultV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AttachTypeV_encoder(const AttachTypeV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AttachTypeV_decoder(OCTETSTRING& input_stream, AttachTypeV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CipheringAlgorithmV_encoder(const CipheringAlgorithmV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CipheringAlgorithmV_decoder(OCTETSTRING& input_stream, CipheringAlgorithmV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CipheringAlgorithmTV_encoder(const CipheringAlgorithmTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CipheringAlgorithmTV_decoder(OCTETSTRING& input_stream, CipheringAlgorithmTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TMSIStatusV_encoder(const TMSIStatusV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TMSIStatusV_decoder(OCTETSTRING& input_stream, TMSIStatusV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TMSIStatusTV_encoder(const TMSIStatusTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TMSIStatusTV_decoder(OCTETSTRING& input_stream, TMSIStatusTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DetachTypeV_encoder(const DetachTypeV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DetachTypeV_decoder(OCTETSTRING& input_stream, DetachTypeV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DetachTypeTV_encoder(const DetachTypeTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DetachTypeTV_decoder(OCTETSTRING& input_stream, DetachTypeTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DRXParameterV_encoder(const DRXParameterV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DRXParameterV_decoder(OCTETSTRING& input_stream, DRXParameterV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DRXParameterTV_encoder(const DRXParameterTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DRXParameterTV_decoder(OCTETSTRING& input_stream, DRXParameterTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ForceToStandbyV_encoder(const ForceToStandbyV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ForceToStandbyV_decoder(OCTETSTRING& input_stream, ForceToStandbyV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ForceToStandbyTV_encoder(const ForceToStandbyTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ForceToStandbyTV_decoder(OCTETSTRING& input_stream, ForceToStandbyTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void P__TMSISignatureTV_encoder(const P__TMSISignatureTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER P__TMSISignatureTV_decoder(OCTETSTRING& input_stream, P__TMSISignatureTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IdentityType2V_encoder(const IdentityType2V& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IdentityType2V_decoder(OCTETSTRING& input_stream, IdentityType2V& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IdentityType2TV_encoder(const IdentityType2TV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IdentityType2TV_decoder(OCTETSTRING& input_stream, IdentityType2TV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IMEISVRequestV_encoder(const IMEISVRequestV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IMEISVRequestV_decoder(OCTETSTRING& input_stream, IMEISVRequestV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IMEISVRequestTV_encoder(const IMEISVRequestTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IMEISVRequestTV_decoder(OCTETSTRING& input_stream, IMEISVRequestTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReceiveNPDUNumbersListTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReceiveNPDUNumbersListTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const ReceiveNPDUNumbersListV& other_value);
inline boolean operator!=(null_type null_value, const ReceiveNPDUNumbersListV& other_value) { return !(null_value == other_value); }
extern void ReceiveNPDUNumber_sapi_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReceiveNPDUNumber_sapi_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReceiveNPDUNumber_numberValue_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReceiveNPDUNumber_numberValue_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReceiveNPDUNumber_encoder(const ReceiveNPDUNumber& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReceiveNPDUNumber_decoder(OCTETSTRING& input_stream, ReceiveNPDUNumber& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReceiveNPDUNumbersListV_encoder(const ReceiveNPDUNumbersListV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReceiveNPDUNumbersListV_decoder(OCTETSTRING& input_stream, ReceiveNPDUNumbersListV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReceiveNPDUNumbersListTLV_numberList_encoder(const ReceiveNPDUNumbersListV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReceiveNPDUNumbersListTLV_numberList_decoder(OCTETSTRING& input_stream, ReceiveNPDUNumbersListV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReceiveNPDUNumbersListTLV_encoder(const ReceiveNPDUNumbersListTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReceiveNPDUNumbersListTLV_decoder(OCTETSTRING& input_stream, ReceiveNPDUNumbersListTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_gea1bit_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_gea1bit_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_smCapabilitiesviaDedicatedChannels_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_smCapabilitiesviaDedicatedChannels_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_smCapabilitiesviaGPRSChannels_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_smCapabilitiesviaGPRSChannels_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_ucs2Support_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_ucs2Support_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_ssScreeningIndicator_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_ssScreeningIndicator_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_solSACapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_solSACapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_revisionLevelIndicatior_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_revisionLevelIndicatior_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_pFCFeatureMode_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_pFCFeatureMode_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_extendedGEAbits_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_extendedGEAbits_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_lcsVAcapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_lcsVAcapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_pSInterRATHOtoUTRANIuModeCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_pSInterRATHOtoUTRANIuModeCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_pSInterRATHOtoEUTRANS1ModeCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_pSInterRATHOtoEUTRANS1ModeCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_eMMCombinedProceduresCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_eMMCombinedProceduresCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_iSRSupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_iSRSupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_sRVCCtoGERANUTRANCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_sRVCCtoGERANUTRANCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_ePCCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_ePCCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_nFCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_nFCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_gERANNertworkSharingCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_gERANNertworkSharingCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_spare__octets_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_spare__octets_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityV_encoder(const MSNetworkCapabilityV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityV_decoder(OCTETSTRING& input_stream, MSNetworkCapabilityV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityLV_msNetworkCapabilityV_encoder(const MSNetworkCapabilityV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityLV_msNetworkCapabilityV_decoder(OCTETSTRING& input_stream, MSNetworkCapabilityV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityLV_encoder(const MSNetworkCapabilityLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityLV_decoder(OCTETSTRING& input_stream, MSNetworkCapabilityLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSNetworkCapabilityTLV_encoder(const MSNetworkCapabilityTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSNetworkCapabilityTLV_decoder(OCTETSTRING& input_stream, MSNetworkCapabilityTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRadioAccessCapabilityLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRadioAccessCapabilityLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const MSRadioAccessCapabilityV& other_value);
inline boolean operator!=(null_type null_value, const MSRadioAccessCapabilityV& other_value) { return !(null_value == other_value); }
extern void MSRACapabilityValuesExclude1111_accessTechnType_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValuesExclude1111_accessTechnType_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilitiesStruct_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilitiesStruct_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_rfPowerCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_rfPowerCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_presenceBitA5_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_presenceBitA5_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_esind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_esind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_psbit_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_psbit_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_vgcs_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_vgcs_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_vbs_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_vbs_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_presenceBitMultislot_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_presenceBitMultislot_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void A5BITS_a51_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER A5BITS_a51_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void A5BITS_a52_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER A5BITS_a52_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void A5BITS_a53_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER A5BITS_a53_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void A5BITS_a54_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER A5BITS_a54_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void A5BITS_a55_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER A5BITS_a55_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void A5BITS_a56_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER A5BITS_a56_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void A5BITS_a57_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER A5BITS_a57_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void A5BITS_encoder(const A5BITS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER A5BITS_decoder(OCTETSTRING& input_stream, A5BITS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_a5bits_encoder(const A5BITS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_a5bits_decoder(OCTETSTRING& input_stream, A5BITS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap_presenceBitHscsd_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap_presenceBitHscsd_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap_presenceBitGprs_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap_presenceBitGprs_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap_presenceBitSms_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap_presenceBitSms_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap_hscsdmultislotclass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap_hscsdmultislotclass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__GPRS_gprsmultislotclass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__GPRS_gprsmultislotclass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__GPRS_gprsextendeddynalloccap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__GPRS_gprsextendeddynalloccap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__GPRS_encoder(const MultislotCap__GPRS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__GPRS_decoder(OCTETSTRING& input_stream, MultislotCap__GPRS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap_gprsmultislot_encoder(const MultislotCap__GPRS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap_gprsmultislot_decoder(OCTETSTRING& input_stream, MultislotCap__GPRS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__SMS_smsValue_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__SMS_smsValue_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__SMS_smValue_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__SMS_smValue_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__SMS_encoder(const MultislotCap__SMS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__SMS_decoder(OCTETSTRING& input_stream, MultislotCap__SMS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap_multislotCap__SMS_encoder(const MultislotCap__SMS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap_multislotCap__SMS_decoder(OCTETSTRING& input_stream, MultislotCap__SMS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCapAdditionsAfterRel97_presenceBitEcsdmulti_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCapAdditionsAfterRel97_presenceBitEcsdmulti_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCapAdditionsAfterRel97_presenceBitEgprsmulti_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCapAdditionsAfterRel97_presenceBitEgprsmulti_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCapAdditionsAfterRel97_presenceBitDtmGprsmulti_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCapAdditionsAfterRel97_presenceBitDtmGprsmulti_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCapAdditionsAfterRel97_ecsdmultislotclass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCapAdditionsAfterRel97_ecsdmultislotclass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__EGPRS_egprsmultislotclass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__EGPRS_egprsmultislotclass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__EGPRS_egprsextendeddynalloccap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__EGPRS_egprsextendeddynalloccap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__EGPRS_encoder(const MultislotCap__EGPRS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__EGPRS_decoder(OCTETSTRING& input_stream, MultislotCap__EGPRS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCapAdditionsAfterRel97_multislotCap__EGPRS_encoder(const MultislotCap__EGPRS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCapAdditionsAfterRel97_multislotCap__EGPRS_decoder(OCTETSTRING& input_stream, MultislotCap__EGPRS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__dtmgprsmultislotsubclass_dtmgprsmultislotsubclass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__dtmgprsmultislotsubclass_dtmgprsmultislotsubclass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__dtmgprsmultislotsubclass_singleSlotDTM_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__dtmgprsmultislotsubclass_singleSlotDTM_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__dtmgprsmultislotsubclass_presenceBitDTM__EGPRSMultiSlot_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__dtmgprsmultislotsubclass_presenceBitDTM__EGPRSMultiSlot_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__dtmgprsmultislotsubclass_dTM__EGPRSMultiSlot_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__dtmgprsmultislotsubclass_dTM__EGPRSMultiSlot_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap__dtmgprsmultislotsubclass_encoder(const MultislotCap__dtmgprsmultislotsubclass& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap__dtmgprsmultislotsubclass_decoder(OCTETSTRING& input_stream, MultislotCap__dtmgprsmultislotsubclass& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCapAdditionsAfterRel97_multislotCapdtmgprsmultislotsubclass_encoder(const MultislotCap__dtmgprsmultislotsubclass& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCapAdditionsAfterRel97_multislotCapdtmgprsmultislotsubclass_decoder(OCTETSTRING& input_stream, MultislotCap__dtmgprsmultislotsubclass& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCapAdditionsAfterRel97_encoder(const MultislotCapAdditionsAfterRel97& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCapAdditionsAfterRel97_decoder(OCTETSTRING& input_stream, MultislotCapAdditionsAfterRel97& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap_multislotCapAdditionsAfterRel97_encoder(const MultislotCapAdditionsAfterRel97& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap_multislotCapAdditionsAfterRel97_decoder(OCTETSTRING& input_stream, MultislotCapAdditionsAfterRel97& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MultislotCap_encoder(const MultislotCap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MultislotCap_decoder(OCTETSTRING& input_stream, MultislotCap& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_multislotcap_encoder(const MultislotCap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_multislotcap_decoder(OCTETSTRING& input_stream, MultislotCap& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel99_presenceBitPskpow_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel99_presenceBitPskpow_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel99_compactIntMeasurCap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel99_compactIntMeasurCap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel99_revisionLevelInd_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel99_revisionLevelInd_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel99_umtsfddRadAccTechCap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel99_umtsfddRadAccTechCap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel99_umtstddRadAccTechCap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel99_umtstddRadAccTechCap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel99_cdma2kRadAccTechCap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel99_cdma2kRadAccTechCap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel99_pskpowercap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel99_pskpowercap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel99_encoder(const AccessCapAdditionsRel99& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel99_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel99& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel97_accessCapAdditionsRel99_encoder(const AccessCapAdditionsRel99& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel97_accessCapAdditionsRel99_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel99& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel4_umts128RadAccTechCap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel4_umts128RadAccTechCap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel4_geranFeaturePackage_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel4_geranFeaturePackage_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel4_presenceBitExtendedDTM_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel4_presenceBitExtendedDTM_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel4_modulationBasedMultislotClass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel4_modulationBasedMultislotClass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ExtendedDTM_ExtendedDTM__GPRSMultislot_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ExtendedDTM_ExtendedDTM__GPRSMultislot_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ExtendedDTM_ExtendedDTM__EGPRSMultislot_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ExtendedDTM_ExtendedDTM__EGPRSMultislot_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ExtendedDTM_encoder(const ExtendedDTM& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ExtendedDTM_decoder(OCTETSTRING& input_stream, ExtendedDTM& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel4_extendedDTM_encoder(const ExtendedDTM& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel4_extendedDTM_decoder(OCTETSTRING& input_stream, ExtendedDTM& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel4_encoder(const AccessCapAdditionsRel4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel4_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel99_accessCapAdditionsRel4_encoder(const AccessCapAdditionsRel4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel99_accessCapAdditionsRel4_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel5_presenceBitHighMultislotCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel5_presenceBitHighMultislotCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel5_presenceBitGeranIuModeCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel5_presenceBitGeranIuModeCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel5_gMSKMultislotPowerProfile_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel5_gMSKMultislotPowerProfile_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel5_eightPSKMultislotPowerProfile_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel5_eightPSKMultislotPowerProfile_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel5_highMultislotCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel5_highMultislotCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel5_encoder(const AccessCapAdditionsRel5& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel5_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel5& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel4_accessCapAdditionsRel5_encoder(const AccessCapAdditionsRel5& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel4_accessCapAdditionsRel5_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel5& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel6_multipleTBFCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel6_multipleTBFCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel6_downlinkAdvancedReceiverPerformance_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel6_downlinkAdvancedReceiverPerformance_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel6_extendedRLCMACCtrlMsgSegmentationCap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel6_extendedRLCMACCtrlMsgSegmentationCap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel6_dTMEnhancementsCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel6_dTMEnhancementsCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel6_presenceBitDTMGPRSHighMultiSlotClass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel6_presenceBitDTMGPRSHighMultiSlotClass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel6_pSHandoverCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel6_pSHandoverCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DTMGPRSHighMultiSlotClass_dTMGPRSHighMultiSlotClassValue_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DTMGPRSHighMultiSlotClass_dTMGPRSHighMultiSlotClassValue_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DTMGPRSHighMultiSlotClass_presenceBitDTMEGPRSHighMultiSlotClass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DTMGPRSHighMultiSlotClass_presenceBitDTMEGPRSHighMultiSlotClass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DTMGPRSHighMultiSlotClass_dTMEGPRSHighMultiSlotClassValue_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DTMGPRSHighMultiSlotClass_dTMEGPRSHighMultiSlotClassValue_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DTMGPRSHighMultiSlotClass_encoder(const DTMGPRSHighMultiSlotClass& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DTMGPRSHighMultiSlotClass_decoder(OCTETSTRING& input_stream, DTMGPRSHighMultiSlotClass& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel6_dTMGPRSHighMultiSlotClass_encoder(const DTMGPRSHighMultiSlotClass& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel6_dTMGPRSHighMultiSlotClass_decoder(OCTETSTRING& input_stream, DTMGPRSHighMultiSlotClass& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel6_encoder(const AccessCapAdditionsRel6& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel6_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel6& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel5_accessCapAdditionsRel6_encoder(const AccessCapAdditionsRel6& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel5_accessCapAdditionsRel6_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel6& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_dTMHandoverCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_dTMHandoverCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_presenceBitDownlinkDualCarrier_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_presenceBitDownlinkDualCarrier_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_flexibleTimeslotAssignment_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_flexibleTimeslotAssignment_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_gANPSHandoverCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_gANPSHandoverCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_rLCNonPersistentMode_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_rLCNonPersistentMode_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_reducedLatencyCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_reducedLatencyCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_uplinkEGPRS2_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_uplinkEGPRS2_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_downlinkEGPRS2_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_downlinkEGPRS2_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DownlinkDualCarrier_multislotCapReductionforDownLinkDualCarrier_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DownlinkDualCarrier_multislotCapReductionforDownLinkDualCarrier_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DownlinkDualCarrier_downlinkDualCarrierforDTMCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DownlinkDualCarrier_downlinkDualCarrierforDTMCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DownlinkDualCarrier_encoder(const DownlinkDualCarrier& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DownlinkDualCarrier_decoder(OCTETSTRING& input_stream, DownlinkDualCarrier& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_downlinkDualCarrier_encoder(const DownlinkDualCarrier& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_downlinkDualCarrier_decoder(OCTETSTRING& input_stream, DownlinkDualCarrier& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel7_encoder(const AccessCapAdditionsRel7& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel7_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel7& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel6_accessCapAdditionsRel7_encoder(const AccessCapAdditionsRel7& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel6_accessCapAdditionsRel7_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel7& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel8_eUTRAFDDsupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel8_eUTRAFDDsupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel8_eUTRATDDsupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel8_eUTRATDDsupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel8_gERANToEUTRASupportInGERANPacketTransferMode_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel8_gERANToEUTRASupportInGERANPacketTransferMode_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel8_priorityBasedReselectionSupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel8_priorityBasedReselectionSupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel8_encoder(const AccessCapAdditionsRel8& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel8_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel8& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EnhancedFlexTimeslotAssignment_presenceBitalternativeEFTAMultislotClass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EnhancedFlexTimeslotAssignment_presenceBitalternativeEFTAMultislotClass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EnhancedFlexTimeslotAssignment_alternativeEFTAMultislotClass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EnhancedFlexTimeslotAssignment_alternativeEFTAMultislotClass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EnhancedFlexTimeslotAssignment_eFTAMultislotCapabilityReductionforDownlinkDualCarrier_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EnhancedFlexTimeslotAssignment_eFTAMultislotCapabilityReductionforDownlinkDualCarrier_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EnhancedFlexTimeslotAssignment_encoder(const EnhancedFlexTimeslotAssignment& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EnhancedFlexTimeslotAssignment_decoder(OCTETSTRING& input_stream, EnhancedFlexTimeslotAssignment& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel9_enhancedFlexTimeslotAssignment_encoder(const EnhancedFlexTimeslotAssignment& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel9_enhancedFlexTimeslotAssignment_decoder(OCTETSTRING& input_stream, EnhancedFlexTimeslotAssignment& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel9_indicationofUpperLayerPDUStartCapabilityforRLCUM_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel9_indicationofUpperLayerPDUStartCapabilityforRLCUM_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel9_eMSTCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel9_eMSTCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel9_mTTICapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel9_mTTICapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel9_uTRACSGCellsReporting_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel9_uTRACSGCellsReporting_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel9_eUTRACSGCellsReporting_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel9_eUTRACSGCellsReporting_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel9_encoder(const AccessCapAdditionsRel9& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel9_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel9& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel10_dTRCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel10_dTRCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel10_eMSRCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel10_eMSRCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel10_fastDownlinkFrequencySwitchingCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel10_fastDownlinkFrequencySwitchingCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel10_tIGHTER__Capability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel10_tIGHTER__Capability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel10_encoder(const AccessCapAdditionsRel10& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel10_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel10& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel11_fANRCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel11_fANRCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel11_iPACapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel11_iPACapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel11_gERANNetworkSharingSupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel11_gERANNetworkSharingSupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel11_eUTRAWidebandRSRQMeasurementsSupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel11_eUTRAWidebandRSRQMeasurementsSupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel11_encoder(const AccessCapAdditionsRel11& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel11_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel11& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel10_accessCapAdditionsRel11_encoder(const AccessCapAdditionsRel11& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel10_accessCapAdditionsRel11_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel11& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel12_uTRAMultipleFrequencyBandIndicatorsSupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel12_uTRAMultipleFrequencyBandIndicatorsSupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel12_eUTRAMultipleFrequencyBandIndicatorsSupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel12_eUTRAMultipleFrequencyBandIndicatorsSupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel12_presenceBitDLMCCapability_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel12_presenceBitDLMCCapability_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel12_extendedTSCSetCapabilitySupport_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel12_extendedTSCSetCapabilitySupport_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCCapability_presenceDLMC_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCCapability_presenceDLMC_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCCapability_dLMCMaxBandwidth_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCCapability_dLMCMaxBandwidth_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCCapability_dLMCMaxNumOfDownlinkTimeslots_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCCapability_dLMCMaxNumOfDownlinkTimeslots_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCCapability_dLMCMaxNumOfDownlinkCarriers_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCCapability_dLMCMaxNumOfDownlinkCarriers_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCBandReception_dLMCNonContiguousIntraBandReception_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCBandReception_dLMCNonContiguousIntraBandReception_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCBandReception_dLMCInterBandReception_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCBandReception_dLMCInterBandReception_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCBandReception_encoder(const DLMCBandReception& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCBandReception_decoder(OCTETSTRING& input_stream, DLMCBandReception& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCCapability_dLMCBandReception_encoder(const DLMCBandReception& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCCapability_dLMCBandReception_decoder(OCTETSTRING& input_stream, DLMCBandReception& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DLMCCapability_encoder(const DLMCCapability& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DLMCCapability_decoder(OCTETSTRING& input_stream, DLMCCapability& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel12_dLMCCapability_encoder(const DLMCCapability& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel12_dLMCCapability_decoder(OCTETSTRING& input_stream, DLMCCapability& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsRel12_encoder(const AccessCapAdditionsRel12& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsRel12_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel12& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel11_accessCapAdditionsRel12_encoder(const AccessCapAdditionsRel12& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel11_accessCapAdditionsRel12_decoder(OCTETSTRING& input_stream, AccessCapAdditionsRel12& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapLateAdditionsRel11_encoder(const AccessCapLateAdditionsRel11& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapLateAdditionsRel11_decoder(OCTETSTRING& input_stream, AccessCapLateAdditionsRel11& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel12_accessCapLateAdditionsRel11_encoder(const AccessCapLateAdditionsRel11& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel12_accessCapLateAdditionsRel11_decoder(OCTETSTRING& input_stream, AccessCapLateAdditionsRel11& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel12_accessCapLateAdditionsAfterRel11_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel12_accessCapLateAdditionsAfterRel11_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel12_encoder(const AccessCapAdditionsAfterRel12& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel12_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel12& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel11_accessCapAdditionsAfterRel12_encoder(const AccessCapAdditionsAfterRel12& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel11_accessCapAdditionsAfterRel12_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel12& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel11_encoder(const AccessCapAdditionsAfterRel11& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel11_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel11& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel10_accessCapAdditionsAfterRel11_encoder(const AccessCapAdditionsAfterRel11& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel10_accessCapAdditionsAfterRel11_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel11& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel10_encoder(const AccessCapAdditionsAfterRel10& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel10_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel10& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel9_encoder(const AccessCapAdditionsAfterRel9& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel9_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel9& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel8_encoder(const AccessCapAdditionsAfterRel8& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel8_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel8& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel7_encoder(const AccessCapAdditionsAfterRel7& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel7_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel7& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel6_accessCapAdditionsAfterRel7_encoder(const AccessCapAdditionsAfterRel7& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel6_accessCapAdditionsAfterRel7_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel7& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel6_encoder(const AccessCapAdditionsAfterRel6& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel6_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel6& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel5_accessCapAdditionsAfterRel6_encoder(const AccessCapAdditionsAfterRel6& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel5_accessCapAdditionsAfterRel6_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel6& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel5_encoder(const AccessCapAdditionsAfterRel5& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel5_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel5& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel4_accessCapAdditionsAfterRel5_encoder(const AccessCapAdditionsAfterRel5& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel4_accessCapAdditionsAfterRel5_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel5& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel4_encoder(const AccessCapAdditionsAfterRel4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel4_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel99_accessCapAdditionsAfterRel4_encoder(const AccessCapAdditionsAfterRel4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel99_accessCapAdditionsAfterRel4_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel99_encoder(const AccessCapAdditionsAfterRel99& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel99_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel99& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel97_accessCapAdditionsAfterRel99_encoder(const AccessCapAdditionsAfterRel99& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel97_accessCapAdditionsAfterRel99_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel99& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapAdditionsAfterRel97_encoder(const AccessCapAdditionsAfterRel97& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapAdditionsAfterRel97_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel97& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_accessCapAdditionsAfterRel97_encoder(const AccessCapAdditionsAfterRel97& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_accessCapAdditionsAfterRel97_decoder(OCTETSTRING& input_stream, AccessCapAdditionsAfterRel97& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilities_encoder(const AccessCapabilities& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilities_decoder(OCTETSTRING& input_stream, AccessCapabilities& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilitiesStruct_accessCapabilities_encoder(const AccessCapabilities& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilitiesStruct_accessCapabilities_decoder(OCTETSTRING& input_stream, AccessCapabilities& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilitiesStruct_spare__bits_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilitiesStruct_spare__bits_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessCapabilitiesStruct_encoder(const AccessCapabilitiesStruct& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessCapabilitiesStruct_decoder(OCTETSTRING& input_stream, AccessCapabilitiesStruct& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValuesExclude1111_accessCapabilities_encoder(const AccessCapabilitiesStruct& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValuesExclude1111_accessCapabilities_decoder(OCTETSTRING& input_stream, AccessCapabilitiesStruct& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValuesExclude1111_encoder(const MSRACapabilityValuesExclude1111& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValuesExclude1111_decoder(OCTETSTRING& input_stream, MSRACapabilityValuesExclude1111& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValues1111_accessTechnType_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValues1111_accessTechnType_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValues1111_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValues1111_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValues1111_presenceIndicator__AdditionalAccessTechnologiesRepetition_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValues1111_presenceIndicator__AdditionalAccessTechnologiesRepetition_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValues1111_spare__bits_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValues1111_spare__bits_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const AdditionalAccessTechnologiesRepetition& other_value);
inline boolean operator!=(null_type null_value, const AdditionalAccessTechnologiesRepetition& other_value) { return !(null_value == other_value); }
extern void AdditionalAccessTechnologies_accessTechnType_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalAccessTechnologies_accessTechnType_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalAccessTechnologies_gMSKPowerClass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalAccessTechnologies_gMSKPowerClass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalAccessTechnologies_psk8PowerClass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalAccessTechnologies_psk8PowerClass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalAccessTechnologies_encoder(const AdditionalAccessTechnologies& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalAccessTechnologies_decoder(OCTETSTRING& input_stream, AdditionalAccessTechnologies& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalAccessTechnologiesRecord_additionalAccessTechnologies_encoder(const AdditionalAccessTechnologies& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalAccessTechnologiesRecord_additionalAccessTechnologies_decoder(OCTETSTRING& input_stream, AdditionalAccessTechnologies& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalAccessTechnologiesRecord_extensionBit_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalAccessTechnologiesRecord_extensionBit_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalAccessTechnologiesRecord_encoder(const AdditionalAccessTechnologiesRecord& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalAccessTechnologiesRecord_decoder(OCTETSTRING& input_stream, AdditionalAccessTechnologiesRecord& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalAccessTechnologiesRepetition_encoder(const AdditionalAccessTechnologiesRepetition& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalAccessTechnologiesRepetition_decoder(OCTETSTRING& input_stream, AdditionalAccessTechnologiesRepetition& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValues1111_additionalAccessTechnologiesRepetition_encoder(const AdditionalAccessTechnologiesRepetition& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValues1111_additionalAccessTechnologiesRepetition_decoder(OCTETSTRING& input_stream, AdditionalAccessTechnologiesRepetition& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValues1111_encoder(const MSRACapabilityValues1111& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValues1111_decoder(OCTETSTRING& input_stream, MSRACapabilityValues1111& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValues_encoder(const MSRACapabilityValues& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValues_decoder(OCTETSTRING& input_stream, MSRACapabilityValues& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValuesRecord_mSRACapabilityValues_encoder(const MSRACapabilityValues& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValuesRecord_mSRACapabilityValues_decoder(OCTETSTRING& input_stream, MSRACapabilityValues& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValuesRecord_presenceBitMSRACap_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValuesRecord_presenceBitMSRACap_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRACapabilityValuesRecord_encoder(const MSRACapabilityValuesRecord& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRACapabilityValuesRecord_decoder(OCTETSTRING& input_stream, MSRACapabilityValuesRecord& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRadioAccessCapabilityV_encoder(const MSRadioAccessCapabilityV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRadioAccessCapabilityV_decoder(OCTETSTRING& input_stream, MSRadioAccessCapabilityV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRadioAccessCapabilityLV_msRadioAccessCapabilityV_encoder(const MSRadioAccessCapabilityV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRadioAccessCapabilityLV_msRadioAccessCapabilityV_decoder(OCTETSTRING& input_stream, MSRadioAccessCapabilityV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MSRadioAccessCapabilityLV_encoder(const MSRadioAccessCapabilityLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MSRadioAccessCapabilityLV_decoder(OCTETSTRING& input_stream, MSRadioAccessCapabilityLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GMM__CauseV_encoder(const GMM__CauseV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GMM__CauseV_decoder(OCTETSTRING& input_stream, GMM__CauseV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GMM__CauseTV_encoder(const GMM__CauseTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GMM__CauseTV_decoder(OCTETSTRING& input_stream, GMM__CauseTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingAreaIdentificationV_encoder(const RoutingAreaIdentificationV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingAreaIdentificationV_decoder(OCTETSTRING& input_stream, RoutingAreaIdentificationV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UpdateResultV_encoder(const UpdateResultV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UpdateResultV_decoder(OCTETSTRING& input_stream, UpdateResultV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UpdateResultTV_encoder(const UpdateResultTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UpdateResultTV_decoder(OCTETSTRING& input_stream, UpdateResultTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UpdateTypeV_encoder(const UpdateTypeV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UpdateTypeV_decoder(OCTETSTRING& input_stream, UpdateTypeV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UpdateTypeTV_encoder(const UpdateTypeTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UpdateTypeTV_decoder(OCTETSTRING& input_stream, UpdateTypeTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ACReferenceNumberV_encoder(const ACReferenceNumberV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ACReferenceNumberV_decoder(OCTETSTRING& input_stream, ACReferenceNumberV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ACReferenceNumberTV_encoder(const ACReferenceNumberTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ACReferenceNumberTV_decoder(OCTETSTRING& input_stream, ACReferenceNumberTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ServiceTypeV_encoder(const ServiceTypeV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ServiceTypeV_decoder(OCTETSTRING& input_stream, ServiceTypeV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellNotificationT_encoder(const CellNotificationT& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellNotificationT_decoder(OCTETSTRING& input_stream, CellNotificationT& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PC__LCSCapabilityLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PC__LCSCapabilityLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PC__LCSCapabilityV_encoder(const PC__LCSCapabilityV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PC__LCSCapabilityV_decoder(OCTETSTRING& input_stream, PC__LCSCapabilityV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PC__LCSCapabilityLV_encoder(const PC__LCSCapabilityLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PC__LCSCapabilityLV_decoder(OCTETSTRING& input_stream, PC__LCSCapabilityLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PC__LCSCapability_encoder(const PC__LCSCapability& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PC__LCSCapability_decoder(OCTETSTRING& input_stream, PC__LCSCapability& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkFeatureSupportV_encoder(const NetworkFeatureSupportV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkFeatureSupportV_decoder(OCTETSTRING& input_stream, NetworkFeatureSupportV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkFeatureSupportTV_encoder(const NetworkFeatureSupportTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkFeatureSupportTV_decoder(OCTETSTRING& input_stream, NetworkFeatureSupportTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalNetworkFeatureSupportTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalNetworkFeatureSupportTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalNetworkFeatureSupportV_encoder(const AdditionalNetworkFeatureSupportV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalNetworkFeatureSupportV_decoder(OCTETSTRING& input_stream, AdditionalNetworkFeatureSupportV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AdditionalNetworkFeatureSupportTLV_encoder(const AdditionalNetworkFeatureSupportTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AdditionalNetworkFeatureSupportTLV_decoder(OCTETSTRING& input_stream, AdditionalNetworkFeatureSupportTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void InterRATInformationContainerTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER InterRATInformationContainerTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void InterRATInformationContainerTLV_interRATInformationContainerV_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER InterRATInformationContainerTLV_interRATInformationContainerV_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void InterRATInformationContainerTLV_encoder(const InterRATInformationContainerTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER InterRATInformationContainerTLV_decoder(OCTETSTRING& input_stream, InterRATInformationContainerTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RequestedMSInformationTV_encoder(const RequestedMSInformationTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RequestedMSInformationTV_decoder(OCTETSTRING& input_stream, RequestedMSInformationTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UENetworkCapabilityLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UENetworkCapabilityLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UENetworkCapabilityV_spare4_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UENetworkCapabilityV_spare4_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UENetworkCapabilityV_encoder(const UENetworkCapabilityV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UENetworkCapabilityV_decoder(OCTETSTRING& input_stream, UENetworkCapabilityV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UENetworkCapabilityLV_encoder(const UENetworkCapabilityLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UENetworkCapabilityLV_decoder(OCTETSTRING& input_stream, UENetworkCapabilityLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UENetworkCapabilityTLV_encoder(const UENetworkCapabilityTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UENetworkCapabilityTLV_decoder(OCTETSTRING& input_stream, UENetworkCapabilityTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EUTRANinterRATInformationContainerTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EUTRANinterRATInformationContainerTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EUTRANinterRATInformationContainerTLV_eUTRANinterRATInformationContainerV_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EUTRANinterRATInformationContainerTLV_eUTRANinterRATInformationContainerV_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EUTRANinterRATInformationContainerTLV_encoder(const EUTRANinterRATInformationContainerTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EUTRANinterRATInformationContainerTLV_decoder(OCTETSTRING& input_stream, EUTRANinterRATInformationContainerTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void VoiceDomainPreferenceandUEsUsageSettingTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER VoiceDomainPreferenceandUEsUsageSettingTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void VDPaUEsUS__V_encoder(const VDPaUEsUS__V& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER VDPaUEsUS__V_decoder(OCTETSTRING& input_stream, VDPaUEsUS__V& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void VoiceDomainPreferenceandUEsUsageSettingTLV_encoder(const VoiceDomainPreferenceandUEsUsageSettingTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER VoiceDomainPreferenceandUEsUsageSettingTLV_decoder(OCTETSTRING& input_stream, VoiceDomainPreferenceandUEsUsageSettingTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LocationAreaIdentification2__TLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LocationAreaIdentification2__TLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LocationAreaIdentification2__TLV_encoder(const LocationAreaIdentification2__TLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LocationAreaIdentification2__TLV_decoder(OCTETSTRING& input_stream, LocationAreaIdentification2__TLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkResourceIdentifierContainerLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkResourceIdentifierContainerLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkResourceIdentifierContainerV_nRIContainerValue_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkResourceIdentifierContainerV_nRIContainerValue_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkResourceIdentifierContainerV_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkResourceIdentifierContainerV_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkResourceIdentifierContainerV_encoder(const NetworkResourceIdentifierContainerV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkResourceIdentifierContainerV_decoder(OCTETSTRING& input_stream, NetworkResourceIdentifierContainerV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkResourceIdentifierContainerLV_encoder(const NetworkResourceIdentifierContainerLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkResourceIdentifierContainerLV_decoder(OCTETSTRING& input_stream, NetworkResourceIdentifierContainerLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkResourceIdentifierContainerTLV_encoder(const NetworkResourceIdentifierContainerTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkResourceIdentifierContainerTLV_decoder(OCTETSTRING& input_stream, NetworkResourceIdentifierContainerTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ExtendedDRXParametersTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ExtendedDRXParametersTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ExtendedDRXParametersTLV_encoder(const ExtendedDRXParametersTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ExtendedDRXParametersTLV_decoder(OCTETSTRING& input_stream, ExtendedDRXParametersTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessPointNameTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessPointNameTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessPointNameV_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessPointNameV_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessPointNameTLV_encoder(const AccessPointNameTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessPointNameTLV_decoder(OCTETSTRING& input_stream, AccessPointNameTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessPointNameLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessPointNameLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessPointNameLV_encoder(const AccessPointNameLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessPointNameLV_decoder(OCTETSTRING& input_stream, AccessPointNameLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NSAPIV_encoder(const NSAPIV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NSAPIV_decoder(OCTETSTRING& input_stream, NSAPIV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NSAPITV_encoder(const NSAPITV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NSAPITV_decoder(OCTETSTRING& input_stream, NSAPITV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ProtocolConfigOptionsTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ProtocolConfigOptionsTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const ProtocolIDs__and__ContainerIDs& other_value);
inline boolean operator!=(null_type null_value, const ProtocolIDs__and__ContainerIDs& other_value) { return !(null_value == other_value); }
extern void ProtocolID__or__ContainerID_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ProtocolID__or__ContainerID_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ProtocolID__or__ContainerID_protID__orContID__Contents_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ProtocolID__or__ContainerID_protID__orContID__Contents_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ProtocolID__or__ContainerID_encoder(const ProtocolID__or__ContainerID& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ProtocolID__or__ContainerID_decoder(OCTETSTRING& input_stream, ProtocolID__or__ContainerID& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ProtocolIDs__and__ContainerIDs_encoder(const ProtocolIDs__and__ContainerIDs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ProtocolIDs__and__ContainerIDs_decoder(OCTETSTRING& input_stream, ProtocolIDs__and__ContainerIDs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ProtocolConfigOptionsV_encoder(const ProtocolConfigOptionsV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ProtocolConfigOptionsV_decoder(OCTETSTRING& input_stream, ProtocolConfigOptionsV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ProtocolConfigOptionsTLV_encoder(const ProtocolConfigOptionsTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ProtocolConfigOptionsTLV_decoder(OCTETSTRING& input_stream, ProtocolConfigOptionsTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDPAddressLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDPAddressLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDPAddressV_addressInfo_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDPAddressV_addressInfo_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDPAddressV_encoder(const PDPAddressV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDPAddressV_decoder(OCTETSTRING& input_stream, PDPAddressV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDPAddressLV_encoder(const PDPAddressLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDPAddressLV_decoder(OCTETSTRING& input_stream, PDPAddressLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDPAddressTLV_encoder(const PDPAddressTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDPAddressTLV_decoder(OCTETSTRING& input_stream, PDPAddressTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void QoSLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER QoSLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void QoSV_encoder(const QoSV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER QoSV_decoder(OCTETSTRING& input_stream, QoSV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void QoSLV_encoder(const QoSLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER QoSLV_decoder(OCTETSTRING& input_stream, QoSLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void QoSTLV_encoder(const QoSTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER QoSTLV_decoder(OCTETSTRING& input_stream, QoSTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReAttemptIndicatorLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReAttemptIndicatorLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReAttemptIndicatorV_encoder(const ReAttemptIndicatorV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReAttemptIndicatorV_decoder(OCTETSTRING& input_stream, ReAttemptIndicatorV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReAttemptIndicatorLV_encoder(const ReAttemptIndicatorLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReAttemptIndicatorLV_decoder(OCTETSTRING& input_stream, ReAttemptIndicatorLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReAttemptIndicatorTLV_encoder(const ReAttemptIndicatorTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReAttemptIndicatorTLV_decoder(OCTETSTRING& input_stream, ReAttemptIndicatorTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SMCause2LV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SMCause2LV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SMCause2LV_encoder(const SMCause2LV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SMCause2LV_decoder(OCTETSTRING& input_stream, SMCause2LV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SMCause2TLV_encoder(const SMCause2TLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SMCause2TLV_decoder(OCTETSTRING& input_stream, SMCause2TLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LinkedTILV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LinkedTILV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TI__Extension_encoder(const TI__Extension& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TI__Extension_decoder(OCTETSTRING& input_stream, TI__Extension& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LinkedTIV_tIExtension_encoder(const TI__Extension& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LinkedTIV_tIExtension_decoder(OCTETSTRING& input_stream, TI__Extension& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LinkedTIV_encoder(const LinkedTIV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LinkedTIV_decoder(OCTETSTRING& input_stream, LinkedTIV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LinkedTILV_encoder(const LinkedTILV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LinkedTILV_decoder(OCTETSTRING& input_stream, LinkedTILV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LinkedTITLV_encoder(const LinkedTITLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LinkedTITLV_decoder(OCTETSTRING& input_stream, LinkedTITLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LLC__SAPIV_encoder(const LLC__SAPIV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LLC__SAPIV_decoder(OCTETSTRING& input_stream, LLC__SAPIV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LLC__SAPITV_encoder(const LLC__SAPITV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LLC__SAPITV_decoder(OCTETSTRING& input_stream, LLC__SAPITV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TearDownIndicatorV_encoder(const TearDownIndicatorV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TearDownIndicatorV_decoder(OCTETSTRING& input_stream, TearDownIndicatorV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TearDownIndicatorTV_encoder(const TearDownIndicatorTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TearDownIndicatorTV_decoder(OCTETSTRING& input_stream, TearDownIndicatorTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketFlowIDTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFlowIDTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketFlowIDV_encoder(const PacketFlowIDV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFlowIDV_decoder(OCTETSTRING& input_stream, PacketFlowIDV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketFlowIDTLV_encoder(const PacketFlowIDTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFlowIDTLV_decoder(OCTETSTRING& input_stream, PacketFlowIDTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV__CreateAddReplaceTFT_numberOfPacketFilters_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV__CreateAddReplaceTFT_numberOfPacketFilters_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const PacketFilterList__CreateAddReplaceTFT& other_value);
inline boolean operator!=(null_type null_value, const PacketFilterList__CreateAddReplaceTFT& other_value) { return !(null_value == other_value); }
extern void PacketFilterIdentifier__CreateAddReplaceTFT_encoder(const PacketFilterIdentifier__CreateAddReplaceTFT& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFilterIdentifier__CreateAddReplaceTFT_decoder(OCTETSTRING& input_stream, PacketFilterIdentifier__CreateAddReplaceTFT& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketFilter_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFilter_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketFilter_contents_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFilter_contents_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketFilter_encoder(const PacketFilter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFilter_decoder(OCTETSTRING& input_stream, PacketFilter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketFilterList__CreateAddReplaceTFT_encoder(const PacketFilterList__CreateAddReplaceTFT& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFilterList__CreateAddReplaceTFT_decoder(OCTETSTRING& input_stream, PacketFilterList__CreateAddReplaceTFT& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const ParametersList& other_value);
inline boolean operator!=(null_type null_value, const ParametersList& other_value) { return !(null_value == other_value); }
extern void Parameter_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Parameter_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Parameter_contents_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Parameter_contents_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Parameter_encoder(const Parameter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Parameter_decoder(OCTETSTRING& input_stream, Parameter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ParametersList_encoder(const ParametersList& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ParametersList_decoder(OCTETSTRING& input_stream, ParametersList& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV__CreateAddReplaceTFT_parametersList_encoder(const ParametersList& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV__CreateAddReplaceTFT_parametersList_decoder(OCTETSTRING& input_stream, ParametersList& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV__CreateAddReplaceTFT_encoder(const TrafficFlowTemplateV__CreateAddReplaceTFT& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV__CreateAddReplaceTFT_decoder(OCTETSTRING& input_stream, TrafficFlowTemplateV__CreateAddReplaceTFT& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV__DeletePacketFilter_numberOfPacketFilters_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV__DeletePacketFilter_numberOfPacketFilters_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const PacketFilterList__DeletePacketFilter& other_value);
inline boolean operator!=(null_type null_value, const PacketFilterList__DeletePacketFilter& other_value) { return !(null_value == other_value); }
extern void PacketFilterIdentifier_encoder(const PacketFilterIdentifier& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFilterIdentifier_decoder(OCTETSTRING& input_stream, PacketFilterIdentifier& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketFilterList__DeletePacketFilter_encoder(const PacketFilterList__DeletePacketFilter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketFilterList__DeletePacketFilter_decoder(OCTETSTRING& input_stream, PacketFilterList__DeletePacketFilter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV__DeletePacketFilter_parametersList_encoder(const ParametersList& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV__DeletePacketFilter_parametersList_decoder(OCTETSTRING& input_stream, ParametersList& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV__DeletePacketFilter_encoder(const TrafficFlowTemplateV__DeletePacketFilter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV__DeletePacketFilter_decoder(OCTETSTRING& input_stream, TrafficFlowTemplateV__DeletePacketFilter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_parametersList_encoder(const ParametersList& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_parametersList_decoder(OCTETSTRING& input_stream, ParametersList& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_encoder(const TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_decoder(OCTETSTRING& input_stream, TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateV_encoder(const TrafficFlowTemplateV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateV_decoder(OCTETSTRING& input_stream, TrafficFlowTemplateV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateLV_encoder(const TrafficFlowTemplateLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateLV_decoder(OCTETSTRING& input_stream, TrafficFlowTemplateLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TrafficFlowTemplateTLV_encoder(const TrafficFlowTemplateTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TrafficFlowTemplateTLV_decoder(OCTETSTRING& input_stream, TrafficFlowTemplateTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TemporaryMobileGroupIDLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TemporaryMobileGroupIDLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TemporaryMobileGroupIDLV_encoder(const TemporaryMobileGroupIDLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TemporaryMobileGroupIDLV_decoder(OCTETSTRING& input_stream, TemporaryMobileGroupIDLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MBMSBearerCapabilitiesLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MBMSBearerCapabilitiesLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MBMSBearerCapabilitiesLV_encoder(const MBMSBearerCapabilitiesLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MBMSBearerCapabilitiesLV_decoder(OCTETSTRING& input_stream, MBMSBearerCapabilitiesLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MBMSProtocolConfigOptionsTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MBMSProtocolConfigOptionsTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MBMSProtocolConfigOptionsTLV_valueField_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MBMSProtocolConfigOptionsTLV_valueField_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MBMSProtocolConfigOptionsTLV_encoder(const MBMSProtocolConfigOptionsTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MBMSProtocolConfigOptionsTLV_decoder(OCTETSTRING& input_stream, MBMSProtocolConfigOptionsTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EnhancedNetworkSeviveAccessPointIDV_encoder(const EnhancedNetworkSeviveAccessPointIDV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EnhancedNetworkSeviveAccessPointIDV_decoder(OCTETSTRING& input_stream, EnhancedNetworkSeviveAccessPointIDV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RequestTypeTV_encoder(const RequestTypeTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RequestTypeTV_decoder(OCTETSTRING& input_stream, RequestTypeTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NotificationIndicatorLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NotificationIndicatorLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NotificationIndicatorLV_encoder(const NotificationIndicatorLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NotificationIndicatorLV_decoder(OCTETSTRING& input_stream, NotificationIndicatorLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ConnectivityTypeTV_encoder(const ConnectivityTypeTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ConnectivityTypeTV_decoder(OCTETSTRING& input_stream, ConnectivityTypeTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void WLANOffloadAcceptabilityTV_encoder(const WLANOffloadAcceptabilityTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER WLANOffloadAcceptabilityTV_decoder(OCTETSTRING& input_stream, WLANOffloadAcceptabilityTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__ContainerTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__ContainerTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const NBIFOM__ParameterList& other_value);
inline boolean operator!=(null_type null_value, const NBIFOM__ParameterList& other_value) { return !(null_value == other_value); }
extern void NBIFOM__Parameter_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__Parameter_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const NBIFOM__RoutingRules& other_value);
inline boolean operator!=(null_type null_value, const NBIFOM__RoutingRules& other_value) { return !(null_value == other_value); }
extern void NBIFOM__RoutingRule_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__RoutingRule_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_flagsZ_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_flagsZ_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_sourceIPv4Address_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_sourceIPv4Address_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_destinationIPv4Address_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_destinationIPv4Address_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_sourceIPv6Address_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_sourceIPv6Address_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_destinationIPv6Address_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_destinationIPv6Address_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_sourceAddressPrefixLength_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_sourceAddressPrefixLength_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_destinationAddressPrefixLength_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_destinationAddressPrefixLength_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_iPSecSecurityParameterIndex_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_iPSecSecurityParameterIndex_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_protocolTypeNextHeader_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_protocolTypeNextHeader_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_startSourcePortRange_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_startSourcePortRange_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_endSourcePortRange_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_endSourcePortRange_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_startDestinationPortRange_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_startDestinationPortRange_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_endDestinationPortRange_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_endDestinationPortRange_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_typeOfService_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_typeOfService_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_flowLabel_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_flowLabel_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RoutingFilter_encoder(const RoutingFilter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RoutingFilter_decoder(OCTETSTRING& input_stream, RoutingFilter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__RoutingRule_encoder(const NBIFOM__RoutingRule& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__RoutingRule_decoder(OCTETSTRING& input_stream, NBIFOM__RoutingRule& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__RoutingRules_encoder(const NBIFOM__RoutingRules& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__RoutingRules_decoder(OCTETSTRING& input_stream, NBIFOM__RoutingRules& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__AccessUsabilityIndication_encoder(const NBIFOM__AccessUsabilityIndication& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__AccessUsabilityIndication_decoder(OCTETSTRING& input_stream, NBIFOM__AccessUsabilityIndication& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__ParameterContents_unknownParameter_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__ParameterContents_unknownParameter_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__ParameterContents_encoder(const NBIFOM__ParameterContents& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__ParameterContents_decoder(OCTETSTRING& input_stream, NBIFOM__ParameterContents& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__Parameter_parameterContents_encoder(const NBIFOM__ParameterContents& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__Parameter_parameterContents_decoder(OCTETSTRING& input_stream, NBIFOM__ParameterContents& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__Parameter_encoder(const NBIFOM__Parameter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__Parameter_decoder(OCTETSTRING& input_stream, NBIFOM__Parameter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__ParameterList_encoder(const NBIFOM__ParameterList& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__ParameterList_decoder(OCTETSTRING& input_stream, NBIFOM__ParameterList& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NBIFOM__ContainerTLV_encoder(const NBIFOM__ContainerTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NBIFOM__ContainerTLV_decoder(OCTETSTRING& input_stream, NBIFOM__ContainerTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDPContextStatusTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDPContextStatusTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDPContextStatusTLV_encoder(const PDPContextStatusTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDPContextStatusTLV_decoder(OCTETSTRING& input_stream, PDPContextStatusTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RadioPriorityV_encoder(const RadioPriorityV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RadioPriorityV_decoder(OCTETSTRING& input_stream, RadioPriorityV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RadioPriorityTV_encoder(const RadioPriorityTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RadioPriorityTV_decoder(OCTETSTRING& input_stream, RadioPriorityTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GPRSTimerV_encoder(const GPRSTimerV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GPRSTimerV_decoder(OCTETSTRING& input_stream, GPRSTimerV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GPRSTimerTV_encoder(const GPRSTimerTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GPRSTimerTV_decoder(OCTETSTRING& input_stream, GPRSTimerTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GPRSTimer2TLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GPRSTimer2TLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GPRSTimer2TLV_encoder(const GPRSTimer2TLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GPRSTimer2TLV_decoder(OCTETSTRING& input_stream, GPRSTimer2TLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RadioPriority2V_encoder(const RadioPriority2V& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RadioPriority2V_decoder(OCTETSTRING& input_stream, RadioPriority2V& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RadioPriority2TV_encoder(const RadioPriority2TV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RadioPriority2TV_decoder(OCTETSTRING& input_stream, RadioPriority2TV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MBMS__ContextStatusTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MBMS__ContextStatusTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MBMS__ContextStatusTLV_mBMSContextStatusInformation_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MBMS__ContextStatusTLV_mBMSContextStatusInformation_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MBMS__ContextStatusTLV_encoder(const MBMS__ContextStatusTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MBMS__ContextStatusTLV_decoder(OCTETSTRING& input_stream, MBMS__ContextStatusTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkDataStatusTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkDataStatusTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkDataStatusV_encoder(const UplinkDataStatusV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkDataStatusV_decoder(OCTETSTRING& input_stream, UplinkDataStatusV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkDataStatusTLV_encoder(const UplinkDataStatusTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkDataStatusTLV_decoder(OCTETSTRING& input_stream, UplinkDataStatusTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__AttachRequest_encoder(const PDU__GMM__AttachRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__AttachRequest_decoder(OCTETSTRING& input_stream, PDU__GMM__AttachRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__AttachAccept_encoder(const PDU__GMM__AttachAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__AttachAccept_decoder(OCTETSTRING& input_stream, PDU__GMM__AttachAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__AttachComplete_encoder(const PDU__GMM__AttachComplete& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__AttachComplete_decoder(OCTETSTRING& input_stream, PDU__GMM__AttachComplete& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__AttachReject_encoder(const PDU__GMM__AttachReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__AttachReject_decoder(OCTETSTRING& input_stream, PDU__GMM__AttachReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__DetachRequest__SGSN__MS_encoder(const PDU__GMM__DetachRequest__SGSN__MS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__DetachRequest__SGSN__MS_decoder(OCTETSTRING& input_stream, PDU__GMM__DetachRequest__SGSN__MS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__DetachRequest__MS__SGSN_encoder(const PDU__GMM__DetachRequest__MS__SGSN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__DetachRequest__MS__SGSN_decoder(OCTETSTRING& input_stream, PDU__GMM__DetachRequest__MS__SGSN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__DetachAccept__MS__SGSN_encoder(const PDU__GMM__DetachAccept__MS__SGSN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__DetachAccept__MS__SGSN_decoder(OCTETSTRING& input_stream, PDU__GMM__DetachAccept__MS__SGSN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__DetachAccept__SGSN__MS_encoder(const PDU__GMM__DetachAccept__SGSN__MS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__DetachAccept__SGSN__MS_decoder(OCTETSTRING& input_stream, PDU__GMM__DetachAccept__SGSN__MS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__P__TMSIReallocationCommand_encoder(const PDU__GMM__P__TMSIReallocationCommand& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__P__TMSIReallocationCommand_decoder(OCTETSTRING& input_stream, PDU__GMM__P__TMSIReallocationCommand& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__P__TMSIReallocationComplete_encoder(const PDU__GMM__P__TMSIReallocationComplete& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__P__TMSIReallocationComplete_decoder(OCTETSTRING& input_stream, PDU__GMM__P__TMSIReallocationComplete& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__AuthenticationAndCipheringRequest_encoder(const PDU__GMM__AuthenticationAndCipheringRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__AuthenticationAndCipheringRequest_decoder(OCTETSTRING& input_stream, PDU__GMM__AuthenticationAndCipheringRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__AuthenticationAndCipheringResponse_encoder(const PDU__GMM__AuthenticationAndCipheringResponse& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__AuthenticationAndCipheringResponse_decoder(OCTETSTRING& input_stream, PDU__GMM__AuthenticationAndCipheringResponse& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__AuthenticationAndCipheringFailure_encoder(const PDU__GMM__AuthenticationAndCipheringFailure& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__AuthenticationAndCipheringFailure_decoder(OCTETSTRING& input_stream, PDU__GMM__AuthenticationAndCipheringFailure& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__AuthenticationAndCipheringReject_encoder(const PDU__GMM__AuthenticationAndCipheringReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__AuthenticationAndCipheringReject_decoder(OCTETSTRING& input_stream, PDU__GMM__AuthenticationAndCipheringReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__IdentityRequest_encoder(const PDU__GMM__IdentityRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__IdentityRequest_decoder(OCTETSTRING& input_stream, PDU__GMM__IdentityRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__IdentityResponse_encoder(const PDU__GMM__IdentityResponse& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__IdentityResponse_decoder(OCTETSTRING& input_stream, PDU__GMM__IdentityResponse& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__RoutingAreaUpdateRequest_encoder(const PDU__GMM__RoutingAreaUpdateRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__RoutingAreaUpdateRequest_decoder(OCTETSTRING& input_stream, PDU__GMM__RoutingAreaUpdateRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__RoutingAreaUpdateAccept_encoder(const PDU__GMM__RoutingAreaUpdateAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__RoutingAreaUpdateAccept_decoder(OCTETSTRING& input_stream, PDU__GMM__RoutingAreaUpdateAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__RoutingAreaUpdateComplete_encoder(const PDU__GMM__RoutingAreaUpdateComplete& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__RoutingAreaUpdateComplete_decoder(OCTETSTRING& input_stream, PDU__GMM__RoutingAreaUpdateComplete& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__RoutingAreaUpdateReject_encoder(const PDU__GMM__RoutingAreaUpdateReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__RoutingAreaUpdateReject_decoder(OCTETSTRING& input_stream, PDU__GMM__RoutingAreaUpdateReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__GMM__Status_encoder(const PDU__GMM__GMM__Status& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__GMM__Status_decoder(OCTETSTRING& input_stream, PDU__GMM__GMM__Status& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__GMM__Information_encoder(const PDU__GMM__GMM__Information& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__GMM__Information_decoder(OCTETSTRING& input_stream, PDU__GMM__GMM__Information& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__ServiceRequest_encoder(const PDU__GMM__ServiceRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__ServiceRequest_decoder(OCTETSTRING& input_stream, PDU__GMM__ServiceRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__ServiceAccept_encoder(const PDU__GMM__ServiceAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__ServiceAccept_decoder(OCTETSTRING& input_stream, PDU__GMM__ServiceAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__GMM__ServiceReject_encoder(const PDU__GMM__ServiceReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__GMM__ServiceReject_decoder(OCTETSTRING& input_stream, PDU__GMM__ServiceReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivatePDPContextRequest_encoder(const PDU__SM__ActivatePDPContextRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivatePDPContextRequest_decoder(OCTETSTRING& input_stream, PDU__SM__ActivatePDPContextRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivatePDPContextAccept_encoder(const PDU__SM__ActivatePDPContextAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivatePDPContextAccept_decoder(OCTETSTRING& input_stream, PDU__SM__ActivatePDPContextAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivatePDPContextReject_encoder(const PDU__SM__ActivatePDPContextReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivatePDPContextReject_decoder(OCTETSTRING& input_stream, PDU__SM__ActivatePDPContextReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivateSecondaryPDPContextRequest_encoder(const PDU__SM__ActivateSecondaryPDPContextRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivateSecondaryPDPContextRequest_decoder(OCTETSTRING& input_stream, PDU__SM__ActivateSecondaryPDPContextRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivateSecondaryPDPContextAccept_encoder(const PDU__SM__ActivateSecondaryPDPContextAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivateSecondaryPDPContextAccept_decoder(OCTETSTRING& input_stream, PDU__SM__ActivateSecondaryPDPContextAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivateSecondaryPDPContextReject_encoder(const PDU__SM__ActivateSecondaryPDPContextReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivateSecondaryPDPContextReject_decoder(OCTETSTRING& input_stream, PDU__SM__ActivateSecondaryPDPContextReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__RequestPDPContextActivation_encoder(const PDU__SM__RequestPDPContextActivation& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__RequestPDPContextActivation_decoder(OCTETSTRING& input_stream, PDU__SM__RequestPDPContextActivation& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__RequestPDPContextActivationReject_encoder(const PDU__SM__RequestPDPContextActivationReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__RequestPDPContextActivationReject_decoder(OCTETSTRING& input_stream, PDU__SM__RequestPDPContextActivationReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ModifyPDPContextRequest__SGSN__MS_encoder(const PDU__SM__ModifyPDPContextRequest__SGSN__MS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ModifyPDPContextRequest__SGSN__MS_decoder(OCTETSTRING& input_stream, PDU__SM__ModifyPDPContextRequest__SGSN__MS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ModifyPDPContextRequest__MS__SGSN_encoder(const PDU__SM__ModifyPDPContextRequest__MS__SGSN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ModifyPDPContextRequest__MS__SGSN_decoder(OCTETSTRING& input_stream, PDU__SM__ModifyPDPContextRequest__MS__SGSN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ModifyPDPContextAccept__MS__SGSN_encoder(const PDU__SM__ModifyPDPContextAccept__MS__SGSN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ModifyPDPContextAccept__MS__SGSN_decoder(OCTETSTRING& input_stream, PDU__SM__ModifyPDPContextAccept__MS__SGSN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ModifyPDPContextAccept__SGSN__MS_encoder(const PDU__SM__ModifyPDPContextAccept__SGSN__MS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ModifyPDPContextAccept__SGSN__MS_decoder(OCTETSTRING& input_stream, PDU__SM__ModifyPDPContextAccept__SGSN__MS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ModifyPDPContextReject_encoder(const PDU__SM__ModifyPDPContextReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ModifyPDPContextReject_decoder(OCTETSTRING& input_stream, PDU__SM__ModifyPDPContextReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__DeactivatePDPContextRequest_encoder(const PDU__SM__DeactivatePDPContextRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__DeactivatePDPContextRequest_decoder(OCTETSTRING& input_stream, PDU__SM__DeactivatePDPContextRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__DeactivatePDPContextAccept_encoder(const PDU__SM__DeactivatePDPContextAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__DeactivatePDPContextAccept_decoder(OCTETSTRING& input_stream, PDU__SM__DeactivatePDPContextAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__RequestSecondaryPDPContextActivation_encoder(const PDU__SM__RequestSecondaryPDPContextActivation& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__RequestSecondaryPDPContextActivation_decoder(OCTETSTRING& input_stream, PDU__SM__RequestSecondaryPDPContextActivation& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__RequestSecondaryPDPContextActivationReject_encoder(const PDU__SM__RequestSecondaryPDPContextActivationReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__RequestSecondaryPDPContextActivationReject_decoder(OCTETSTRING& input_stream, PDU__SM__RequestSecondaryPDPContextActivationReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__Notification_encoder(const PDU__SM__Notification& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__Notification_decoder(OCTETSTRING& input_stream, PDU__SM__Notification& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__SM__Status_encoder(const PDU__SM__SM__Status& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__SM__Status_decoder(OCTETSTRING& input_stream, PDU__SM__SM__Status& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivateMBMSContextRequest_encoder(const PDU__SM__ActivateMBMSContextRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivateMBMSContextRequest_decoder(OCTETSTRING& input_stream, PDU__SM__ActivateMBMSContextRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivateMBMSContextAccept_encoder(const PDU__SM__ActivateMBMSContextAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivateMBMSContextAccept_decoder(OCTETSTRING& input_stream, PDU__SM__ActivateMBMSContextAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__ActivateMBMSContextReject_encoder(const PDU__SM__ActivateMBMSContextReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__ActivateMBMSContextReject_decoder(OCTETSTRING& input_stream, PDU__SM__ActivateMBMSContextReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__RequestMBMSContextActivation_encoder(const PDU__SM__RequestMBMSContextActivation& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__RequestMBMSContextActivation_decoder(OCTETSTRING& input_stream, PDU__SM__RequestMBMSContextActivation& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SM__RequestMBMSContextActivationReject_encoder(const PDU__SM__RequestMBMSContextActivationReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SM__RequestMBMSContextActivationReject_decoder(OCTETSTRING& input_stream, PDU__SM__RequestMBMSContextActivationReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void L3__GSM__MS__SGSN_encoder(const L3__GSM__MS__SGSN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER L3__GSM__MS__SGSN_decoder(OCTETSTRING& input_stream, L3__GSM__MS__SGSN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void L3__GSM__SGSN__MS_encoder(const L3__GSM__SGSN__MS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER L3__GSM__SGSN__MS_decoder(OCTETSTRING& input_stream, L3__GSM__SGSN__MS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void L3__GMM__MS__SGSN_encoder(const L3__GMM__MS__SGSN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER L3__GMM__MS__SGSN_decoder(OCTETSTRING& input_stream, L3__GMM__MS__SGSN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void L3__GMM__SGSN__MS_encoder(const L3__GMM__SGSN__MS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER L3__GMM__SGSN__MS_decoder(OCTETSTRING& input_stream, L3__GMM__SGSN__MS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const XERdescriptor_t AdditionalUpdateTypeV_aUTV_xer_;
extern const TTCN_OERdescriptor_t AdditionalUpdateTypeV_aUTV_oer_;
extern const TTCN_Typedescriptor_t AdditionalUpdateTypeV_aUTV_descr_;
extern UNIVERSAL_CHARSTRING AdditionalUpdateTypeV_aUTV_default_coding;
extern const XERdescriptor_t AdditionalUpdateTypeV_spare_xer_;
extern const TTCN_OERdescriptor_t AdditionalUpdateTypeV_spare_oer_;
extern const TTCN_Typedescriptor_t AdditionalUpdateTypeV_spare_descr_;
extern UNIVERSAL_CHARSTRING AdditionalUpdateTypeV_spare_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalUpdateTypeV_raw_;
extern const TTCN_Typedescriptor_t AdditionalUpdateTypeV_descr_;
extern UNIVERSAL_CHARSTRING AdditionalUpdateTypeV_default_coding;
extern UNIVERSAL_CHARSTRING AdditionalUpdateTypeTV_additionalUpdateType_default_coding;
extern const XERdescriptor_t AdditionalUpdateTypeTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t AdditionalUpdateTypeTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t AdditionalUpdateTypeTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING AdditionalUpdateTypeTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalUpdateTypeTV_raw_;
extern const TTCN_Typedescriptor_t AdditionalUpdateTypeTV_descr_;
extern UNIVERSAL_CHARSTRING AdditionalUpdateTypeTV_default_coding;
extern const XERdescriptor_t AttachResultV_resultOfAttach_xer_;
extern const TTCN_OERdescriptor_t AttachResultV_resultOfAttach_oer_;
extern const TTCN_Typedescriptor_t AttachResultV_resultOfAttach_descr_;
extern UNIVERSAL_CHARSTRING AttachResultV_resultOfAttach_default_coding;
extern const XERdescriptor_t AttachResultV_fop__l3_xer_;
extern const TTCN_OERdescriptor_t AttachResultV_fop__l3_oer_;
extern const TTCN_Typedescriptor_t AttachResultV_fop__l3_descr_;
extern UNIVERSAL_CHARSTRING AttachResultV_fop__l3_default_coding;
extern const TTCN_RAWdescriptor_t AttachResultV_raw_;
extern const TTCN_Typedescriptor_t AttachResultV_descr_;
extern UNIVERSAL_CHARSTRING AttachResultV_default_coding;
extern const XERdescriptor_t AttachTypeV_attachType_xer_;
extern const TTCN_OERdescriptor_t AttachTypeV_attachType_oer_;
extern const TTCN_Typedescriptor_t AttachTypeV_attachType_descr_;
extern UNIVERSAL_CHARSTRING AttachTypeV_attachType_default_coding;
extern const XERdescriptor_t AttachTypeV_for__l3_xer_;
extern const TTCN_OERdescriptor_t AttachTypeV_for__l3_oer_;
extern const TTCN_Typedescriptor_t AttachTypeV_for__l3_descr_;
extern UNIVERSAL_CHARSTRING AttachTypeV_for__l3_default_coding;
extern const TTCN_RAWdescriptor_t AttachTypeV_raw_;
extern const TTCN_Typedescriptor_t AttachTypeV_descr_;
extern UNIVERSAL_CHARSTRING AttachTypeV_default_coding;
extern const XERdescriptor_t CipheringAlgorithmV_valueField_xer_;
extern const TTCN_OERdescriptor_t CipheringAlgorithmV_valueField_oer_;
extern const TTCN_Typedescriptor_t CipheringAlgorithmV_valueField_descr_;
extern UNIVERSAL_CHARSTRING CipheringAlgorithmV_valueField_default_coding;
extern const XERdescriptor_t CipheringAlgorithmV_spare_xer_;
extern const TTCN_OERdescriptor_t CipheringAlgorithmV_spare_oer_;
extern const TTCN_Typedescriptor_t CipheringAlgorithmV_spare_descr_;
extern UNIVERSAL_CHARSTRING CipheringAlgorithmV_spare_default_coding;
extern const TTCN_RAWdescriptor_t CipheringAlgorithmV_raw_;
extern const TTCN_Typedescriptor_t CipheringAlgorithmV_descr_;
extern UNIVERSAL_CHARSTRING CipheringAlgorithmV_default_coding;
extern UNIVERSAL_CHARSTRING CipheringAlgorithmTV_cipheringAlgorithm_default_coding;
extern const XERdescriptor_t CipheringAlgorithmTV_cipheringAlgorithmIEI_xer_;
extern const TTCN_OERdescriptor_t CipheringAlgorithmTV_cipheringAlgorithmIEI_oer_;
extern const TTCN_Typedescriptor_t CipheringAlgorithmTV_cipheringAlgorithmIEI_descr_;
extern UNIVERSAL_CHARSTRING CipheringAlgorithmTV_cipheringAlgorithmIEI_default_coding;
extern const TTCN_RAWdescriptor_t CipheringAlgorithmTV_raw_;
extern const TTCN_Typedescriptor_t CipheringAlgorithmTV_descr_;
extern UNIVERSAL_CHARSTRING CipheringAlgorithmTV_default_coding;
extern const XERdescriptor_t TMSIStatusV_tmsiFlag_xer_;
extern const TTCN_OERdescriptor_t TMSIStatusV_tmsiFlag_oer_;
extern const TTCN_Typedescriptor_t TMSIStatusV_tmsiFlag_descr_;
extern UNIVERSAL_CHARSTRING TMSIStatusV_tmsiFlag_default_coding;
extern const XERdescriptor_t TMSIStatusV_spare_xer_;
extern const TTCN_OERdescriptor_t TMSIStatusV_spare_oer_;
extern const TTCN_Typedescriptor_t TMSIStatusV_spare_descr_;
extern UNIVERSAL_CHARSTRING TMSIStatusV_spare_default_coding;
extern const TTCN_RAWdescriptor_t TMSIStatusV_raw_;
extern const TTCN_Typedescriptor_t TMSIStatusV_descr_;
extern UNIVERSAL_CHARSTRING TMSIStatusV_default_coding;
extern UNIVERSAL_CHARSTRING TMSIStatusTV_tmsiStatusV_default_coding;
extern const XERdescriptor_t TMSIStatusTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t TMSIStatusTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t TMSIStatusTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING TMSIStatusTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t TMSIStatusTV_raw_;
extern const TTCN_Typedescriptor_t TMSIStatusTV_descr_;
extern UNIVERSAL_CHARSTRING TMSIStatusTV_default_coding;
extern const XERdescriptor_t DetachTypeV_detachType_xer_;
extern const TTCN_OERdescriptor_t DetachTypeV_detachType_oer_;
extern const TTCN_Typedescriptor_t DetachTypeV_detachType_descr_;
extern UNIVERSAL_CHARSTRING DetachTypeV_detachType_default_coding;
extern const XERdescriptor_t DetachTypeV_powerOffFlag_xer_;
extern const TTCN_OERdescriptor_t DetachTypeV_powerOffFlag_oer_;
extern const TTCN_Typedescriptor_t DetachTypeV_powerOffFlag_descr_;
extern UNIVERSAL_CHARSTRING DetachTypeV_powerOffFlag_default_coding;
extern const TTCN_RAWdescriptor_t DetachTypeV_raw_;
extern const TTCN_Typedescriptor_t DetachTypeV_descr_;
extern UNIVERSAL_CHARSTRING DetachTypeV_default_coding;
extern UNIVERSAL_CHARSTRING DetachTypeTV_detachTypeV_default_coding;
extern const XERdescriptor_t DetachTypeTV_detachTypeIEI_xer_;
extern const TTCN_OERdescriptor_t DetachTypeTV_detachTypeIEI_oer_;
extern const TTCN_Typedescriptor_t DetachTypeTV_detachTypeIEI_descr_;
extern UNIVERSAL_CHARSTRING DetachTypeTV_detachTypeIEI_default_coding;
extern const TTCN_RAWdescriptor_t DetachTypeTV_raw_;
extern const TTCN_Typedescriptor_t DetachTypeTV_descr_;
extern UNIVERSAL_CHARSTRING DetachTypeTV_default_coding;
extern const XERdescriptor_t DRXParameterTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t DRXParameterTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t DRXParameterTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING DRXParameterTV_elementIdentifier_default_coding;
extern const XERdescriptor_t DRXParameterV_splitPGCycleCode_xer_;
extern const TTCN_OERdescriptor_t DRXParameterV_splitPGCycleCode_oer_;
extern const TTCN_Typedescriptor_t DRXParameterV_splitPGCycleCode_descr_;
extern UNIVERSAL_CHARSTRING DRXParameterV_splitPGCycleCode_default_coding;
extern const XERdescriptor_t DRXParameterV_nonDRXTimer_xer_;
extern const TTCN_OERdescriptor_t DRXParameterV_nonDRXTimer_oer_;
extern const TTCN_Typedescriptor_t DRXParameterV_nonDRXTimer_descr_;
extern UNIVERSAL_CHARSTRING DRXParameterV_nonDRXTimer_default_coding;
extern const XERdescriptor_t DRXParameterV_splitOnCCCH_xer_;
extern const TTCN_OERdescriptor_t DRXParameterV_splitOnCCCH_oer_;
extern const TTCN_Typedescriptor_t DRXParameterV_splitOnCCCH_descr_;
extern UNIVERSAL_CHARSTRING DRXParameterV_splitOnCCCH_default_coding;
extern const XERdescriptor_t DRXParameterV_cnSpecificDRXCycleLength_xer_;
extern const TTCN_OERdescriptor_t DRXParameterV_cnSpecificDRXCycleLength_oer_;
extern const TTCN_Typedescriptor_t DRXParameterV_cnSpecificDRXCycleLength_descr_;
extern UNIVERSAL_CHARSTRING DRXParameterV_cnSpecificDRXCycleLength_default_coding;
extern const TTCN_RAWdescriptor_t DRXParameterV_raw_;
extern const TTCN_Typedescriptor_t DRXParameterV_descr_;
extern UNIVERSAL_CHARSTRING DRXParameterV_default_coding;
extern UNIVERSAL_CHARSTRING DRXParameterTV_drxParameter_default_coding;
extern const TTCN_RAWdescriptor_t DRXParameterTV_raw_;
extern const TTCN_Typedescriptor_t DRXParameterTV_descr_;
extern UNIVERSAL_CHARSTRING DRXParameterTV_default_coding;
extern const XERdescriptor_t ForceToStandbyV_forceToStandbyValue_xer_;
extern const TTCN_OERdescriptor_t ForceToStandbyV_forceToStandbyValue_oer_;
extern const TTCN_Typedescriptor_t ForceToStandbyV_forceToStandbyValue_descr_;
extern UNIVERSAL_CHARSTRING ForceToStandbyV_forceToStandbyValue_default_coding;
extern const XERdescriptor_t ForceToStandbyV_spare_xer_;
extern const TTCN_OERdescriptor_t ForceToStandbyV_spare_oer_;
extern const TTCN_Typedescriptor_t ForceToStandbyV_spare_descr_;
extern UNIVERSAL_CHARSTRING ForceToStandbyV_spare_default_coding;
extern const TTCN_RAWdescriptor_t ForceToStandbyV_raw_;
extern const TTCN_Typedescriptor_t ForceToStandbyV_descr_;
extern UNIVERSAL_CHARSTRING ForceToStandbyV_default_coding;
extern UNIVERSAL_CHARSTRING ForceToStandbyTV_valueField_default_coding;
extern const XERdescriptor_t ForceToStandbyTV_forceToStandbyIEI_xer_;
extern const TTCN_OERdescriptor_t ForceToStandbyTV_forceToStandbyIEI_oer_;
extern const TTCN_Typedescriptor_t ForceToStandbyTV_forceToStandbyIEI_descr_;
extern UNIVERSAL_CHARSTRING ForceToStandbyTV_forceToStandbyIEI_default_coding;
extern const TTCN_RAWdescriptor_t ForceToStandbyTV_raw_;
extern const TTCN_Typedescriptor_t ForceToStandbyTV_descr_;
extern UNIVERSAL_CHARSTRING ForceToStandbyTV_default_coding;
extern const XERdescriptor_t P__TMSISignatureTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t P__TMSISignatureTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t P__TMSISignatureTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING P__TMSISignatureTV_elementIdentifier_default_coding;
extern const XERdescriptor_t P__TMSISignatureTV_valueField_xer_;
extern const TTCN_OERdescriptor_t P__TMSISignatureTV_valueField_oer_;
extern const TTCN_Typedescriptor_t P__TMSISignatureTV_valueField_descr_;
extern UNIVERSAL_CHARSTRING P__TMSISignatureTV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t P__TMSISignatureTV_raw_;
extern const TTCN_Typedescriptor_t P__TMSISignatureTV_descr_;
extern UNIVERSAL_CHARSTRING P__TMSISignatureTV_default_coding;
extern const XERdescriptor_t IdentityType2V_valueField_xer_;
extern const TTCN_OERdescriptor_t IdentityType2V_valueField_oer_;
extern const TTCN_Typedescriptor_t IdentityType2V_valueField_descr_;
extern UNIVERSAL_CHARSTRING IdentityType2V_valueField_default_coding;
extern const XERdescriptor_t IdentityType2V_spare_xer_;
extern const TTCN_OERdescriptor_t IdentityType2V_spare_oer_;
extern const TTCN_Typedescriptor_t IdentityType2V_spare_descr_;
extern UNIVERSAL_CHARSTRING IdentityType2V_spare_default_coding;
extern const TTCN_RAWdescriptor_t IdentityType2V_raw_;
extern const TTCN_Typedescriptor_t IdentityType2V_descr_;
extern UNIVERSAL_CHARSTRING IdentityType2V_default_coding;
extern UNIVERSAL_CHARSTRING IdentityType2TV_valueField_default_coding;
extern const XERdescriptor_t IdentityType2TV_identityType2IEI_xer_;
extern const TTCN_OERdescriptor_t IdentityType2TV_identityType2IEI_oer_;
extern const TTCN_Typedescriptor_t IdentityType2TV_identityType2IEI_descr_;
extern UNIVERSAL_CHARSTRING IdentityType2TV_identityType2IEI_default_coding;
extern const TTCN_RAWdescriptor_t IdentityType2TV_raw_;
extern const TTCN_Typedescriptor_t IdentityType2TV_descr_;
extern UNIVERSAL_CHARSTRING IdentityType2TV_default_coding;
extern const XERdescriptor_t IMEISVRequestV_valueField_xer_;
extern const TTCN_OERdescriptor_t IMEISVRequestV_valueField_oer_;
extern const TTCN_Typedescriptor_t IMEISVRequestV_valueField_descr_;
extern UNIVERSAL_CHARSTRING IMEISVRequestV_valueField_default_coding;
extern const XERdescriptor_t IMEISVRequestV_spare_xer_;
extern const TTCN_OERdescriptor_t IMEISVRequestV_spare_oer_;
extern const TTCN_Typedescriptor_t IMEISVRequestV_spare_descr_;
extern UNIVERSAL_CHARSTRING IMEISVRequestV_spare_default_coding;
extern const TTCN_RAWdescriptor_t IMEISVRequestV_raw_;
extern const TTCN_Typedescriptor_t IMEISVRequestV_descr_;
extern UNIVERSAL_CHARSTRING IMEISVRequestV_default_coding;
extern UNIVERSAL_CHARSTRING IMEISVRequestTV_imeisvRequest_default_coding;
extern const XERdescriptor_t IMEISVRequestTV_imeisvRequestIEI_xer_;
extern const TTCN_OERdescriptor_t IMEISVRequestTV_imeisvRequestIEI_oer_;
extern const TTCN_Typedescriptor_t IMEISVRequestTV_imeisvRequestIEI_descr_;
extern UNIVERSAL_CHARSTRING IMEISVRequestTV_imeisvRequestIEI_default_coding;
extern const TTCN_RAWdescriptor_t IMEISVRequestTV_raw_;
extern const TTCN_Typedescriptor_t IMEISVRequestTV_descr_;
extern UNIVERSAL_CHARSTRING IMEISVRequestTV_default_coding;
extern const XERdescriptor_t ReceiveNPDUNumbersListTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t ReceiveNPDUNumbersListTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t ReceiveNPDUNumbersListTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumbersListTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t ReceiveNPDUNumbersListTLV_lengthIndicator_raw_;
extern const XERdescriptor_t ReceiveNPDUNumbersListTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t ReceiveNPDUNumbersListTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t ReceiveNPDUNumbersListTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumbersListTLV_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t ReceiveNPDUNumbersListV_raw_;
extern const TTCN_Typedescriptor_t ReceiveNPDUNumbersListV_descr_;
extern const TTCN_RAWdescriptor_t ReceiveNPDUNumber_sapi_raw_;
extern const XERdescriptor_t ReceiveNPDUNumber_sapi_xer_;
extern const TTCN_OERdescriptor_t ReceiveNPDUNumber_sapi_oer_;
extern const TTCN_Typedescriptor_t ReceiveNPDUNumber_sapi_descr_;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumber_sapi_default_coding;
extern const TTCN_RAWdescriptor_t ReceiveNPDUNumber_numberValue_raw_;
extern const XERdescriptor_t ReceiveNPDUNumber_numberValue_xer_;
extern const TTCN_OERdescriptor_t ReceiveNPDUNumber_numberValue_oer_;
extern const TTCN_Typedescriptor_t ReceiveNPDUNumber_numberValue_descr_;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumber_numberValue_default_coding;
extern const TTCN_RAWdescriptor_t ReceiveNPDUNumber_raw_;
extern const TTCN_Typedescriptor_t ReceiveNPDUNumber_descr_;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumber_default_coding;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumbersListV_0_default_coding;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumbersListV_default_coding;
extern const TTCN_RAWdescriptor_t ReceiveNPDUNumbersListTLV_numberList_raw_;
extern const TTCN_Typedescriptor_t ReceiveNPDUNumbersListTLV_numberList_descr_;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumbersListTLV_numberList_default_coding;
extern const TTCN_RAWdescriptor_t ReceiveNPDUNumbersListTLV_raw_;
extern const TTCN_Typedescriptor_t ReceiveNPDUNumbersListTLV_descr_;
extern UNIVERSAL_CHARSTRING ReceiveNPDUNumbersListTLV_default_coding;
extern const XERdescriptor_t MSNetworkCapabilityTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityLV_lengthIndicator_raw_;
extern const XERdescriptor_t MSNetworkCapabilityLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityLV_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_gea1bit_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_gea1bit_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_gea1bit_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_gea1bit_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_gea1bit_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_smCapabilitiesviaDedicatedChannels_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_smCapabilitiesviaDedicatedChannels_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_smCapabilitiesviaDedicatedChannels_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_smCapabilitiesviaDedicatedChannels_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_smCapabilitiesviaDedicatedChannels_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_smCapabilitiesviaGPRSChannels_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_smCapabilitiesviaGPRSChannels_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_smCapabilitiesviaGPRSChannels_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_smCapabilitiesviaGPRSChannels_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_smCapabilitiesviaGPRSChannels_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_ucs2Support_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_ucs2Support_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_ucs2Support_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_ucs2Support_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_ucs2Support_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_ssScreeningIndicator_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_ssScreeningIndicator_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_ssScreeningIndicator_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_ssScreeningIndicator_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_ssScreeningIndicator_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_raw_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_descr_;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_solSACapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_solSACapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_solSACapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_solSACapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_solSACapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_revisionLevelIndicatior_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_revisionLevelIndicatior_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_revisionLevelIndicatior_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_revisionLevelIndicatior_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_revisionLevelIndicatior_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_pFCFeatureMode_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_pFCFeatureMode_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_pFCFeatureMode_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_pFCFeatureMode_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_pFCFeatureMode_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_extendedGEAbits_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_extendedGEAbits_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_extendedGEAbits_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_extendedGEAbits_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_extendedGEAbits_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_lcsVAcapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_lcsVAcapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_lcsVAcapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_lcsVAcapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_lcsVAcapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_pSInterRATHOtoUTRANIuModeCapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_pSInterRATHOtoUTRANIuModeCapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_pSInterRATHOtoUTRANIuModeCapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_pSInterRATHOtoUTRANIuModeCapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_pSInterRATHOtoUTRANIuModeCapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_pSInterRATHOtoEUTRANS1ModeCapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_pSInterRATHOtoEUTRANS1ModeCapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_pSInterRATHOtoEUTRANS1ModeCapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_pSInterRATHOtoEUTRANS1ModeCapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_pSInterRATHOtoEUTRANS1ModeCapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_eMMCombinedProceduresCapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_eMMCombinedProceduresCapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_eMMCombinedProceduresCapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_eMMCombinedProceduresCapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_eMMCombinedProceduresCapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_iSRSupport_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_iSRSupport_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_iSRSupport_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_iSRSupport_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_iSRSupport_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_sRVCCtoGERANUTRANCapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_sRVCCtoGERANUTRANCapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_sRVCCtoGERANUTRANCapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_sRVCCtoGERANUTRANCapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_sRVCCtoGERANUTRANCapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_ePCCapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_ePCCapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_ePCCapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_ePCCapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_ePCCapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_nFCapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_nFCapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_nFCapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_nFCapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_nFCapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_gERANNertworkSharingCapability_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_gERANNertworkSharingCapability_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_gERANNertworkSharingCapability_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_gERANNertworkSharingCapability_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_gERANNertworkSharingCapability_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityV_spare__octets_raw_;
extern const XERdescriptor_t MSNetworkCapabilityV_spare__octets_xer_;
extern const TTCN_OERdescriptor_t MSNetworkCapabilityV_spare__octets_oer_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityV_spare__octets_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_spare__octets_default_coding;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityV_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityLV_msNetworkCapabilityV_raw_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityLV_msNetworkCapabilityV_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityLV_msNetworkCapabilityV_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityLV_raw_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityLV_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityLV_default_coding;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityTLV_mSNetworkCapabilityLV_default_coding;
extern const TTCN_RAWdescriptor_t MSNetworkCapabilityTLV_raw_;
extern const TTCN_Typedescriptor_t MSNetworkCapabilityTLV_descr_;
extern UNIVERSAL_CHARSTRING MSNetworkCapabilityTLV_default_coding;
extern const TTCN_RAWdescriptor_t MSRadioAccessCapabilityLV_lengthIndicator_raw_;
extern const XERdescriptor_t MSRadioAccessCapabilityLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t MSRadioAccessCapabilityLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t MSRadioAccessCapabilityLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING MSRadioAccessCapabilityLV_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t MSRadioAccessCapabilityV_raw_;
extern const TTCN_Typedescriptor_t MSRadioAccessCapabilityV_descr_;
extern const TTCN_RAWdescriptor_t MSRACapabilityValues_raw_;
extern const TTCN_Typedescriptor_t MSRACapabilityValues_descr_;
extern const TTCN_RAWdescriptor_t MSRACapabilityValuesExclude1111_accessTechnType_raw_;
extern const XERdescriptor_t MSRACapabilityValuesExclude1111_accessTechnType_xer_;
extern const TTCN_OERdescriptor_t MSRACapabilityValuesExclude1111_accessTechnType_oer_;
extern const TTCN_Typedescriptor_t MSRACapabilityValuesExclude1111_accessTechnType_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValuesExclude1111_accessTechnType_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilitiesStruct_lengthIndicator_raw_;
extern const XERdescriptor_t AccessCapabilitiesStruct_lengthIndicator_xer_;
extern const TTCN_Typedescriptor_t AccessCapabilitiesStruct_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilitiesStruct_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_rfPowerCapability_raw_;
extern const XERdescriptor_t AccessCapabilities_rfPowerCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapabilities_rfPowerCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapabilities_rfPowerCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_rfPowerCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_presenceBitA5_raw_;
extern const XERdescriptor_t AccessCapabilities_presenceBitA5_xer_;
extern const TTCN_OERdescriptor_t AccessCapabilities_presenceBitA5_oer_;
extern const TTCN_Typedescriptor_t AccessCapabilities_presenceBitA5_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_presenceBitA5_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_esind_raw_;
extern const XERdescriptor_t AccessCapabilities_esind_xer_;
extern const TTCN_OERdescriptor_t AccessCapabilities_esind_oer_;
extern const TTCN_Typedescriptor_t AccessCapabilities_esind_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_esind_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_psbit_raw_;
extern const XERdescriptor_t AccessCapabilities_psbit_xer_;
extern const TTCN_OERdescriptor_t AccessCapabilities_psbit_oer_;
extern const TTCN_Typedescriptor_t AccessCapabilities_psbit_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_psbit_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_vgcs_raw_;
extern const XERdescriptor_t AccessCapabilities_vgcs_xer_;
extern const TTCN_OERdescriptor_t AccessCapabilities_vgcs_oer_;
extern const TTCN_Typedescriptor_t AccessCapabilities_vgcs_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_vgcs_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_vbs_raw_;
extern const XERdescriptor_t AccessCapabilities_vbs_xer_;
extern const TTCN_OERdescriptor_t AccessCapabilities_vbs_oer_;
extern const TTCN_Typedescriptor_t AccessCapabilities_vbs_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_vbs_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_presenceBitMultislot_raw_;
extern const XERdescriptor_t AccessCapabilities_presenceBitMultislot_xer_;
extern const TTCN_OERdescriptor_t AccessCapabilities_presenceBitMultislot_oer_;
extern const TTCN_Typedescriptor_t AccessCapabilities_presenceBitMultislot_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_presenceBitMultislot_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_raw_;
extern const TTCN_Typedescriptor_t AccessCapabilities_descr_;
extern const TTCN_RAWdescriptor_t A5BITS_a51_raw_;
extern const XERdescriptor_t A5BITS_a51_xer_;
extern const TTCN_OERdescriptor_t A5BITS_a51_oer_;
extern const TTCN_Typedescriptor_t A5BITS_a51_descr_;
extern UNIVERSAL_CHARSTRING A5BITS_a51_default_coding;
extern const TTCN_RAWdescriptor_t A5BITS_a52_raw_;
extern const XERdescriptor_t A5BITS_a52_xer_;
extern const TTCN_OERdescriptor_t A5BITS_a52_oer_;
extern const TTCN_Typedescriptor_t A5BITS_a52_descr_;
extern UNIVERSAL_CHARSTRING A5BITS_a52_default_coding;
extern const TTCN_RAWdescriptor_t A5BITS_a53_raw_;
extern const XERdescriptor_t A5BITS_a53_xer_;
extern const TTCN_OERdescriptor_t A5BITS_a53_oer_;
extern const TTCN_Typedescriptor_t A5BITS_a53_descr_;
extern UNIVERSAL_CHARSTRING A5BITS_a53_default_coding;
extern const TTCN_RAWdescriptor_t A5BITS_a54_raw_;
extern const XERdescriptor_t A5BITS_a54_xer_;
extern const TTCN_OERdescriptor_t A5BITS_a54_oer_;
extern const TTCN_Typedescriptor_t A5BITS_a54_descr_;
extern UNIVERSAL_CHARSTRING A5BITS_a54_default_coding;
extern const TTCN_RAWdescriptor_t A5BITS_a55_raw_;
extern const XERdescriptor_t A5BITS_a55_xer_;
extern const TTCN_OERdescriptor_t A5BITS_a55_oer_;
extern const TTCN_Typedescriptor_t A5BITS_a55_descr_;
extern UNIVERSAL_CHARSTRING A5BITS_a55_default_coding;
extern const TTCN_RAWdescriptor_t A5BITS_a56_raw_;
extern const XERdescriptor_t A5BITS_a56_xer_;
extern const TTCN_OERdescriptor_t A5BITS_a56_oer_;
extern const TTCN_Typedescriptor_t A5BITS_a56_descr_;
extern UNIVERSAL_CHARSTRING A5BITS_a56_default_coding;
extern const TTCN_RAWdescriptor_t A5BITS_a57_raw_;
extern const XERdescriptor_t A5BITS_a57_xer_;
extern const TTCN_OERdescriptor_t A5BITS_a57_oer_;
extern const TTCN_Typedescriptor_t A5BITS_a57_descr_;
extern UNIVERSAL_CHARSTRING A5BITS_a57_default_coding;
extern const TTCN_RAWdescriptor_t A5BITS_raw_;
extern const TTCN_Typedescriptor_t A5BITS_descr_;
extern UNIVERSAL_CHARSTRING A5BITS_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_a5bits_raw_;
extern const TTCN_Typedescriptor_t AccessCapabilities_a5bits_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_a5bits_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap_presenceBitHscsd_raw_;
extern const XERdescriptor_t MultislotCap_presenceBitHscsd_xer_;
extern const TTCN_OERdescriptor_t MultislotCap_presenceBitHscsd_oer_;
extern const TTCN_Typedescriptor_t MultislotCap_presenceBitHscsd_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap_presenceBitHscsd_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap_presenceBitGprs_raw_;
extern const XERdescriptor_t MultislotCap_presenceBitGprs_xer_;
extern const TTCN_OERdescriptor_t MultislotCap_presenceBitGprs_oer_;
extern const TTCN_Typedescriptor_t MultislotCap_presenceBitGprs_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap_presenceBitGprs_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap_presenceBitSms_raw_;
extern const XERdescriptor_t MultislotCap_presenceBitSms_xer_;
extern const TTCN_OERdescriptor_t MultislotCap_presenceBitSms_oer_;
extern const TTCN_Typedescriptor_t MultislotCap_presenceBitSms_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap_presenceBitSms_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap_raw_;
extern const TTCN_Typedescriptor_t MultislotCap_descr_;
extern const TTCN_RAWdescriptor_t MultislotCap_hscsdmultislotclass_raw_;
extern const XERdescriptor_t MultislotCap_hscsdmultislotclass_xer_;
extern const TTCN_OERdescriptor_t MultislotCap_hscsdmultislotclass_oer_;
extern const TTCN_Typedescriptor_t MultislotCap_hscsdmultislotclass_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap_hscsdmultislotclass_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__GPRS_gprsmultislotclass_raw_;
extern const XERdescriptor_t MultislotCap__GPRS_gprsmultislotclass_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__GPRS_gprsmultislotclass_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__GPRS_gprsmultislotclass_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__GPRS_gprsmultislotclass_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__GPRS_gprsextendeddynalloccap_raw_;
extern const XERdescriptor_t MultislotCap__GPRS_gprsextendeddynalloccap_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__GPRS_gprsextendeddynalloccap_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__GPRS_gprsextendeddynalloccap_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__GPRS_gprsextendeddynalloccap_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__GPRS_raw_;
extern const TTCN_Typedescriptor_t MultislotCap__GPRS_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__GPRS_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap_gprsmultislot_raw_;
extern const TTCN_Typedescriptor_t MultislotCap_gprsmultislot_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap_gprsmultislot_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__SMS_smsValue_raw_;
extern const XERdescriptor_t MultislotCap__SMS_smsValue_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__SMS_smsValue_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__SMS_smsValue_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__SMS_smsValue_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__SMS_smValue_raw_;
extern const XERdescriptor_t MultislotCap__SMS_smValue_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__SMS_smValue_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__SMS_smValue_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__SMS_smValue_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__SMS_raw_;
extern const TTCN_Typedescriptor_t MultislotCap__SMS_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__SMS_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap_multislotCap__SMS_raw_;
extern const TTCN_Typedescriptor_t MultislotCap_multislotCap__SMS_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap_multislotCap__SMS_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitEcsdmulti_raw_;
extern const XERdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitEcsdmulti_xer_;
extern const TTCN_OERdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitEcsdmulti_oer_;
extern const TTCN_Typedescriptor_t MultislotCapAdditionsAfterRel97_presenceBitEcsdmulti_descr_;
extern UNIVERSAL_CHARSTRING MultislotCapAdditionsAfterRel97_presenceBitEcsdmulti_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitEgprsmulti_raw_;
extern const XERdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitEgprsmulti_xer_;
extern const TTCN_OERdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitEgprsmulti_oer_;
extern const TTCN_Typedescriptor_t MultislotCapAdditionsAfterRel97_presenceBitEgprsmulti_descr_;
extern UNIVERSAL_CHARSTRING MultislotCapAdditionsAfterRel97_presenceBitEgprsmulti_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitDtmGprsmulti_raw_;
extern const XERdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitDtmGprsmulti_xer_;
extern const TTCN_OERdescriptor_t MultislotCapAdditionsAfterRel97_presenceBitDtmGprsmulti_oer_;
extern const TTCN_Typedescriptor_t MultislotCapAdditionsAfterRel97_presenceBitDtmGprsmulti_descr_;
extern UNIVERSAL_CHARSTRING MultislotCapAdditionsAfterRel97_presenceBitDtmGprsmulti_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCapAdditionsAfterRel97_raw_;
extern const TTCN_Typedescriptor_t MultislotCapAdditionsAfterRel97_descr_;
extern const TTCN_RAWdescriptor_t MultislotCapAdditionsAfterRel97_ecsdmultislotclass_raw_;
extern const XERdescriptor_t MultislotCapAdditionsAfterRel97_ecsdmultislotclass_xer_;
extern const TTCN_OERdescriptor_t MultislotCapAdditionsAfterRel97_ecsdmultislotclass_oer_;
extern const TTCN_Typedescriptor_t MultislotCapAdditionsAfterRel97_ecsdmultislotclass_descr_;
extern UNIVERSAL_CHARSTRING MultislotCapAdditionsAfterRel97_ecsdmultislotclass_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__EGPRS_egprsmultislotclass_raw_;
extern const XERdescriptor_t MultislotCap__EGPRS_egprsmultislotclass_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__EGPRS_egprsmultislotclass_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__EGPRS_egprsmultislotclass_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__EGPRS_egprsmultislotclass_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__EGPRS_egprsextendeddynalloccap_raw_;
extern const XERdescriptor_t MultislotCap__EGPRS_egprsextendeddynalloccap_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__EGPRS_egprsextendeddynalloccap_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__EGPRS_egprsextendeddynalloccap_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__EGPRS_egprsextendeddynalloccap_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__EGPRS_raw_;
extern const TTCN_Typedescriptor_t MultislotCap__EGPRS_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__EGPRS_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCapAdditionsAfterRel97_multislotCap__EGPRS_raw_;
extern const TTCN_Typedescriptor_t MultislotCapAdditionsAfterRel97_multislotCap__EGPRS_descr_;
extern UNIVERSAL_CHARSTRING MultislotCapAdditionsAfterRel97_multislotCap__EGPRS_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__dtmgprsmultislotsubclass_dtmgprsmultislotsubclass_raw_;
extern const XERdescriptor_t MultislotCap__dtmgprsmultislotsubclass_dtmgprsmultislotsubclass_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__dtmgprsmultislotsubclass_dtmgprsmultislotsubclass_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__dtmgprsmultislotsubclass_dtmgprsmultislotsubclass_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__dtmgprsmultislotsubclass_dtmgprsmultislotsubclass_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__dtmgprsmultislotsubclass_singleSlotDTM_raw_;
extern const XERdescriptor_t MultislotCap__dtmgprsmultislotsubclass_singleSlotDTM_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__dtmgprsmultislotsubclass_singleSlotDTM_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__dtmgprsmultislotsubclass_singleSlotDTM_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__dtmgprsmultislotsubclass_singleSlotDTM_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__dtmgprsmultislotsubclass_presenceBitDTM__EGPRSMultiSlot_raw_;
extern const XERdescriptor_t MultislotCap__dtmgprsmultislotsubclass_presenceBitDTM__EGPRSMultiSlot_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__dtmgprsmultislotsubclass_presenceBitDTM__EGPRSMultiSlot_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__dtmgprsmultislotsubclass_presenceBitDTM__EGPRSMultiSlot_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__dtmgprsmultislotsubclass_presenceBitDTM__EGPRSMultiSlot_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap__dtmgprsmultislotsubclass_raw_;
extern const TTCN_Typedescriptor_t MultislotCap__dtmgprsmultislotsubclass_descr_;
extern const TTCN_RAWdescriptor_t MultislotCap__dtmgprsmultislotsubclass_dTM__EGPRSMultiSlot_raw_;
extern const XERdescriptor_t MultislotCap__dtmgprsmultislotsubclass_dTM__EGPRSMultiSlot_xer_;
extern const TTCN_OERdescriptor_t MultislotCap__dtmgprsmultislotsubclass_dTM__EGPRSMultiSlot_oer_;
extern const TTCN_Typedescriptor_t MultislotCap__dtmgprsmultislotsubclass_dTM__EGPRSMultiSlot_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap__dtmgprsmultislotsubclass_dTM__EGPRSMultiSlot_default_coding;
extern UNIVERSAL_CHARSTRING MultislotCap__dtmgprsmultislotsubclass_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCapAdditionsAfterRel97_multislotCapdtmgprsmultislotsubclass_raw_;
extern const TTCN_Typedescriptor_t MultislotCapAdditionsAfterRel97_multislotCapdtmgprsmultislotsubclass_descr_;
extern UNIVERSAL_CHARSTRING MultislotCapAdditionsAfterRel97_multislotCapdtmgprsmultislotsubclass_default_coding;
extern UNIVERSAL_CHARSTRING MultislotCapAdditionsAfterRel97_default_coding;
extern const TTCN_RAWdescriptor_t MultislotCap_multislotCapAdditionsAfterRel97_raw_;
extern const TTCN_Typedescriptor_t MultislotCap_multislotCapAdditionsAfterRel97_descr_;
extern UNIVERSAL_CHARSTRING MultislotCap_multislotCapAdditionsAfterRel97_default_coding;
extern UNIVERSAL_CHARSTRING MultislotCap_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_multislotcap_raw_;
extern const TTCN_Typedescriptor_t AccessCapabilities_multislotcap_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_multislotcap_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel99_presenceBitPskpow_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel99_presenceBitPskpow_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel99_presenceBitPskpow_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel99_presenceBitPskpow_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel99_presenceBitPskpow_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel99_compactIntMeasurCap_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel99_compactIntMeasurCap_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel99_compactIntMeasurCap_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel99_compactIntMeasurCap_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel99_compactIntMeasurCap_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel99_revisionLevelInd_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel99_revisionLevelInd_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel99_revisionLevelInd_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel99_revisionLevelInd_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel99_revisionLevelInd_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel99_umtsfddRadAccTechCap_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel99_umtsfddRadAccTechCap_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel99_umtsfddRadAccTechCap_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel99_umtsfddRadAccTechCap_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel99_umtsfddRadAccTechCap_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel99_umtstddRadAccTechCap_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel99_umtstddRadAccTechCap_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel99_umtstddRadAccTechCap_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel99_umtstddRadAccTechCap_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel99_umtstddRadAccTechCap_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel99_cdma2kRadAccTechCap_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel99_cdma2kRadAccTechCap_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel99_cdma2kRadAccTechCap_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel99_cdma2kRadAccTechCap_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel99_cdma2kRadAccTechCap_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel99_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel99_descr_;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel99_pskpowercap_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel99_pskpowercap_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel99_pskpowercap_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel99_pskpowercap_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel99_pskpowercap_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel99_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel97_accessCapAdditionsRel99_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel97_accessCapAdditionsRel99_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel97_accessCapAdditionsRel99_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel97_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel97_descr_;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel4_umts128RadAccTechCap_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel4_umts128RadAccTechCap_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel4_umts128RadAccTechCap_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel4_umts128RadAccTechCap_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel4_umts128RadAccTechCap_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel4_geranFeaturePackage_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel4_geranFeaturePackage_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel4_geranFeaturePackage_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel4_geranFeaturePackage_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel4_geranFeaturePackage_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel4_presenceBitExtendedDTM_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel4_presenceBitExtendedDTM_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel4_presenceBitExtendedDTM_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel4_presenceBitExtendedDTM_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel4_presenceBitExtendedDTM_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel4_modulationBasedMultislotClass_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel4_modulationBasedMultislotClass_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel4_modulationBasedMultislotClass_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel4_modulationBasedMultislotClass_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel4_modulationBasedMultislotClass_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel4_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel4_descr_;
extern const TTCN_RAWdescriptor_t ExtendedDTM_ExtendedDTM__GPRSMultislot_raw_;
extern const XERdescriptor_t ExtendedDTM_ExtendedDTM__GPRSMultislot_xer_;
extern const TTCN_OERdescriptor_t ExtendedDTM_ExtendedDTM__GPRSMultislot_oer_;
extern const TTCN_Typedescriptor_t ExtendedDTM_ExtendedDTM__GPRSMultislot_descr_;
extern UNIVERSAL_CHARSTRING ExtendedDTM_ExtendedDTM__GPRSMultislot_default_coding;
extern const TTCN_RAWdescriptor_t ExtendedDTM_ExtendedDTM__EGPRSMultislot_raw_;
extern const XERdescriptor_t ExtendedDTM_ExtendedDTM__EGPRSMultislot_xer_;
extern const TTCN_OERdescriptor_t ExtendedDTM_ExtendedDTM__EGPRSMultislot_oer_;
extern const TTCN_Typedescriptor_t ExtendedDTM_ExtendedDTM__EGPRSMultislot_descr_;
extern UNIVERSAL_CHARSTRING ExtendedDTM_ExtendedDTM__EGPRSMultislot_default_coding;
extern const TTCN_RAWdescriptor_t ExtendedDTM_raw_;
extern const TTCN_Typedescriptor_t ExtendedDTM_descr_;
extern UNIVERSAL_CHARSTRING ExtendedDTM_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel4_extendedDTM_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel4_extendedDTM_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel4_extendedDTM_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel4_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel99_accessCapAdditionsRel4_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel99_accessCapAdditionsRel4_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel99_accessCapAdditionsRel4_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel99_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel99_descr_;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel5_presenceBitHighMultislotCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel5_presenceBitHighMultislotCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel5_presenceBitHighMultislotCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel5_presenceBitHighMultislotCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel5_presenceBitHighMultislotCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel5_presenceBitGeranIuModeCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel5_presenceBitGeranIuModeCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel5_presenceBitGeranIuModeCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel5_presenceBitGeranIuModeCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel5_presenceBitGeranIuModeCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel5_gMSKMultislotPowerProfile_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel5_gMSKMultislotPowerProfile_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel5_gMSKMultislotPowerProfile_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel5_gMSKMultislotPowerProfile_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel5_gMSKMultislotPowerProfile_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel5_eightPSKMultislotPowerProfile_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel5_eightPSKMultislotPowerProfile_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel5_eightPSKMultislotPowerProfile_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel5_eightPSKMultislotPowerProfile_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel5_eightPSKMultislotPowerProfile_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel5_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel5_descr_;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel5_highMultislotCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel5_highMultislotCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel5_highMultislotCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel5_highMultislotCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel5_highMultislotCapability_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel5_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel4_accessCapAdditionsRel5_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel4_accessCapAdditionsRel5_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel4_accessCapAdditionsRel5_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel4_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel4_descr_;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel6_multipleTBFCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel6_multipleTBFCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel6_multipleTBFCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel6_multipleTBFCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel6_multipleTBFCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel6_downlinkAdvancedReceiverPerformance_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel6_downlinkAdvancedReceiverPerformance_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel6_downlinkAdvancedReceiverPerformance_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel6_downlinkAdvancedReceiverPerformance_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel6_downlinkAdvancedReceiverPerformance_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel6_extendedRLCMACCtrlMsgSegmentationCap_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel6_extendedRLCMACCtrlMsgSegmentationCap_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel6_extendedRLCMACCtrlMsgSegmentationCap_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel6_extendedRLCMACCtrlMsgSegmentationCap_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel6_extendedRLCMACCtrlMsgSegmentationCap_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel6_dTMEnhancementsCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel6_dTMEnhancementsCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel6_dTMEnhancementsCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel6_dTMEnhancementsCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel6_dTMEnhancementsCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel6_presenceBitDTMGPRSHighMultiSlotClass_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel6_presenceBitDTMGPRSHighMultiSlotClass_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel6_presenceBitDTMGPRSHighMultiSlotClass_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel6_presenceBitDTMGPRSHighMultiSlotClass_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel6_presenceBitDTMGPRSHighMultiSlotClass_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel6_pSHandoverCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel6_pSHandoverCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel6_pSHandoverCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel6_pSHandoverCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel6_pSHandoverCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel6_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel6_descr_;
extern const TTCN_RAWdescriptor_t DTMGPRSHighMultiSlotClass_dTMGPRSHighMultiSlotClassValue_raw_;
extern const XERdescriptor_t DTMGPRSHighMultiSlotClass_dTMGPRSHighMultiSlotClassValue_xer_;
extern const TTCN_OERdescriptor_t DTMGPRSHighMultiSlotClass_dTMGPRSHighMultiSlotClassValue_oer_;
extern const TTCN_Typedescriptor_t DTMGPRSHighMultiSlotClass_dTMGPRSHighMultiSlotClassValue_descr_;
extern UNIVERSAL_CHARSTRING DTMGPRSHighMultiSlotClass_dTMGPRSHighMultiSlotClassValue_default_coding;
extern const TTCN_RAWdescriptor_t DTMGPRSHighMultiSlotClass_presenceBitDTMEGPRSHighMultiSlotClass_raw_;
extern const XERdescriptor_t DTMGPRSHighMultiSlotClass_presenceBitDTMEGPRSHighMultiSlotClass_xer_;
extern const TTCN_OERdescriptor_t DTMGPRSHighMultiSlotClass_presenceBitDTMEGPRSHighMultiSlotClass_oer_;
extern const TTCN_Typedescriptor_t DTMGPRSHighMultiSlotClass_presenceBitDTMEGPRSHighMultiSlotClass_descr_;
extern UNIVERSAL_CHARSTRING DTMGPRSHighMultiSlotClass_presenceBitDTMEGPRSHighMultiSlotClass_default_coding;
extern const TTCN_RAWdescriptor_t DTMGPRSHighMultiSlotClass_raw_;
extern const TTCN_Typedescriptor_t DTMGPRSHighMultiSlotClass_descr_;
extern const TTCN_RAWdescriptor_t DTMGPRSHighMultiSlotClass_dTMEGPRSHighMultiSlotClassValue_raw_;
extern const XERdescriptor_t DTMGPRSHighMultiSlotClass_dTMEGPRSHighMultiSlotClassValue_xer_;
extern const TTCN_OERdescriptor_t DTMGPRSHighMultiSlotClass_dTMEGPRSHighMultiSlotClassValue_oer_;
extern const TTCN_Typedescriptor_t DTMGPRSHighMultiSlotClass_dTMEGPRSHighMultiSlotClassValue_descr_;
extern UNIVERSAL_CHARSTRING DTMGPRSHighMultiSlotClass_dTMEGPRSHighMultiSlotClassValue_default_coding;
extern UNIVERSAL_CHARSTRING DTMGPRSHighMultiSlotClass_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel6_dTMGPRSHighMultiSlotClass_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel6_dTMGPRSHighMultiSlotClass_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel6_dTMGPRSHighMultiSlotClass_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel6_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel5_accessCapAdditionsRel6_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel5_accessCapAdditionsRel6_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel5_accessCapAdditionsRel6_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel5_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel5_descr_;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_dTMHandoverCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel7_dTMHandoverCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel7_dTMHandoverCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_dTMHandoverCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_dTMHandoverCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_presenceBitDownlinkDualCarrier_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel7_presenceBitDownlinkDualCarrier_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel7_presenceBitDownlinkDualCarrier_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_presenceBitDownlinkDualCarrier_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_presenceBitDownlinkDualCarrier_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_flexibleTimeslotAssignment_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel7_flexibleTimeslotAssignment_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel7_flexibleTimeslotAssignment_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_flexibleTimeslotAssignment_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_flexibleTimeslotAssignment_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_gANPSHandoverCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel7_gANPSHandoverCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel7_gANPSHandoverCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_gANPSHandoverCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_gANPSHandoverCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_rLCNonPersistentMode_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel7_rLCNonPersistentMode_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel7_rLCNonPersistentMode_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_rLCNonPersistentMode_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_rLCNonPersistentMode_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_reducedLatencyCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel7_reducedLatencyCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel7_reducedLatencyCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_reducedLatencyCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_reducedLatencyCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_uplinkEGPRS2_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel7_uplinkEGPRS2_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel7_uplinkEGPRS2_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_uplinkEGPRS2_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_uplinkEGPRS2_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_downlinkEGPRS2_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel7_downlinkEGPRS2_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel7_downlinkEGPRS2_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_downlinkEGPRS2_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_downlinkEGPRS2_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_descr_;
extern const TTCN_RAWdescriptor_t DownlinkDualCarrier_multislotCapReductionforDownLinkDualCarrier_raw_;
extern const XERdescriptor_t DownlinkDualCarrier_multislotCapReductionforDownLinkDualCarrier_xer_;
extern const TTCN_OERdescriptor_t DownlinkDualCarrier_multislotCapReductionforDownLinkDualCarrier_oer_;
extern const TTCN_Typedescriptor_t DownlinkDualCarrier_multislotCapReductionforDownLinkDualCarrier_descr_;
extern UNIVERSAL_CHARSTRING DownlinkDualCarrier_multislotCapReductionforDownLinkDualCarrier_default_coding;
extern const TTCN_RAWdescriptor_t DownlinkDualCarrier_downlinkDualCarrierforDTMCapability_raw_;
extern const XERdescriptor_t DownlinkDualCarrier_downlinkDualCarrierforDTMCapability_xer_;
extern const TTCN_OERdescriptor_t DownlinkDualCarrier_downlinkDualCarrierforDTMCapability_oer_;
extern const TTCN_Typedescriptor_t DownlinkDualCarrier_downlinkDualCarrierforDTMCapability_descr_;
extern UNIVERSAL_CHARSTRING DownlinkDualCarrier_downlinkDualCarrierforDTMCapability_default_coding;
extern const TTCN_RAWdescriptor_t DownlinkDualCarrier_raw_;
extern const TTCN_Typedescriptor_t DownlinkDualCarrier_descr_;
extern UNIVERSAL_CHARSTRING DownlinkDualCarrier_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel7_downlinkDualCarrier_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel7_downlinkDualCarrier_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_downlinkDualCarrier_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel7_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel6_accessCapAdditionsRel7_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel6_accessCapAdditionsRel7_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel6_accessCapAdditionsRel7_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel6_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel6_descr_;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel8_eUTRAFDDsupport_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel8_eUTRAFDDsupport_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel8_eUTRAFDDsupport_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel8_eUTRAFDDsupport_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel8_eUTRAFDDsupport_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel8_eUTRATDDsupport_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel8_eUTRATDDsupport_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel8_eUTRATDDsupport_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel8_eUTRATDDsupport_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel8_eUTRATDDsupport_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel8_gERANToEUTRASupportInGERANPacketTransferMode_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel8_gERANToEUTRASupportInGERANPacketTransferMode_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel8_gERANToEUTRASupportInGERANPacketTransferMode_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel8_gERANToEUTRASupportInGERANPacketTransferMode_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel8_gERANToEUTRASupportInGERANPacketTransferMode_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel8_priorityBasedReselectionSupport_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel8_priorityBasedReselectionSupport_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel8_priorityBasedReselectionSupport_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel8_priorityBasedReselectionSupport_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel8_priorityBasedReselectionSupport_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel8_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel8_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel8_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel7_accessCapAdditionsRel8_default_coding;
extern const TTCN_RAWdescriptor_t EnhancedFlexTimeslotAssignment_presenceBitalternativeEFTAMultislotClass_raw_;
extern const XERdescriptor_t EnhancedFlexTimeslotAssignment_presenceBitalternativeEFTAMultislotClass_xer_;
extern const TTCN_OERdescriptor_t EnhancedFlexTimeslotAssignment_presenceBitalternativeEFTAMultislotClass_oer_;
extern const TTCN_Typedescriptor_t EnhancedFlexTimeslotAssignment_presenceBitalternativeEFTAMultislotClass_descr_;
extern UNIVERSAL_CHARSTRING EnhancedFlexTimeslotAssignment_presenceBitalternativeEFTAMultislotClass_default_coding;
extern const TTCN_RAWdescriptor_t EnhancedFlexTimeslotAssignment_alternativeEFTAMultislotClass_raw_;
extern const XERdescriptor_t EnhancedFlexTimeslotAssignment_alternativeEFTAMultislotClass_xer_;
extern const TTCN_OERdescriptor_t EnhancedFlexTimeslotAssignment_alternativeEFTAMultislotClass_oer_;
extern const TTCN_Typedescriptor_t EnhancedFlexTimeslotAssignment_alternativeEFTAMultislotClass_descr_;
extern UNIVERSAL_CHARSTRING EnhancedFlexTimeslotAssignment_alternativeEFTAMultislotClass_default_coding;
extern const TTCN_RAWdescriptor_t EnhancedFlexTimeslotAssignment_eFTAMultislotCapabilityReductionforDownlinkDualCarrier_raw_;
extern const XERdescriptor_t EnhancedFlexTimeslotAssignment_eFTAMultislotCapabilityReductionforDownlinkDualCarrier_xer_;
extern const TTCN_OERdescriptor_t EnhancedFlexTimeslotAssignment_eFTAMultislotCapabilityReductionforDownlinkDualCarrier_oer_;
extern const TTCN_Typedescriptor_t EnhancedFlexTimeslotAssignment_eFTAMultislotCapabilityReductionforDownlinkDualCarrier_descr_;
extern UNIVERSAL_CHARSTRING EnhancedFlexTimeslotAssignment_eFTAMultislotCapabilityReductionforDownlinkDualCarrier_default_coding;
extern const TTCN_RAWdescriptor_t EnhancedFlexTimeslotAssignment_raw_;
extern const TTCN_Typedescriptor_t EnhancedFlexTimeslotAssignment_descr_;
extern UNIVERSAL_CHARSTRING EnhancedFlexTimeslotAssignment_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel9_enhancedFlexTimeslotAssignment_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel9_enhancedFlexTimeslotAssignment_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel9_enhancedFlexTimeslotAssignment_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel9_indicationofUpperLayerPDUStartCapabilityforRLCUM_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel9_indicationofUpperLayerPDUStartCapabilityforRLCUM_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel9_indicationofUpperLayerPDUStartCapabilityforRLCUM_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel9_indicationofUpperLayerPDUStartCapabilityforRLCUM_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel9_indicationofUpperLayerPDUStartCapabilityforRLCUM_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel9_eMSTCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel9_eMSTCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel9_eMSTCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel9_eMSTCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel9_eMSTCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel9_mTTICapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel9_mTTICapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel9_mTTICapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel9_mTTICapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel9_mTTICapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel9_uTRACSGCellsReporting_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel9_uTRACSGCellsReporting_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel9_uTRACSGCellsReporting_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel9_uTRACSGCellsReporting_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel9_uTRACSGCellsReporting_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel9_eUTRACSGCellsReporting_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel9_eUTRACSGCellsReporting_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel9_eUTRACSGCellsReporting_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel9_eUTRACSGCellsReporting_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel9_eUTRACSGCellsReporting_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel9_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel9_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel9_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel8_accessCapAdditionsRel9_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel10_dTRCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel10_dTRCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel10_dTRCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel10_dTRCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel10_dTRCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel10_eMSRCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel10_eMSRCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel10_eMSRCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel10_eMSRCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel10_eMSRCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel10_fastDownlinkFrequencySwitchingCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel10_fastDownlinkFrequencySwitchingCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel10_fastDownlinkFrequencySwitchingCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel10_fastDownlinkFrequencySwitchingCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel10_fastDownlinkFrequencySwitchingCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel10_tIGHTER__Capability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel10_tIGHTER__Capability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel10_tIGHTER__Capability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel10_tIGHTER__Capability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel10_tIGHTER__Capability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel10_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel10_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel10_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel9_accessCapAdditionsRel10_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel11_fANRCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel11_fANRCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel11_fANRCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel11_fANRCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel11_fANRCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel11_iPACapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel11_iPACapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel11_iPACapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel11_iPACapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel11_iPACapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel11_gERANNetworkSharingSupport_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel11_gERANNetworkSharingSupport_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel11_gERANNetworkSharingSupport_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel11_gERANNetworkSharingSupport_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel11_gERANNetworkSharingSupport_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel11_eUTRAWidebandRSRQMeasurementsSupport_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel11_eUTRAWidebandRSRQMeasurementsSupport_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel11_eUTRAWidebandRSRQMeasurementsSupport_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel11_eUTRAWidebandRSRQMeasurementsSupport_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel11_eUTRAWidebandRSRQMeasurementsSupport_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel11_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel11_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel11_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel10_accessCapAdditionsRel11_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel10_accessCapAdditionsRel11_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel10_accessCapAdditionsRel11_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel12_uTRAMultipleFrequencyBandIndicatorsSupport_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel12_uTRAMultipleFrequencyBandIndicatorsSupport_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel12_uTRAMultipleFrequencyBandIndicatorsSupport_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel12_uTRAMultipleFrequencyBandIndicatorsSupport_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel12_uTRAMultipleFrequencyBandIndicatorsSupport_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel12_eUTRAMultipleFrequencyBandIndicatorsSupport_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel12_eUTRAMultipleFrequencyBandIndicatorsSupport_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel12_eUTRAMultipleFrequencyBandIndicatorsSupport_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel12_eUTRAMultipleFrequencyBandIndicatorsSupport_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel12_eUTRAMultipleFrequencyBandIndicatorsSupport_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel12_presenceBitDLMCCapability_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel12_presenceBitDLMCCapability_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel12_presenceBitDLMCCapability_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel12_presenceBitDLMCCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel12_presenceBitDLMCCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel12_extendedTSCSetCapabilitySupport_raw_;
extern const XERdescriptor_t AccessCapAdditionsRel12_extendedTSCSetCapabilitySupport_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsRel12_extendedTSCSetCapabilitySupport_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel12_extendedTSCSetCapabilitySupport_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel12_extendedTSCSetCapabilitySupport_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel12_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel12_descr_;
extern const TTCN_RAWdescriptor_t DLMCCapability_presenceDLMC_raw_;
extern const XERdescriptor_t DLMCCapability_presenceDLMC_xer_;
extern const TTCN_OERdescriptor_t DLMCCapability_presenceDLMC_oer_;
extern const TTCN_Typedescriptor_t DLMCCapability_presenceDLMC_descr_;
extern UNIVERSAL_CHARSTRING DLMCCapability_presenceDLMC_default_coding;
extern const TTCN_RAWdescriptor_t DLMCCapability_dLMCMaxBandwidth_raw_;
extern const XERdescriptor_t DLMCCapability_dLMCMaxBandwidth_xer_;
extern const TTCN_OERdescriptor_t DLMCCapability_dLMCMaxBandwidth_oer_;
extern const TTCN_Typedescriptor_t DLMCCapability_dLMCMaxBandwidth_descr_;
extern UNIVERSAL_CHARSTRING DLMCCapability_dLMCMaxBandwidth_default_coding;
extern const TTCN_RAWdescriptor_t DLMCCapability_dLMCMaxNumOfDownlinkTimeslots_raw_;
extern const XERdescriptor_t DLMCCapability_dLMCMaxNumOfDownlinkTimeslots_xer_;
extern const TTCN_OERdescriptor_t DLMCCapability_dLMCMaxNumOfDownlinkTimeslots_oer_;
extern const TTCN_Typedescriptor_t DLMCCapability_dLMCMaxNumOfDownlinkTimeslots_descr_;
extern UNIVERSAL_CHARSTRING DLMCCapability_dLMCMaxNumOfDownlinkTimeslots_default_coding;
extern const TTCN_RAWdescriptor_t DLMCCapability_dLMCMaxNumOfDownlinkCarriers_raw_;
extern const XERdescriptor_t DLMCCapability_dLMCMaxNumOfDownlinkCarriers_xer_;
extern const TTCN_OERdescriptor_t DLMCCapability_dLMCMaxNumOfDownlinkCarriers_oer_;
extern const TTCN_Typedescriptor_t DLMCCapability_dLMCMaxNumOfDownlinkCarriers_descr_;
extern UNIVERSAL_CHARSTRING DLMCCapability_dLMCMaxNumOfDownlinkCarriers_default_coding;
extern const TTCN_RAWdescriptor_t DLMCCapability_raw_;
extern const TTCN_Typedescriptor_t DLMCCapability_descr_;
extern const TTCN_RAWdescriptor_t DLMCBandReception_dLMCNonContiguousIntraBandReception_raw_;
extern const XERdescriptor_t DLMCBandReception_dLMCNonContiguousIntraBandReception_xer_;
extern const TTCN_OERdescriptor_t DLMCBandReception_dLMCNonContiguousIntraBandReception_oer_;
extern const TTCN_Typedescriptor_t DLMCBandReception_dLMCNonContiguousIntraBandReception_descr_;
extern UNIVERSAL_CHARSTRING DLMCBandReception_dLMCNonContiguousIntraBandReception_default_coding;
extern const TTCN_RAWdescriptor_t DLMCBandReception_dLMCInterBandReception_raw_;
extern const XERdescriptor_t DLMCBandReception_dLMCInterBandReception_xer_;
extern const TTCN_OERdescriptor_t DLMCBandReception_dLMCInterBandReception_oer_;
extern const TTCN_Typedescriptor_t DLMCBandReception_dLMCInterBandReception_descr_;
extern UNIVERSAL_CHARSTRING DLMCBandReception_dLMCInterBandReception_default_coding;
extern const TTCN_RAWdescriptor_t DLMCBandReception_raw_;
extern const TTCN_Typedescriptor_t DLMCBandReception_descr_;
extern UNIVERSAL_CHARSTRING DLMCBandReception_default_coding;
extern const TTCN_RAWdescriptor_t DLMCCapability_dLMCBandReception_raw_;
extern const TTCN_Typedescriptor_t DLMCCapability_dLMCBandReception_descr_;
extern UNIVERSAL_CHARSTRING DLMCCapability_dLMCBandReception_default_coding;
extern UNIVERSAL_CHARSTRING DLMCCapability_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsRel12_dLMCCapability_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsRel12_dLMCCapability_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel12_dLMCCapability_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsRel12_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel11_accessCapAdditionsRel12_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel11_accessCapAdditionsRel12_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel11_accessCapAdditionsRel12_default_coding;
extern const XERdescriptor_t AccessCapLateAdditionsRel11_extendedEARFCNValueRange_xer_;
extern const TTCN_OERdescriptor_t AccessCapLateAdditionsRel11_extendedEARFCNValueRange_oer_;
extern const TTCN_Typedescriptor_t AccessCapLateAdditionsRel11_extendedEARFCNValueRange_descr_;
extern UNIVERSAL_CHARSTRING AccessCapLateAdditionsRel11_extendedEARFCNValueRange_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapLateAdditionsRel11_raw_;
extern const TTCN_Typedescriptor_t AccessCapLateAdditionsRel11_descr_;
extern UNIVERSAL_CHARSTRING AccessCapLateAdditionsRel11_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel12_accessCapLateAdditionsRel11_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel12_accessCapLateAdditionsRel11_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel12_accessCapLateAdditionsRel11_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel12_accessCapLateAdditionsAfterRel11_raw_;
extern const XERdescriptor_t AccessCapAdditionsAfterRel12_accessCapLateAdditionsAfterRel11_xer_;
extern const TTCN_OERdescriptor_t AccessCapAdditionsAfterRel12_accessCapLateAdditionsAfterRel11_oer_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel12_accessCapLateAdditionsAfterRel11_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel12_accessCapLateAdditionsAfterRel11_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel12_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel12_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel12_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel11_accessCapAdditionsAfterRel12_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel11_accessCapAdditionsAfterRel12_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel11_accessCapAdditionsAfterRel12_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel11_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel11_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel11_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel10_accessCapAdditionsAfterRel11_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel10_accessCapAdditionsAfterRel11_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel10_accessCapAdditionsAfterRel11_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel10_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel10_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel10_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel9_accessCapAdditionsAfterRel10_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel9_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel9_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel9_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel8_accessCapAdditionsAfterRel9_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel8_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel8_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel8_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel7_accessCapAdditionsAfterRel8_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel7_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel7_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel7_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel6_accessCapAdditionsAfterRel7_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel6_accessCapAdditionsAfterRel7_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel6_accessCapAdditionsAfterRel7_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel6_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel5_accessCapAdditionsAfterRel6_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel5_accessCapAdditionsAfterRel6_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel5_accessCapAdditionsAfterRel6_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel5_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel4_accessCapAdditionsAfterRel5_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel4_accessCapAdditionsAfterRel5_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel4_accessCapAdditionsAfterRel5_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel4_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel99_accessCapAdditionsAfterRel4_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel99_accessCapAdditionsAfterRel4_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel99_accessCapAdditionsAfterRel4_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel99_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapAdditionsAfterRel97_accessCapAdditionsAfterRel99_raw_;
extern const TTCN_Typedescriptor_t AccessCapAdditionsAfterRel97_accessCapAdditionsAfterRel99_descr_;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel97_accessCapAdditionsAfterRel99_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapAdditionsAfterRel97_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilities_accessCapAdditionsAfterRel97_raw_;
extern const TTCN_Typedescriptor_t AccessCapabilities_accessCapAdditionsAfterRel97_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilities_accessCapAdditionsAfterRel97_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapabilities_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilitiesStruct_accessCapabilities_raw_;
extern const TTCN_Typedescriptor_t AccessCapabilitiesStruct_accessCapabilities_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilitiesStruct_accessCapabilities_default_coding;
extern const TTCN_RAWdescriptor_t AccessCapabilitiesStruct_raw_;
extern const TTCN_Typedescriptor_t AccessCapabilitiesStruct_descr_;
extern const TTCN_RAWdescriptor_t AccessCapabilitiesStruct_spare__bits_raw_;
extern const XERdescriptor_t AccessCapabilitiesStruct_spare__bits_xer_;
extern const TTCN_Typedescriptor_t AccessCapabilitiesStruct_spare__bits_descr_;
extern UNIVERSAL_CHARSTRING AccessCapabilitiesStruct_spare__bits_default_coding;
extern UNIVERSAL_CHARSTRING AccessCapabilitiesStruct_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValuesExclude1111_accessCapabilities_raw_;
extern const TTCN_Typedescriptor_t MSRACapabilityValuesExclude1111_accessCapabilities_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValuesExclude1111_accessCapabilities_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValuesExclude1111_raw_;
extern const TTCN_Typedescriptor_t MSRACapabilityValuesExclude1111_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValuesExclude1111_default_coding;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues_mSRACapabilityValuesExclude1111_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValues1111_accessTechnType_raw_;
extern const XERdescriptor_t MSRACapabilityValues1111_accessTechnType_xer_;
extern const TTCN_OERdescriptor_t MSRACapabilityValues1111_accessTechnType_oer_;
extern const TTCN_Typedescriptor_t MSRACapabilityValues1111_accessTechnType_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues1111_accessTechnType_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValues1111_lengthIndicator_raw_;
extern const XERdescriptor_t MSRACapabilityValues1111_lengthIndicator_xer_;
extern const TTCN_Typedescriptor_t MSRACapabilityValues1111_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues1111_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValues1111_presenceIndicator__AdditionalAccessTechnologiesRepetition_raw_;
extern const XERdescriptor_t MSRACapabilityValues1111_presenceIndicator__AdditionalAccessTechnologiesRepetition_xer_;
extern const TTCN_OERdescriptor_t MSRACapabilityValues1111_presenceIndicator__AdditionalAccessTechnologiesRepetition_oer_;
extern const TTCN_Typedescriptor_t MSRACapabilityValues1111_presenceIndicator__AdditionalAccessTechnologiesRepetition_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues1111_presenceIndicator__AdditionalAccessTechnologiesRepetition_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValues1111_spare__bits_raw_;
extern const XERdescriptor_t MSRACapabilityValues1111_spare__bits_xer_;
extern const TTCN_Typedescriptor_t MSRACapabilityValues1111_spare__bits_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues1111_spare__bits_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValues1111_raw_;
extern const TTCN_Typedescriptor_t MSRACapabilityValues1111_descr_;
extern const TTCN_RAWdescriptor_t AdditionalAccessTechnologiesRepetition_raw_;
extern const TTCN_Typedescriptor_t AdditionalAccessTechnologiesRepetition_descr_;
extern const TTCN_RAWdescriptor_t AdditionalAccessTechnologies_accessTechnType_raw_;
extern const XERdescriptor_t AdditionalAccessTechnologies_accessTechnType_xer_;
extern const TTCN_OERdescriptor_t AdditionalAccessTechnologies_accessTechnType_oer_;
extern const TTCN_Typedescriptor_t AdditionalAccessTechnologies_accessTechnType_descr_;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologies_accessTechnType_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalAccessTechnologies_gMSKPowerClass_raw_;
extern const XERdescriptor_t AdditionalAccessTechnologies_gMSKPowerClass_xer_;
extern const TTCN_OERdescriptor_t AdditionalAccessTechnologies_gMSKPowerClass_oer_;
extern const TTCN_Typedescriptor_t AdditionalAccessTechnologies_gMSKPowerClass_descr_;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologies_gMSKPowerClass_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalAccessTechnologies_psk8PowerClass_raw_;
extern const XERdescriptor_t AdditionalAccessTechnologies_psk8PowerClass_xer_;
extern const TTCN_OERdescriptor_t AdditionalAccessTechnologies_psk8PowerClass_oer_;
extern const TTCN_Typedescriptor_t AdditionalAccessTechnologies_psk8PowerClass_descr_;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologies_psk8PowerClass_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalAccessTechnologies_raw_;
extern const TTCN_Typedescriptor_t AdditionalAccessTechnologies_descr_;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologies_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalAccessTechnologiesRecord_additionalAccessTechnologies_raw_;
extern const TTCN_Typedescriptor_t AdditionalAccessTechnologiesRecord_additionalAccessTechnologies_descr_;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologiesRecord_additionalAccessTechnologies_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalAccessTechnologiesRecord_extensionBit_raw_;
extern const XERdescriptor_t AdditionalAccessTechnologiesRecord_extensionBit_xer_;
extern const TTCN_OERdescriptor_t AdditionalAccessTechnologiesRecord_extensionBit_oer_;
extern const TTCN_Typedescriptor_t AdditionalAccessTechnologiesRecord_extensionBit_descr_;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologiesRecord_extensionBit_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalAccessTechnologiesRecord_raw_;
extern const TTCN_Typedescriptor_t AdditionalAccessTechnologiesRecord_descr_;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologiesRecord_default_coding;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologiesRepetition_0_default_coding;
extern UNIVERSAL_CHARSTRING AdditionalAccessTechnologiesRepetition_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValues1111_additionalAccessTechnologiesRepetition_raw_;
extern const TTCN_Typedescriptor_t MSRACapabilityValues1111_additionalAccessTechnologiesRepetition_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues1111_additionalAccessTechnologiesRepetition_default_coding;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues1111_default_coding;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues_mSRACapabilityValues1111_default_coding;
extern UNIVERSAL_CHARSTRING MSRACapabilityValues_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValuesRecord_mSRACapabilityValues_raw_;
extern const TTCN_Typedescriptor_t MSRACapabilityValuesRecord_mSRACapabilityValues_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValuesRecord_mSRACapabilityValues_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValuesRecord_presenceBitMSRACap_raw_;
extern const XERdescriptor_t MSRACapabilityValuesRecord_presenceBitMSRACap_xer_;
extern const TTCN_OERdescriptor_t MSRACapabilityValuesRecord_presenceBitMSRACap_oer_;
extern const TTCN_Typedescriptor_t MSRACapabilityValuesRecord_presenceBitMSRACap_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValuesRecord_presenceBitMSRACap_default_coding;
extern const TTCN_RAWdescriptor_t MSRACapabilityValuesRecord_raw_;
extern const TTCN_Typedescriptor_t MSRACapabilityValuesRecord_descr_;
extern UNIVERSAL_CHARSTRING MSRACapabilityValuesRecord_default_coding;
extern UNIVERSAL_CHARSTRING MSRadioAccessCapabilityV_0_default_coding;
extern UNIVERSAL_CHARSTRING MSRadioAccessCapabilityV_default_coding;
extern const TTCN_RAWdescriptor_t MSRadioAccessCapabilityLV_msRadioAccessCapabilityV_raw_;
extern const TTCN_Typedescriptor_t MSRadioAccessCapabilityLV_msRadioAccessCapabilityV_descr_;
extern UNIVERSAL_CHARSTRING MSRadioAccessCapabilityLV_msRadioAccessCapabilityV_default_coding;
extern const TTCN_RAWdescriptor_t MSRadioAccessCapabilityLV_raw_;
extern const TTCN_Typedescriptor_t MSRadioAccessCapabilityLV_descr_;
extern UNIVERSAL_CHARSTRING MSRadioAccessCapabilityLV_default_coding;
extern const XERdescriptor_t GMM__CauseTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t GMM__CauseTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t GMM__CauseTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING GMM__CauseTV_elementIdentifier_default_coding;
extern const XERdescriptor_t GMM__CauseV_causeValue_xer_;
extern const TTCN_OERdescriptor_t GMM__CauseV_causeValue_oer_;
extern const TTCN_Typedescriptor_t GMM__CauseV_causeValue_descr_;
extern UNIVERSAL_CHARSTRING GMM__CauseV_causeValue_default_coding;
extern const TTCN_RAWdescriptor_t GMM__CauseV_raw_;
extern const TTCN_Typedescriptor_t GMM__CauseV_descr_;
extern UNIVERSAL_CHARSTRING GMM__CauseV_default_coding;
extern UNIVERSAL_CHARSTRING GMM__CauseTV_causeValue_default_coding;
extern const TTCN_RAWdescriptor_t GMM__CauseTV_raw_;
extern const TTCN_Typedescriptor_t GMM__CauseTV_descr_;
extern UNIVERSAL_CHARSTRING GMM__CauseTV_default_coding;
extern const XERdescriptor_t RoutingAreaIdentificationV_mccDigit1_xer_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_mccDigit1_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_mccDigit1_default_coding;
extern const XERdescriptor_t RoutingAreaIdentificationV_mccDigit2_xer_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_mccDigit2_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_mccDigit2_default_coding;
extern const XERdescriptor_t RoutingAreaIdentificationV_mccDigit3_xer_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_mccDigit3_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_mccDigit3_default_coding;
extern const XERdescriptor_t RoutingAreaIdentificationV_mncDigit3_xer_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_mncDigit3_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_mncDigit3_default_coding;
extern const XERdescriptor_t RoutingAreaIdentificationV_mncDigit1_xer_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_mncDigit1_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_mncDigit1_default_coding;
extern const XERdescriptor_t RoutingAreaIdentificationV_mncDigit2_xer_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_mncDigit2_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_mncDigit2_default_coding;
extern const XERdescriptor_t RoutingAreaIdentificationV_lac_xer_;
extern const TTCN_OERdescriptor_t RoutingAreaIdentificationV_lac_oer_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_lac_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_lac_default_coding;
extern const XERdescriptor_t RoutingAreaIdentificationV_rac_xer_;
extern const TTCN_OERdescriptor_t RoutingAreaIdentificationV_rac_oer_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_rac_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_rac_default_coding;
extern const TTCN_RAWdescriptor_t RoutingAreaIdentificationV_raw_;
extern const TTCN_Typedescriptor_t RoutingAreaIdentificationV_descr_;
extern UNIVERSAL_CHARSTRING RoutingAreaIdentificationV_default_coding;
extern const XERdescriptor_t UpdateResultV_valueField_xer_;
extern const TTCN_OERdescriptor_t UpdateResultV_valueField_oer_;
extern const TTCN_Typedescriptor_t UpdateResultV_valueField_descr_;
extern UNIVERSAL_CHARSTRING UpdateResultV_valueField_default_coding;
extern const XERdescriptor_t UpdateResultV_fOP__l3_xer_;
extern const TTCN_OERdescriptor_t UpdateResultV_fOP__l3_oer_;
extern const TTCN_Typedescriptor_t UpdateResultV_fOP__l3_descr_;
extern UNIVERSAL_CHARSTRING UpdateResultV_fOP__l3_default_coding;
extern const TTCN_RAWdescriptor_t UpdateResultV_raw_;
extern const TTCN_Typedescriptor_t UpdateResultV_descr_;
extern UNIVERSAL_CHARSTRING UpdateResultV_default_coding;
extern UNIVERSAL_CHARSTRING UpdateResultTV_valueField_default_coding;
extern const XERdescriptor_t UpdateResultTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t UpdateResultTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t UpdateResultTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING UpdateResultTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t UpdateResultTV_raw_;
extern const TTCN_Typedescriptor_t UpdateResultTV_descr_;
extern UNIVERSAL_CHARSTRING UpdateResultTV_default_coding;
extern const XERdescriptor_t UpdateTypeV_valueField_xer_;
extern const TTCN_OERdescriptor_t UpdateTypeV_valueField_oer_;
extern const TTCN_Typedescriptor_t UpdateTypeV_valueField_descr_;
extern UNIVERSAL_CHARSTRING UpdateTypeV_valueField_default_coding;
extern const XERdescriptor_t UpdateTypeV_for__l3_xer_;
extern const TTCN_OERdescriptor_t UpdateTypeV_for__l3_oer_;
extern const TTCN_Typedescriptor_t UpdateTypeV_for__l3_descr_;
extern UNIVERSAL_CHARSTRING UpdateTypeV_for__l3_default_coding;
extern const TTCN_RAWdescriptor_t UpdateTypeV_raw_;
extern const TTCN_Typedescriptor_t UpdateTypeV_descr_;
extern UNIVERSAL_CHARSTRING UpdateTypeV_default_coding;
extern UNIVERSAL_CHARSTRING UpdateTypeTV_valueField_default_coding;
extern const XERdescriptor_t UpdateTypeTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t UpdateTypeTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t UpdateTypeTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING UpdateTypeTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t UpdateTypeTV_raw_;
extern const TTCN_Typedescriptor_t UpdateTypeTV_descr_;
extern UNIVERSAL_CHARSTRING UpdateTypeTV_default_coding;
extern const XERdescriptor_t ACReferenceNumberV_valueField_xer_;
extern const TTCN_OERdescriptor_t ACReferenceNumberV_valueField_oer_;
extern const TTCN_Typedescriptor_t ACReferenceNumberV_valueField_descr_;
extern UNIVERSAL_CHARSTRING ACReferenceNumberV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t ACReferenceNumberV_raw_;
extern const TTCN_Typedescriptor_t ACReferenceNumberV_descr_;
extern UNIVERSAL_CHARSTRING ACReferenceNumberV_default_coding;
extern UNIVERSAL_CHARSTRING ACReferenceNumberTV_acReferenceNumber_default_coding;
extern const XERdescriptor_t ACReferenceNumberTV_acReferenceNumberIEI_xer_;
extern const TTCN_OERdescriptor_t ACReferenceNumberTV_acReferenceNumberIEI_oer_;
extern const TTCN_Typedescriptor_t ACReferenceNumberTV_acReferenceNumberIEI_descr_;
extern UNIVERSAL_CHARSTRING ACReferenceNumberTV_acReferenceNumberIEI_default_coding;
extern const TTCN_RAWdescriptor_t ACReferenceNumberTV_raw_;
extern const TTCN_Typedescriptor_t ACReferenceNumberTV_descr_;
extern UNIVERSAL_CHARSTRING ACReferenceNumberTV_default_coding;
extern const XERdescriptor_t ServiceTypeV_serviceType_xer_;
extern const TTCN_OERdescriptor_t ServiceTypeV_serviceType_oer_;
extern const TTCN_Typedescriptor_t ServiceTypeV_serviceType_descr_;
extern UNIVERSAL_CHARSTRING ServiceTypeV_serviceType_default_coding;
extern const XERdescriptor_t ServiceTypeV_spare_xer_;
extern const TTCN_OERdescriptor_t ServiceTypeV_spare_oer_;
extern const TTCN_Typedescriptor_t ServiceTypeV_spare_descr_;
extern UNIVERSAL_CHARSTRING ServiceTypeV_spare_default_coding;
extern const TTCN_RAWdescriptor_t ServiceTypeV_raw_;
extern const TTCN_Typedescriptor_t ServiceTypeV_descr_;
extern UNIVERSAL_CHARSTRING ServiceTypeV_default_coding;
extern const XERdescriptor_t CellNotificationT_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t CellNotificationT_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t CellNotificationT_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING CellNotificationT_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t CellNotificationT_raw_;
extern const TTCN_Typedescriptor_t CellNotificationT_descr_;
extern UNIVERSAL_CHARSTRING CellNotificationT_default_coding;
extern const XERdescriptor_t PC__LCSCapability_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapability_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapability_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapability_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t PC__LCSCapabilityLV_lengthIndicator_raw_;
extern const XERdescriptor_t PC__LCSCapabilityLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapabilityLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityLV_lengthIndicator_default_coding;
extern const XERdescriptor_t PC__LCSCapabilityV_gPS__C_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapabilityV_gPS__C_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityV_gPS__C_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityV_gPS__C_default_coding;
extern const XERdescriptor_t PC__LCSCapabilityV_gPS__B_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapabilityV_gPS__B_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityV_gPS__B_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityV_gPS__B_default_coding;
extern const XERdescriptor_t PC__LCSCapabilityV_gPS__A_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapabilityV_gPS__A_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityV_gPS__A_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityV_gPS__A_default_coding;
extern const XERdescriptor_t PC__LCSCapabilityV_oTD__B_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapabilityV_oTD__B_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityV_oTD__B_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityV_oTD__B_default_coding;
extern const XERdescriptor_t PC__LCSCapabilityV_oTD__A_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapabilityV_oTD__A_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityV_oTD__A_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityV_oTD__A_default_coding;
extern const XERdescriptor_t PC__LCSCapabilityV_aPC_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapabilityV_aPC_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityV_aPC_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityV_aPC_default_coding;
extern const XERdescriptor_t PC__LCSCapabilityV_spare_xer_;
extern const TTCN_OERdescriptor_t PC__LCSCapabilityV_spare_oer_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityV_spare_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityV_spare_default_coding;
extern const TTCN_RAWdescriptor_t PC__LCSCapabilityV_raw_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityV_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityV_default_coding;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityLV_pC__LCSCapabilityV_default_coding;
extern const TTCN_RAWdescriptor_t PC__LCSCapabilityLV_raw_;
extern const TTCN_Typedescriptor_t PC__LCSCapabilityLV_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapabilityLV_default_coding;
extern UNIVERSAL_CHARSTRING PC__LCSCapability_pC__LCSCapabilityLV_default_coding;
extern const TTCN_RAWdescriptor_t PC__LCSCapability_raw_;
extern const TTCN_Typedescriptor_t PC__LCSCapability_descr_;
extern UNIVERSAL_CHARSTRING PC__LCSCapability_default_coding;
extern const XERdescriptor_t NetworkFeatureSupportV_eMCBS_xer_;
extern const TTCN_OERdescriptor_t NetworkFeatureSupportV_eMCBS_oer_;
extern const TTCN_Typedescriptor_t NetworkFeatureSupportV_eMCBS_descr_;
extern UNIVERSAL_CHARSTRING NetworkFeatureSupportV_eMCBS_default_coding;
extern const XERdescriptor_t NetworkFeatureSupportV_iMSVoPS_xer_;
extern const TTCN_OERdescriptor_t NetworkFeatureSupportV_iMSVoPS_oer_;
extern const TTCN_Typedescriptor_t NetworkFeatureSupportV_iMSVoPS_descr_;
extern UNIVERSAL_CHARSTRING NetworkFeatureSupportV_iMSVoPS_default_coding;
extern const XERdescriptor_t NetworkFeatureSupportV_mBMS_xer_;
extern const TTCN_OERdescriptor_t NetworkFeatureSupportV_mBMS_oer_;
extern const TTCN_Typedescriptor_t NetworkFeatureSupportV_mBMS_descr_;
extern UNIVERSAL_CHARSTRING NetworkFeatureSupportV_mBMS_default_coding;
extern const XERdescriptor_t NetworkFeatureSupportV_lCS__MOLR_xer_;
extern const TTCN_OERdescriptor_t NetworkFeatureSupportV_lCS__MOLR_oer_;
extern const TTCN_Typedescriptor_t NetworkFeatureSupportV_lCS__MOLR_descr_;
extern UNIVERSAL_CHARSTRING NetworkFeatureSupportV_lCS__MOLR_default_coding;
extern const TTCN_RAWdescriptor_t NetworkFeatureSupportV_raw_;
extern const TTCN_Typedescriptor_t NetworkFeatureSupportV_descr_;
extern UNIVERSAL_CHARSTRING NetworkFeatureSupportV_default_coding;
extern UNIVERSAL_CHARSTRING NetworkFeatureSupportTV_networkFeatureSupportV_default_coding;
extern const XERdescriptor_t NetworkFeatureSupportTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t NetworkFeatureSupportTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t NetworkFeatureSupportTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING NetworkFeatureSupportTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t NetworkFeatureSupportTV_raw_;
extern const TTCN_Typedescriptor_t NetworkFeatureSupportTV_descr_;
extern UNIVERSAL_CHARSTRING NetworkFeatureSupportTV_default_coding;
extern const XERdescriptor_t AdditionalNetworkFeatureSupportTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t AdditionalNetworkFeatureSupportTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t AdditionalNetworkFeatureSupportTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING AdditionalNetworkFeatureSupportTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalNetworkFeatureSupportTLV_lengthIndicator_raw_;
extern const XERdescriptor_t AdditionalNetworkFeatureSupportTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t AdditionalNetworkFeatureSupportTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t AdditionalNetworkFeatureSupportTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING AdditionalNetworkFeatureSupportTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t AdditionalNetworkFeatureSupportV_gPRS__SMS_xer_;
extern const TTCN_OERdescriptor_t AdditionalNetworkFeatureSupportV_gPRS__SMS_oer_;
extern const TTCN_Typedescriptor_t AdditionalNetworkFeatureSupportV_gPRS__SMS_descr_;
extern UNIVERSAL_CHARSTRING AdditionalNetworkFeatureSupportV_gPRS__SMS_default_coding;
extern const XERdescriptor_t AdditionalNetworkFeatureSupportV_spare_xer_;
extern const TTCN_OERdescriptor_t AdditionalNetworkFeatureSupportV_spare_oer_;
extern const TTCN_Typedescriptor_t AdditionalNetworkFeatureSupportV_spare_descr_;
extern UNIVERSAL_CHARSTRING AdditionalNetworkFeatureSupportV_spare_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalNetworkFeatureSupportV_raw_;
extern const TTCN_Typedescriptor_t AdditionalNetworkFeatureSupportV_descr_;
extern UNIVERSAL_CHARSTRING AdditionalNetworkFeatureSupportV_default_coding;
extern UNIVERSAL_CHARSTRING AdditionalNetworkFeatureSupportTLV_additionalNetworkFeatureSupportV_default_coding;
extern const TTCN_RAWdescriptor_t AdditionalNetworkFeatureSupportTLV_raw_;
extern const TTCN_Typedescriptor_t AdditionalNetworkFeatureSupportTLV_descr_;
extern UNIVERSAL_CHARSTRING AdditionalNetworkFeatureSupportTLV_default_coding;
extern const XERdescriptor_t InterRATInformationContainerTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t InterRATInformationContainerTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t InterRATInformationContainerTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING InterRATInformationContainerTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t InterRATInformationContainerTLV_lengthIndicator_raw_;
extern const XERdescriptor_t InterRATInformationContainerTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t InterRATInformationContainerTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t InterRATInformationContainerTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING InterRATInformationContainerTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t InterRATInformationContainerTLV_interRATInformationContainerV_xer_;
extern const TTCN_OERdescriptor_t InterRATInformationContainerTLV_interRATInformationContainerV_oer_;
extern const TTCN_Typedescriptor_t InterRATInformationContainerTLV_interRATInformationContainerV_descr_;
extern UNIVERSAL_CHARSTRING InterRATInformationContainerTLV_interRATInformationContainerV_default_coding;
extern const TTCN_RAWdescriptor_t InterRATInformationContainerTLV_raw_;
extern const TTCN_Typedescriptor_t InterRATInformationContainerTLV_descr_;
extern UNIVERSAL_CHARSTRING InterRATInformationContainerTLV_default_coding;
extern const XERdescriptor_t RequestedMSInformationTV_spare_xer_;
extern const TTCN_OERdescriptor_t RequestedMSInformationTV_spare_oer_;
extern const TTCN_Typedescriptor_t RequestedMSInformationTV_spare_descr_;
extern UNIVERSAL_CHARSTRING RequestedMSInformationTV_spare_default_coding;
extern const XERdescriptor_t RequestedMSInformationTV_i__RAT2_xer_;
extern const TTCN_OERdescriptor_t RequestedMSInformationTV_i__RAT2_oer_;
extern const TTCN_Typedescriptor_t RequestedMSInformationTV_i__RAT2_descr_;
extern UNIVERSAL_CHARSTRING RequestedMSInformationTV_i__RAT2_default_coding;
extern const XERdescriptor_t RequestedMSInformationTV_i__RAT_xer_;
extern const TTCN_OERdescriptor_t RequestedMSInformationTV_i__RAT_oer_;
extern const TTCN_Typedescriptor_t RequestedMSInformationTV_i__RAT_descr_;
extern UNIVERSAL_CHARSTRING RequestedMSInformationTV_i__RAT_default_coding;
extern const XERdescriptor_t RequestedMSInformationTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t RequestedMSInformationTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t RequestedMSInformationTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING RequestedMSInformationTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t RequestedMSInformationTV_raw_;
extern const TTCN_Typedescriptor_t RequestedMSInformationTV_descr_;
extern UNIVERSAL_CHARSTRING RequestedMSInformationTV_default_coding;
extern const XERdescriptor_t UENetworkCapabilityTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t UENetworkCapabilityLV_lengthIndicator_raw_;
extern const XERdescriptor_t UENetworkCapabilityLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityLV_lengthIndicator_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_eEA_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_eEA_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_eEA_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_eEA_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_eIA_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_eIA_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_eIA_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_eIA_default_coding;
extern const TTCN_RAWdescriptor_t UENetworkCapabilityV_raw_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_descr_;
extern const XERdescriptor_t UENetworkCapabilityV_uEA_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_uEA_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_uEA_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_uEA_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_uIA_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_uIA_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_uIA_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_uIA_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_uCS2_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_uCS2_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_uCS2_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_uCS2_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_nF_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_nF_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_nF_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_nF_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_sRVCC_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_sRVCC_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_sRVCC_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_sRVCC_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_lCS_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_lCS_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_lCS_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_lCS_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_lPP_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_lPP_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_lPP_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_lPP_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_aCC__CSFB_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_aCC__CSFB_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_aCC__CSFB_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_aCC__CSFB_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_h245__ASH_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_h245__ASH_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_h245__ASH_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_h245__ASH_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_proSe_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_proSe_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_proSe_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_proSe_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_proSe__dd_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_proSe__dd_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_proSe__dd_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_proSe__dd_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_proSe__dc_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_proSe__dc_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_proSe__dc_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_proSe__dc_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_spare_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_spare_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_spare_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_spare_default_coding;
extern const XERdescriptor_t UENetworkCapabilityV_spare4_xer_;
extern const TTCN_OERdescriptor_t UENetworkCapabilityV_spare4_oer_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityV_spare4_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_spare4_default_coding;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityV_default_coding;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityLV_uENetworkCapabilityV_default_coding;
extern const TTCN_RAWdescriptor_t UENetworkCapabilityLV_raw_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityLV_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityLV_default_coding;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityTLV_uENetworkCapabilityLV_default_coding;
extern const TTCN_RAWdescriptor_t UENetworkCapabilityTLV_raw_;
extern const TTCN_Typedescriptor_t UENetworkCapabilityTLV_descr_;
extern UNIVERSAL_CHARSTRING UENetworkCapabilityTLV_default_coding;
extern const XERdescriptor_t EUTRANinterRATInformationContainerTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t EUTRANinterRATInformationContainerTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t EUTRANinterRATInformationContainerTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING EUTRANinterRATInformationContainerTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t EUTRANinterRATInformationContainerTLV_lengthIndicator_raw_;
extern const XERdescriptor_t EUTRANinterRATInformationContainerTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t EUTRANinterRATInformationContainerTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t EUTRANinterRATInformationContainerTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING EUTRANinterRATInformationContainerTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t EUTRANinterRATInformationContainerTLV_eUTRANinterRATInformationContainerV_xer_;
extern const TTCN_OERdescriptor_t EUTRANinterRATInformationContainerTLV_eUTRANinterRATInformationContainerV_oer_;
extern const TTCN_Typedescriptor_t EUTRANinterRATInformationContainerTLV_eUTRANinterRATInformationContainerV_descr_;
extern UNIVERSAL_CHARSTRING EUTRANinterRATInformationContainerTLV_eUTRANinterRATInformationContainerV_default_coding;
extern const TTCN_RAWdescriptor_t EUTRANinterRATInformationContainerTLV_raw_;
extern const TTCN_Typedescriptor_t EUTRANinterRATInformationContainerTLV_descr_;
extern UNIVERSAL_CHARSTRING EUTRANinterRATInformationContainerTLV_default_coding;
extern const XERdescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING VoiceDomainPreferenceandUEsUsageSettingTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_lengthIndicator_raw_;
extern const XERdescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING VoiceDomainPreferenceandUEsUsageSettingTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t VDPaUEsUS__V_voiceDomainPreferenceforEUTRAN_xer_;
extern const TTCN_OERdescriptor_t VDPaUEsUS__V_voiceDomainPreferenceforEUTRAN_oer_;
extern const TTCN_Typedescriptor_t VDPaUEsUS__V_voiceDomainPreferenceforEUTRAN_descr_;
extern UNIVERSAL_CHARSTRING VDPaUEsUS__V_voiceDomainPreferenceforEUTRAN_default_coding;
extern const XERdescriptor_t VDPaUEsUS__V_uEsUsageSetting_xer_;
extern const TTCN_OERdescriptor_t VDPaUEsUS__V_uEsUsageSetting_oer_;
extern const TTCN_Typedescriptor_t VDPaUEsUS__V_uEsUsageSetting_descr_;
extern UNIVERSAL_CHARSTRING VDPaUEsUS__V_uEsUsageSetting_default_coding;
extern const XERdescriptor_t VDPaUEsUS__V_spare1_xer_;
extern const TTCN_OERdescriptor_t VDPaUEsUS__V_spare1_oer_;
extern const TTCN_Typedescriptor_t VDPaUEsUS__V_spare1_descr_;
extern UNIVERSAL_CHARSTRING VDPaUEsUS__V_spare1_default_coding;
extern const XERdescriptor_t VDPaUEsUS__V_spare2_xer_;
extern const TTCN_OERdescriptor_t VDPaUEsUS__V_spare2_oer_;
extern const TTCN_Typedescriptor_t VDPaUEsUS__V_spare2_descr_;
extern UNIVERSAL_CHARSTRING VDPaUEsUS__V_spare2_default_coding;
extern const XERdescriptor_t VDPaUEsUS__V_spare3_xer_;
extern const TTCN_OERdescriptor_t VDPaUEsUS__V_spare3_oer_;
extern const TTCN_Typedescriptor_t VDPaUEsUS__V_spare3_descr_;
extern UNIVERSAL_CHARSTRING VDPaUEsUS__V_spare3_default_coding;
extern const XERdescriptor_t VDPaUEsUS__V_spare4_xer_;
extern const TTCN_OERdescriptor_t VDPaUEsUS__V_spare4_oer_;
extern const TTCN_Typedescriptor_t VDPaUEsUS__V_spare4_descr_;
extern UNIVERSAL_CHARSTRING VDPaUEsUS__V_spare4_default_coding;
extern const XERdescriptor_t VDPaUEsUS__V_spare5_xer_;
extern const TTCN_OERdescriptor_t VDPaUEsUS__V_spare5_oer_;
extern const TTCN_Typedescriptor_t VDPaUEsUS__V_spare5_descr_;
extern UNIVERSAL_CHARSTRING VDPaUEsUS__V_spare5_default_coding;
extern const TTCN_RAWdescriptor_t VDPaUEsUS__V_raw_;
extern const TTCN_Typedescriptor_t VDPaUEsUS__V_descr_;
extern UNIVERSAL_CHARSTRING VDPaUEsUS__V_default_coding;
extern UNIVERSAL_CHARSTRING VoiceDomainPreferenceandUEsUsageSettingTLV_informationElement_default_coding;
extern const TTCN_RAWdescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_raw_;
extern const TTCN_Typedescriptor_t VoiceDomainPreferenceandUEsUsageSettingTLV_descr_;
extern UNIVERSAL_CHARSTRING VoiceDomainPreferenceandUEsUsageSettingTLV_default_coding;
extern const XERdescriptor_t LocationAreaIdentification2__TLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t LocationAreaIdentification2__TLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t LocationAreaIdentification2__TLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING LocationAreaIdentification2__TLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t LocationAreaIdentification2__TLV_lengthIndicator_raw_;
extern const XERdescriptor_t LocationAreaIdentification2__TLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t LocationAreaIdentification2__TLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t LocationAreaIdentification2__TLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING LocationAreaIdentification2__TLV_lengthIndicator_default_coding;
extern const XERdescriptor_t LocationAreaIdentification2__TLV_locationAreaIdentificationValue_xer_;
extern const TTCN_OERdescriptor_t LocationAreaIdentification2__TLV_locationAreaIdentificationValue_oer_;
extern const TTCN_Typedescriptor_t LocationAreaIdentification2__TLV_locationAreaIdentificationValue_descr_;
extern UNIVERSAL_CHARSTRING LocationAreaIdentification2__TLV_locationAreaIdentificationValue_default_coding;
extern const TTCN_RAWdescriptor_t LocationAreaIdentification2__TLV_raw_;
extern const TTCN_Typedescriptor_t LocationAreaIdentification2__TLV_descr_;
extern UNIVERSAL_CHARSTRING LocationAreaIdentification2__TLV_default_coding;
extern const XERdescriptor_t NetworkResourceIdentifierContainerTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t NetworkResourceIdentifierContainerTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t NetworkResourceIdentifierContainerTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t NetworkResourceIdentifierContainerLV_lengthIndicator_raw_;
extern const XERdescriptor_t NetworkResourceIdentifierContainerLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t NetworkResourceIdentifierContainerLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t NetworkResourceIdentifierContainerLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerLV_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t NetworkResourceIdentifierContainerV_nRIContainerValue_raw_;
extern const XERdescriptor_t NetworkResourceIdentifierContainerV_nRIContainerValue_xer_;
extern const TTCN_OERdescriptor_t NetworkResourceIdentifierContainerV_nRIContainerValue_oer_;
extern const TTCN_Typedescriptor_t NetworkResourceIdentifierContainerV_nRIContainerValue_descr_;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerV_nRIContainerValue_default_coding;
extern const TTCN_RAWdescriptor_t NetworkResourceIdentifierContainerV_spare_raw_;
extern const XERdescriptor_t NetworkResourceIdentifierContainerV_spare_xer_;
extern const TTCN_OERdescriptor_t NetworkResourceIdentifierContainerV_spare_oer_;
extern const TTCN_Typedescriptor_t NetworkResourceIdentifierContainerV_spare_descr_;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerV_spare_default_coding;
extern const TTCN_RAWdescriptor_t NetworkResourceIdentifierContainerV_raw_;
extern const TTCN_Typedescriptor_t NetworkResourceIdentifierContainerV_descr_;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerV_default_coding;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerLV_networkResourceIdentifierContainerV_default_coding;
extern const TTCN_RAWdescriptor_t NetworkResourceIdentifierContainerLV_raw_;
extern const TTCN_Typedescriptor_t NetworkResourceIdentifierContainerLV_descr_;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerLV_default_coding;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerTLV_networkResourceIdentifierContainerLV_default_coding;
extern const TTCN_RAWdescriptor_t NetworkResourceIdentifierContainerTLV_raw_;
extern const TTCN_Typedescriptor_t NetworkResourceIdentifierContainerTLV_descr_;
extern UNIVERSAL_CHARSTRING NetworkResourceIdentifierContainerTLV_default_coding;
extern const XERdescriptor_t ExtendedDRXParametersTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t ExtendedDRXParametersTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t ExtendedDRXParametersTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING ExtendedDRXParametersTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t ExtendedDRXParametersTLV_lengthIndicator_raw_;
extern const XERdescriptor_t ExtendedDRXParametersTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t ExtendedDRXParametersTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t ExtendedDRXParametersTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING ExtendedDRXParametersTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t ExtendedDRXParametersTLV_eDRXValue_xer_;
extern const TTCN_OERdescriptor_t ExtendedDRXParametersTLV_eDRXValue_oer_;
extern const TTCN_Typedescriptor_t ExtendedDRXParametersTLV_eDRXValue_descr_;
extern UNIVERSAL_CHARSTRING ExtendedDRXParametersTLV_eDRXValue_default_coding;
extern const XERdescriptor_t ExtendedDRXParametersTLV_pagingTimeWindow_xer_;
extern const TTCN_OERdescriptor_t ExtendedDRXParametersTLV_pagingTimeWindow_oer_;
extern const TTCN_Typedescriptor_t ExtendedDRXParametersTLV_pagingTimeWindow_descr_;
extern UNIVERSAL_CHARSTRING ExtendedDRXParametersTLV_pagingTimeWindow_default_coding;
extern const TTCN_RAWdescriptor_t ExtendedDRXParametersTLV_raw_;
extern const TTCN_Typedescriptor_t ExtendedDRXParametersTLV_descr_;
extern UNIVERSAL_CHARSTRING ExtendedDRXParametersTLV_default_coding;
extern const XERdescriptor_t AccessPointNameTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t AccessPointNameTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t AccessPointNameTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING AccessPointNameTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t AccessPointNameTLV_lengthIndicator_raw_;
extern const XERdescriptor_t AccessPointNameTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t AccessPointNameTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t AccessPointNameTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING AccessPointNameTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t AccessPointNameV_xer_;
extern const TTCN_OERdescriptor_t AccessPointNameV_oer_;
extern const TTCN_Typedescriptor_t AccessPointNameV_descr_;
extern UNIVERSAL_CHARSTRING AccessPointNameV_default_coding;
extern const XERdescriptor_t AccessPointNameTLV_accessPointNameValue_xer_;
extern const TTCN_OERdescriptor_t AccessPointNameTLV_accessPointNameValue_oer_;
extern const TTCN_Typedescriptor_t AccessPointNameTLV_accessPointNameValue_descr_;
extern UNIVERSAL_CHARSTRING AccessPointNameTLV_accessPointNameValue_default_coding;
extern const TTCN_RAWdescriptor_t AccessPointNameTLV_raw_;
extern const TTCN_Typedescriptor_t AccessPointNameTLV_descr_;
extern UNIVERSAL_CHARSTRING AccessPointNameTLV_default_coding;
extern const TTCN_RAWdescriptor_t AccessPointNameLV_lengthIndicator_raw_;
extern const XERdescriptor_t AccessPointNameLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t AccessPointNameLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t AccessPointNameLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING AccessPointNameLV_lengthIndicator_default_coding;
extern const XERdescriptor_t AccessPointNameLV_accessPointNameValue_xer_;
extern const TTCN_OERdescriptor_t AccessPointNameLV_accessPointNameValue_oer_;
extern const TTCN_Typedescriptor_t AccessPointNameLV_accessPointNameValue_descr_;
extern UNIVERSAL_CHARSTRING AccessPointNameLV_accessPointNameValue_default_coding;
extern const TTCN_RAWdescriptor_t AccessPointNameLV_raw_;
extern const TTCN_Typedescriptor_t AccessPointNameLV_descr_;
extern UNIVERSAL_CHARSTRING AccessPointNameLV_default_coding;
extern const XERdescriptor_t NSAPITV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t NSAPITV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t NSAPITV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING NSAPITV_elementIdentifier_default_coding;
extern const XERdescriptor_t NSAPIV_valueField_xer_;
extern const TTCN_OERdescriptor_t NSAPIV_valueField_oer_;
extern const TTCN_Typedescriptor_t NSAPIV_valueField_descr_;
extern UNIVERSAL_CHARSTRING NSAPIV_valueField_default_coding;
extern const XERdescriptor_t NSAPIV_spare_xer_;
extern const TTCN_OERdescriptor_t NSAPIV_spare_oer_;
extern const TTCN_Typedescriptor_t NSAPIV_spare_descr_;
extern UNIVERSAL_CHARSTRING NSAPIV_spare_default_coding;
extern const TTCN_RAWdescriptor_t NSAPIV_raw_;
extern const TTCN_Typedescriptor_t NSAPIV_descr_;
extern UNIVERSAL_CHARSTRING NSAPIV_default_coding;
extern UNIVERSAL_CHARSTRING NSAPITV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t NSAPITV_raw_;
extern const TTCN_Typedescriptor_t NSAPITV_descr_;
extern UNIVERSAL_CHARSTRING NSAPITV_default_coding;
extern const XERdescriptor_t ProtocolConfigOptionsTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t ProtocolConfigOptionsTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t ProtocolConfigOptionsTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t ProtocolConfigOptionsTLV_lengthIndicator_raw_;
extern const XERdescriptor_t ProtocolConfigOptionsTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t ProtocolConfigOptionsTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t ProtocolConfigOptionsTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t ProtocolConfigOptionsV_configProtocol_xer_;
extern const TTCN_OERdescriptor_t ProtocolConfigOptionsV_configProtocol_oer_;
extern const TTCN_Typedescriptor_t ProtocolConfigOptionsV_configProtocol_descr_;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsV_configProtocol_default_coding;
extern const XERdescriptor_t ProtocolConfigOptionsV_spare_xer_;
extern const TTCN_OERdescriptor_t ProtocolConfigOptionsV_spare_oer_;
extern const TTCN_Typedescriptor_t ProtocolConfigOptionsV_spare_descr_;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsV_spare_default_coding;
extern const XERdescriptor_t ProtocolConfigOptionsV_extensionField_xer_;
extern const TTCN_OERdescriptor_t ProtocolConfigOptionsV_extensionField_oer_;
extern const TTCN_Typedescriptor_t ProtocolConfigOptionsV_extensionField_descr_;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsV_extensionField_default_coding;
extern const TTCN_RAWdescriptor_t ProtocolConfigOptionsV_raw_;
extern const TTCN_Typedescriptor_t ProtocolConfigOptionsV_descr_;
extern const TTCN_RAWdescriptor_t ProtocolIDs__and__ContainerIDs_raw_;
extern const TTCN_Typedescriptor_t ProtocolIDs__and__ContainerIDs_descr_;
extern const XERdescriptor_t ProtocolID__or__ContainerID_protocolID__or__ContainerID_xer_;
extern const TTCN_OERdescriptor_t ProtocolID__or__ContainerID_protocolID__or__ContainerID_oer_;
extern const TTCN_Typedescriptor_t ProtocolID__or__ContainerID_protocolID__or__ContainerID_descr_;
extern UNIVERSAL_CHARSTRING ProtocolID__or__ContainerID_protocolID__or__ContainerID_default_coding;
extern const TTCN_RAWdescriptor_t ProtocolID__or__ContainerID_lengthIndicator_raw_;
extern const XERdescriptor_t ProtocolID__or__ContainerID_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t ProtocolID__or__ContainerID_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t ProtocolID__or__ContainerID_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING ProtocolID__or__ContainerID_lengthIndicator_default_coding;
extern const XERdescriptor_t ProtocolID__or__ContainerID_protID__orContID__Contents_xer_;
extern const TTCN_OERdescriptor_t ProtocolID__or__ContainerID_protID__orContID__Contents_oer_;
extern const TTCN_Typedescriptor_t ProtocolID__or__ContainerID_protID__orContID__Contents_descr_;
extern UNIVERSAL_CHARSTRING ProtocolID__or__ContainerID_protID__orContID__Contents_default_coding;
extern const TTCN_RAWdescriptor_t ProtocolID__or__ContainerID_raw_;
extern const TTCN_Typedescriptor_t ProtocolID__or__ContainerID_descr_;
extern UNIVERSAL_CHARSTRING ProtocolID__or__ContainerID_default_coding;
extern UNIVERSAL_CHARSTRING ProtocolIDs__and__ContainerIDs_0_default_coding;
extern UNIVERSAL_CHARSTRING ProtocolIDs__and__ContainerIDs_default_coding;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsV_protocolIDs__and__ContainerIDs_default_coding;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsV_default_coding;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsTLV_protocolConfigOptionsV_default_coding;
extern const TTCN_RAWdescriptor_t ProtocolConfigOptionsTLV_raw_;
extern const TTCN_Typedescriptor_t ProtocolConfigOptionsTLV_descr_;
extern UNIVERSAL_CHARSTRING ProtocolConfigOptionsTLV_default_coding;
extern const XERdescriptor_t PDPAddressTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t PDPAddressTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t PDPAddressTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING PDPAddressTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t PDPAddressLV_lengthIndicator_raw_;
extern const XERdescriptor_t PDPAddressLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t PDPAddressLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t PDPAddressLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING PDPAddressLV_lengthIndicator_default_coding;
extern const XERdescriptor_t PDPAddressV_pdpTypeOrg_xer_;
extern const TTCN_OERdescriptor_t PDPAddressV_pdpTypeOrg_oer_;
extern const TTCN_Typedescriptor_t PDPAddressV_pdpTypeOrg_descr_;
extern UNIVERSAL_CHARSTRING PDPAddressV_pdpTypeOrg_default_coding;
extern const XERdescriptor_t PDPAddressV_spare_xer_;
extern const TTCN_OERdescriptor_t PDPAddressV_spare_oer_;
extern const TTCN_Typedescriptor_t PDPAddressV_spare_descr_;
extern UNIVERSAL_CHARSTRING PDPAddressV_spare_default_coding;
extern const XERdescriptor_t PDPAddressV_pdpTypeNum_xer_;
extern const TTCN_OERdescriptor_t PDPAddressV_pdpTypeNum_oer_;
extern const TTCN_Typedescriptor_t PDPAddressV_pdpTypeNum_descr_;
extern UNIVERSAL_CHARSTRING PDPAddressV_pdpTypeNum_default_coding;
extern const TTCN_RAWdescriptor_t PDPAddressV_raw_;
extern const TTCN_Typedescriptor_t PDPAddressV_descr_;
extern const XERdescriptor_t PDPAddressV_addressInfo_xer_;
extern const TTCN_OERdescriptor_t PDPAddressV_addressInfo_oer_;
extern const TTCN_Typedescriptor_t PDPAddressV_addressInfo_descr_;
extern UNIVERSAL_CHARSTRING PDPAddressV_addressInfo_default_coding;
extern UNIVERSAL_CHARSTRING PDPAddressV_default_coding;
extern UNIVERSAL_CHARSTRING PDPAddressLV_pdpAddressV_default_coding;
extern const TTCN_RAWdescriptor_t PDPAddressLV_raw_;
extern const TTCN_Typedescriptor_t PDPAddressLV_descr_;
extern UNIVERSAL_CHARSTRING PDPAddressLV_default_coding;
extern UNIVERSAL_CHARSTRING PDPAddressTLV_pDPAddressLV_default_coding;
extern const TTCN_RAWdescriptor_t PDPAddressTLV_raw_;
extern const TTCN_Typedescriptor_t PDPAddressTLV_descr_;
extern UNIVERSAL_CHARSTRING PDPAddressTLV_default_coding;
extern const XERdescriptor_t QoSTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t QoSTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t QoSTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING QoSTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t QoSLV_lengthIndicator_raw_;
extern const XERdescriptor_t QoSLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t QoSLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t QoSLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING QoSLV_lengthIndicator_default_coding;
extern const XERdescriptor_t QoSV_reliabilityClass_xer_;
extern const TTCN_OERdescriptor_t QoSV_reliabilityClass_oer_;
extern const TTCN_Typedescriptor_t QoSV_reliabilityClass_descr_;
extern UNIVERSAL_CHARSTRING QoSV_reliabilityClass_default_coding;
extern const XERdescriptor_t QoSV_delayClass_xer_;
extern const TTCN_OERdescriptor_t QoSV_delayClass_oer_;
extern const TTCN_Typedescriptor_t QoSV_delayClass_descr_;
extern UNIVERSAL_CHARSTRING QoSV_delayClass_default_coding;
extern const XERdescriptor_t QoSV_spare1_xer_;
extern const TTCN_OERdescriptor_t QoSV_spare1_oer_;
extern const TTCN_Typedescriptor_t QoSV_spare1_descr_;
extern UNIVERSAL_CHARSTRING QoSV_spare1_default_coding;
extern const XERdescriptor_t QoSV_precedenceClass_xer_;
extern const TTCN_OERdescriptor_t QoSV_precedenceClass_oer_;
extern const TTCN_Typedescriptor_t QoSV_precedenceClass_descr_;
extern UNIVERSAL_CHARSTRING QoSV_precedenceClass_default_coding;
extern const XERdescriptor_t QoSV_spare2_xer_;
extern const TTCN_OERdescriptor_t QoSV_spare2_oer_;
extern const TTCN_Typedescriptor_t QoSV_spare2_descr_;
extern UNIVERSAL_CHARSTRING QoSV_spare2_default_coding;
extern const XERdescriptor_t QoSV_peakThroughput_xer_;
extern const TTCN_OERdescriptor_t QoSV_peakThroughput_oer_;
extern const TTCN_Typedescriptor_t QoSV_peakThroughput_descr_;
extern UNIVERSAL_CHARSTRING QoSV_peakThroughput_default_coding;
extern const XERdescriptor_t QoSV_meanThroughput_xer_;
extern const TTCN_OERdescriptor_t QoSV_meanThroughput_oer_;
extern const TTCN_Typedescriptor_t QoSV_meanThroughput_descr_;
extern UNIVERSAL_CHARSTRING QoSV_meanThroughput_default_coding;
extern const XERdescriptor_t QoSV_spare3_xer_;
extern const TTCN_OERdescriptor_t QoSV_spare3_oer_;
extern const TTCN_Typedescriptor_t QoSV_spare3_descr_;
extern UNIVERSAL_CHARSTRING QoSV_spare3_default_coding;
extern const TTCN_RAWdescriptor_t QoSV_raw_;
extern const TTCN_Typedescriptor_t QoSV_descr_;
extern const XERdescriptor_t QoSV_deliverErroneusSDU_xer_;
extern const TTCN_OERdescriptor_t QoSV_deliverErroneusSDU_oer_;
extern const TTCN_Typedescriptor_t QoSV_deliverErroneusSDU_descr_;
extern UNIVERSAL_CHARSTRING QoSV_deliverErroneusSDU_default_coding;
extern const XERdescriptor_t QoSV_deliveryOrder_xer_;
extern const TTCN_OERdescriptor_t QoSV_deliveryOrder_oer_;
extern const TTCN_Typedescriptor_t QoSV_deliveryOrder_descr_;
extern UNIVERSAL_CHARSTRING QoSV_deliveryOrder_default_coding;
extern const XERdescriptor_t QoSV_trafficClass_xer_;
extern const TTCN_OERdescriptor_t QoSV_trafficClass_oer_;
extern const TTCN_Typedescriptor_t QoSV_trafficClass_descr_;
extern UNIVERSAL_CHARSTRING QoSV_trafficClass_default_coding;
extern const XERdescriptor_t QoSV_maxSDUSize_xer_;
extern const TTCN_OERdescriptor_t QoSV_maxSDUSize_oer_;
extern const TTCN_Typedescriptor_t QoSV_maxSDUSize_descr_;
extern UNIVERSAL_CHARSTRING QoSV_maxSDUSize_default_coding;
extern const XERdescriptor_t QoSV_maxBitrateUplink_xer_;
extern const TTCN_OERdescriptor_t QoSV_maxBitrateUplink_oer_;
extern const TTCN_Typedescriptor_t QoSV_maxBitrateUplink_descr_;
extern UNIVERSAL_CHARSTRING QoSV_maxBitrateUplink_default_coding;
extern const XERdescriptor_t QoSV_maxBitrateDownlink_xer_;
extern const TTCN_OERdescriptor_t QoSV_maxBitrateDownlink_oer_;
extern const TTCN_Typedescriptor_t QoSV_maxBitrateDownlink_descr_;
extern UNIVERSAL_CHARSTRING QoSV_maxBitrateDownlink_default_coding;
extern const XERdescriptor_t QoSV_sduErrorRatio_xer_;
extern const TTCN_OERdescriptor_t QoSV_sduErrorRatio_oer_;
extern const TTCN_Typedescriptor_t QoSV_sduErrorRatio_descr_;
extern UNIVERSAL_CHARSTRING QoSV_sduErrorRatio_default_coding;
extern const XERdescriptor_t QoSV_residualBER_xer_;
extern const TTCN_OERdescriptor_t QoSV_residualBER_oer_;
extern const TTCN_Typedescriptor_t QoSV_residualBER_descr_;
extern UNIVERSAL_CHARSTRING QoSV_residualBER_default_coding;
extern const XERdescriptor_t QoSV_trafficHandlingPriority_xer_;
extern const TTCN_OERdescriptor_t QoSV_trafficHandlingPriority_oer_;
extern const TTCN_Typedescriptor_t QoSV_trafficHandlingPriority_descr_;
extern UNIVERSAL_CHARSTRING QoSV_trafficHandlingPriority_default_coding;
extern const XERdescriptor_t QoSV_transferDelay_xer_;
extern const TTCN_OERdescriptor_t QoSV_transferDelay_oer_;
extern const TTCN_Typedescriptor_t QoSV_transferDelay_descr_;
extern UNIVERSAL_CHARSTRING QoSV_transferDelay_default_coding;
extern const XERdescriptor_t QoSV_guaranteedBitRateUplink_xer_;
extern const TTCN_OERdescriptor_t QoSV_guaranteedBitRateUplink_oer_;
extern const TTCN_Typedescriptor_t QoSV_guaranteedBitRateUplink_descr_;
extern UNIVERSAL_CHARSTRING QoSV_guaranteedBitRateUplink_default_coding;
extern const XERdescriptor_t QoSV_guaranteedBitRateDownlink_xer_;
extern const TTCN_OERdescriptor_t QoSV_guaranteedBitRateDownlink_oer_;
extern const TTCN_Typedescriptor_t QoSV_guaranteedBitRateDownlink_descr_;
extern UNIVERSAL_CHARSTRING QoSV_guaranteedBitRateDownlink_default_coding;
extern const XERdescriptor_t QoSV_sourceStatisticsDescriptor_xer_;
extern const TTCN_OERdescriptor_t QoSV_sourceStatisticsDescriptor_oer_;
extern const TTCN_Typedescriptor_t QoSV_sourceStatisticsDescriptor_descr_;
extern UNIVERSAL_CHARSTRING QoSV_sourceStatisticsDescriptor_default_coding;
extern const XERdescriptor_t QoSV_signallingIndication_xer_;
extern const TTCN_OERdescriptor_t QoSV_signallingIndication_oer_;
extern const TTCN_Typedescriptor_t QoSV_signallingIndication_descr_;
extern UNIVERSAL_CHARSTRING QoSV_signallingIndication_default_coding;
extern const XERdescriptor_t QoSV_spare4_xer_;
extern const TTCN_OERdescriptor_t QoSV_spare4_oer_;
extern const TTCN_Typedescriptor_t QoSV_spare4_descr_;
extern UNIVERSAL_CHARSTRING QoSV_spare4_default_coding;
extern const XERdescriptor_t QoSV_maxBitrateDownlinkExt_xer_;
extern const TTCN_OERdescriptor_t QoSV_maxBitrateDownlinkExt_oer_;
extern const TTCN_Typedescriptor_t QoSV_maxBitrateDownlinkExt_descr_;
extern UNIVERSAL_CHARSTRING QoSV_maxBitrateDownlinkExt_default_coding;
extern const XERdescriptor_t QoSV_guaranteedBitRateDownlinkExt_xer_;
extern const TTCN_OERdescriptor_t QoSV_guaranteedBitRateDownlinkExt_oer_;
extern const TTCN_Typedescriptor_t QoSV_guaranteedBitRateDownlinkExt_descr_;
extern UNIVERSAL_CHARSTRING QoSV_guaranteedBitRateDownlinkExt_default_coding;
extern const XERdescriptor_t QoSV_maxBitrateUplinkExt_xer_;
extern const TTCN_OERdescriptor_t QoSV_maxBitrateUplinkExt_oer_;
extern const TTCN_Typedescriptor_t QoSV_maxBitrateUplinkExt_descr_;
extern UNIVERSAL_CHARSTRING QoSV_maxBitrateUplinkExt_default_coding;
extern const XERdescriptor_t QoSV_guaranteedBitRateUplinkExt_xer_;
extern const TTCN_OERdescriptor_t QoSV_guaranteedBitRateUplinkExt_oer_;
extern const TTCN_Typedescriptor_t QoSV_guaranteedBitRateUplinkExt_descr_;
extern UNIVERSAL_CHARSTRING QoSV_guaranteedBitRateUplinkExt_default_coding;
extern const XERdescriptor_t QoSV_maxBitrateDownlinkExt2_xer_;
extern const TTCN_OERdescriptor_t QoSV_maxBitrateDownlinkExt2_oer_;
extern const TTCN_Typedescriptor_t QoSV_maxBitrateDownlinkExt2_descr_;
extern UNIVERSAL_CHARSTRING QoSV_maxBitrateDownlinkExt2_default_coding;
extern const XERdescriptor_t QoSV_guaranteedBitRateDownlinkExt2_xer_;
extern const TTCN_OERdescriptor_t QoSV_guaranteedBitRateDownlinkExt2_oer_;
extern const TTCN_Typedescriptor_t QoSV_guaranteedBitRateDownlinkExt2_descr_;
extern UNIVERSAL_CHARSTRING QoSV_guaranteedBitRateDownlinkExt2_default_coding;
extern const XERdescriptor_t QoSV_maxBitrateUplinkExt2_xer_;
extern const TTCN_OERdescriptor_t QoSV_maxBitrateUplinkExt2_oer_;
extern const TTCN_Typedescriptor_t QoSV_maxBitrateUplinkExt2_descr_;
extern UNIVERSAL_CHARSTRING QoSV_maxBitrateUplinkExt2_default_coding;
extern const XERdescriptor_t QoSV_guaranteedBitRateUplinkExt2_xer_;
extern const TTCN_OERdescriptor_t QoSV_guaranteedBitRateUplinkExt2_oer_;
extern const TTCN_Typedescriptor_t QoSV_guaranteedBitRateUplinkExt2_descr_;
extern UNIVERSAL_CHARSTRING QoSV_guaranteedBitRateUplinkExt2_default_coding;
extern UNIVERSAL_CHARSTRING QoSV_default_coding;
extern UNIVERSAL_CHARSTRING QoSLV_qoSV_default_coding;
extern const TTCN_RAWdescriptor_t QoSLV_raw_;
extern const TTCN_Typedescriptor_t QoSLV_descr_;
extern UNIVERSAL_CHARSTRING QoSLV_default_coding;
extern UNIVERSAL_CHARSTRING QoSTLV_qoSLV_default_coding;
extern const TTCN_RAWdescriptor_t QoSTLV_raw_;
extern const TTCN_Typedescriptor_t QoSTLV_descr_;
extern UNIVERSAL_CHARSTRING QoSTLV_default_coding;
extern const XERdescriptor_t ReAttemptIndicatorTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t ReAttemptIndicatorTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t ReAttemptIndicatorTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t ReAttemptIndicatorLV_lengthIndicator_raw_;
extern const XERdescriptor_t ReAttemptIndicatorLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t ReAttemptIndicatorLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t ReAttemptIndicatorLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorLV_lengthIndicator_default_coding;
extern const XERdescriptor_t ReAttemptIndicatorV_rATCValue_xer_;
extern const TTCN_OERdescriptor_t ReAttemptIndicatorV_rATCValue_oer_;
extern const TTCN_Typedescriptor_t ReAttemptIndicatorV_rATCValue_descr_;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorV_rATCValue_default_coding;
extern const XERdescriptor_t ReAttemptIndicatorV_ePLMNCValue_xer_;
extern const TTCN_OERdescriptor_t ReAttemptIndicatorV_ePLMNCValue_oer_;
extern const TTCN_Typedescriptor_t ReAttemptIndicatorV_ePLMNCValue_descr_;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorV_ePLMNCValue_default_coding;
extern const XERdescriptor_t ReAttemptIndicatorV_spare_xer_;
extern const TTCN_OERdescriptor_t ReAttemptIndicatorV_spare_oer_;
extern const TTCN_Typedescriptor_t ReAttemptIndicatorV_spare_descr_;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorV_spare_default_coding;
extern const TTCN_RAWdescriptor_t ReAttemptIndicatorV_raw_;
extern const TTCN_Typedescriptor_t ReAttemptIndicatorV_descr_;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorV_default_coding;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorLV_reAttemptIndicatorV_default_coding;
extern const TTCN_RAWdescriptor_t ReAttemptIndicatorLV_raw_;
extern const TTCN_Typedescriptor_t ReAttemptIndicatorLV_descr_;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorLV_default_coding;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorTLV_reAttemptIndicatorLV_default_coding;
extern const TTCN_RAWdescriptor_t ReAttemptIndicatorTLV_raw_;
extern const TTCN_Typedescriptor_t ReAttemptIndicatorTLV_descr_;
extern UNIVERSAL_CHARSTRING ReAttemptIndicatorTLV_default_coding;
extern const XERdescriptor_t SMCauseV_xer_;
extern const TTCN_OERdescriptor_t SMCauseV_oer_;
extern const TTCN_Typedescriptor_t SMCauseV_descr_;
extern UNIVERSAL_CHARSTRING SMCauseV_default_coding;
extern const XERdescriptor_t SMCause2TLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t SMCause2TLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t SMCause2TLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING SMCause2TLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t SMCause2LV_lengthIndicator_raw_;
extern const XERdescriptor_t SMCause2LV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t SMCause2LV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t SMCause2LV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING SMCause2LV_lengthIndicator_default_coding;
extern const XERdescriptor_t SMCause2LV_sMCause2V_xer_;
extern const TTCN_OERdescriptor_t SMCause2LV_sMCause2V_oer_;
extern const TTCN_Typedescriptor_t SMCause2LV_sMCause2V_descr_;
extern UNIVERSAL_CHARSTRING SMCause2LV_sMCause2V_default_coding;
extern const TTCN_RAWdescriptor_t SMCause2LV_raw_;
extern const TTCN_Typedescriptor_t SMCause2LV_descr_;
extern UNIVERSAL_CHARSTRING SMCause2LV_default_coding;
extern UNIVERSAL_CHARSTRING SMCause2TLV_sMCause2LV_default_coding;
extern const TTCN_RAWdescriptor_t SMCause2TLV_raw_;
extern const TTCN_Typedescriptor_t SMCause2TLV_descr_;
extern UNIVERSAL_CHARSTRING SMCause2TLV_default_coding;
extern const XERdescriptor_t LinkedTITLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t LinkedTITLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t LinkedTITLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING LinkedTITLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t LinkedTILV_lengthIndicator_raw_;
extern const XERdescriptor_t LinkedTILV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t LinkedTILV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t LinkedTILV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING LinkedTILV_lengthIndicator_default_coding;
extern const XERdescriptor_t LinkedTIV_spare_xer_;
extern const TTCN_OERdescriptor_t LinkedTIV_spare_oer_;
extern const TTCN_Typedescriptor_t LinkedTIV_spare_descr_;
extern UNIVERSAL_CHARSTRING LinkedTIV_spare_default_coding;
extern const XERdescriptor_t LinkedTIV_tio_xer_;
extern const TTCN_OERdescriptor_t LinkedTIV_tio_oer_;
extern const TTCN_Typedescriptor_t LinkedTIV_tio_descr_;
extern UNIVERSAL_CHARSTRING LinkedTIV_tio_default_coding;
extern const XERdescriptor_t LinkedTIV_tiFlag_xer_;
extern const TTCN_OERdescriptor_t LinkedTIV_tiFlag_oer_;
extern const TTCN_Typedescriptor_t LinkedTIV_tiFlag_descr_;
extern UNIVERSAL_CHARSTRING LinkedTIV_tiFlag_default_coding;
extern const TTCN_RAWdescriptor_t LinkedTIV_raw_;
extern const TTCN_Typedescriptor_t LinkedTIV_descr_;
extern const XERdescriptor_t TI__Extension_tI__Value_xer_;
extern const TTCN_OERdescriptor_t TI__Extension_tI__Value_oer_;
extern const TTCN_Typedescriptor_t TI__Extension_tI__Value_descr_;
extern UNIVERSAL_CHARSTRING TI__Extension_tI__Value_default_coding;
extern const XERdescriptor_t TI__Extension_tI__ExtBit_xer_;
extern const TTCN_OERdescriptor_t TI__Extension_tI__ExtBit_oer_;
extern const TTCN_Typedescriptor_t TI__Extension_tI__ExtBit_descr_;
extern UNIVERSAL_CHARSTRING TI__Extension_tI__ExtBit_default_coding;
extern const TTCN_RAWdescriptor_t TI__Extension_raw_;
extern const TTCN_Typedescriptor_t TI__Extension_descr_;
extern UNIVERSAL_CHARSTRING TI__Extension_default_coding;
extern const TTCN_RAWdescriptor_t LinkedTIV_tIExtension_raw_;
extern const TTCN_Typedescriptor_t LinkedTIV_tIExtension_descr_;
extern UNIVERSAL_CHARSTRING LinkedTIV_tIExtension_default_coding;
extern UNIVERSAL_CHARSTRING LinkedTIV_default_coding;
extern UNIVERSAL_CHARSTRING LinkedTILV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t LinkedTILV_raw_;
extern const TTCN_Typedescriptor_t LinkedTILV_descr_;
extern UNIVERSAL_CHARSTRING LinkedTILV_default_coding;
extern UNIVERSAL_CHARSTRING LinkedTITLV_linkedTILV_default_coding;
extern const TTCN_RAWdescriptor_t LinkedTITLV_raw_;
extern const TTCN_Typedescriptor_t LinkedTITLV_descr_;
extern UNIVERSAL_CHARSTRING LinkedTITLV_default_coding;
extern const XERdescriptor_t LLC__SAPITV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t LLC__SAPITV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t LLC__SAPITV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING LLC__SAPITV_elementIdentifier_default_coding;
extern const XERdescriptor_t LLC__SAPIV_valueField_xer_;
extern const TTCN_OERdescriptor_t LLC__SAPIV_valueField_oer_;
extern const TTCN_Typedescriptor_t LLC__SAPIV_valueField_descr_;
extern UNIVERSAL_CHARSTRING LLC__SAPIV_valueField_default_coding;
extern const XERdescriptor_t LLC__SAPIV_spare_xer_;
extern const TTCN_OERdescriptor_t LLC__SAPIV_spare_oer_;
extern const TTCN_Typedescriptor_t LLC__SAPIV_spare_descr_;
extern UNIVERSAL_CHARSTRING LLC__SAPIV_spare_default_coding;
extern const TTCN_RAWdescriptor_t LLC__SAPIV_raw_;
extern const TTCN_Typedescriptor_t LLC__SAPIV_descr_;
extern UNIVERSAL_CHARSTRING LLC__SAPIV_default_coding;
extern UNIVERSAL_CHARSTRING LLC__SAPITV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t LLC__SAPITV_raw_;
extern const TTCN_Typedescriptor_t LLC__SAPITV_descr_;
extern UNIVERSAL_CHARSTRING LLC__SAPITV_default_coding;
extern const XERdescriptor_t TearDownIndicatorV_tdi__flag_xer_;
extern const TTCN_OERdescriptor_t TearDownIndicatorV_tdi__flag_oer_;
extern const TTCN_Typedescriptor_t TearDownIndicatorV_tdi__flag_descr_;
extern UNIVERSAL_CHARSTRING TearDownIndicatorV_tdi__flag_default_coding;
extern const XERdescriptor_t TearDownIndicatorV_spare_xer_;
extern const TTCN_OERdescriptor_t TearDownIndicatorV_spare_oer_;
extern const TTCN_Typedescriptor_t TearDownIndicatorV_spare_descr_;
extern UNIVERSAL_CHARSTRING TearDownIndicatorV_spare_default_coding;
extern const TTCN_RAWdescriptor_t TearDownIndicatorV_raw_;
extern const TTCN_Typedescriptor_t TearDownIndicatorV_descr_;
extern UNIVERSAL_CHARSTRING TearDownIndicatorV_default_coding;
extern UNIVERSAL_CHARSTRING TearDownIndicatorTV_tearDownIndicatorV_default_coding;
extern const XERdescriptor_t TearDownIndicatorTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t TearDownIndicatorTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t TearDownIndicatorTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING TearDownIndicatorTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t TearDownIndicatorTV_raw_;
extern const TTCN_Typedescriptor_t TearDownIndicatorTV_descr_;
extern UNIVERSAL_CHARSTRING TearDownIndicatorTV_default_coding;
extern const XERdescriptor_t PacketFlowIDTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t PacketFlowIDTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t PacketFlowIDTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING PacketFlowIDTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t PacketFlowIDTLV_lengthIndicator_raw_;
extern const XERdescriptor_t PacketFlowIDTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t PacketFlowIDTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t PacketFlowIDTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING PacketFlowIDTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t PacketFlowIDV_valueField_xer_;
extern const TTCN_OERdescriptor_t PacketFlowIDV_valueField_oer_;
extern const TTCN_Typedescriptor_t PacketFlowIDV_valueField_descr_;
extern UNIVERSAL_CHARSTRING PacketFlowIDV_valueField_default_coding;
extern const XERdescriptor_t PacketFlowIDV_spare_xer_;
extern const TTCN_OERdescriptor_t PacketFlowIDV_spare_oer_;
extern const TTCN_Typedescriptor_t PacketFlowIDV_spare_descr_;
extern UNIVERSAL_CHARSTRING PacketFlowIDV_spare_default_coding;
extern const TTCN_RAWdescriptor_t PacketFlowIDV_raw_;
extern const TTCN_Typedescriptor_t PacketFlowIDV_descr_;
extern UNIVERSAL_CHARSTRING PacketFlowIDV_default_coding;
extern UNIVERSAL_CHARSTRING PacketFlowIDTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t PacketFlowIDTLV_raw_;
extern const TTCN_Typedescriptor_t PacketFlowIDTLV_descr_;
extern UNIVERSAL_CHARSTRING PacketFlowIDTLV_default_coding;
extern const XERdescriptor_t TrafficFlowTemplateTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateLV_lengthIndicator_raw_;
extern const XERdescriptor_t TrafficFlowTemplateLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateLV_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV_descr_;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_numberOfPacketFilters_raw_;
extern const XERdescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_numberOfPacketFilters_xer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_numberOfPacketFilters_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__CreateAddReplaceTFT_numberOfPacketFilters_default_coding;
extern const XERdescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_eBIT_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_eBIT_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_eBIT_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__CreateAddReplaceTFT_eBIT_default_coding;
extern const XERdescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_operationCodeTFT_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_operationCodeTFT_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_operationCodeTFT_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__CreateAddReplaceTFT_operationCodeTFT_default_coding;
extern const TTCN_RAWdescriptor_t PacketFilterList__CreateAddReplaceTFT_raw_;
extern const TTCN_Typedescriptor_t PacketFilterList__CreateAddReplaceTFT_descr_;
extern const XERdescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_packetFilterIdentifier_xer_;
extern const TTCN_OERdescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_packetFilterIdentifier_oer_;
extern const TTCN_Typedescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_packetFilterIdentifier_descr_;
extern UNIVERSAL_CHARSTRING PacketFilterIdentifier__CreateAddReplaceTFT_packetFilterIdentifier_default_coding;
extern const XERdescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_packetFilterDirection_xer_;
extern const TTCN_OERdescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_packetFilterDirection_oer_;
extern const TTCN_Typedescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_packetFilterDirection_descr_;
extern UNIVERSAL_CHARSTRING PacketFilterIdentifier__CreateAddReplaceTFT_packetFilterDirection_default_coding;
extern const XERdescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_spare_xer_;
extern const TTCN_OERdescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_spare_oer_;
extern const TTCN_Typedescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_spare_descr_;
extern UNIVERSAL_CHARSTRING PacketFilterIdentifier__CreateAddReplaceTFT_spare_default_coding;
extern const TTCN_RAWdescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_raw_;
extern const TTCN_Typedescriptor_t PacketFilterIdentifier__CreateAddReplaceTFT_descr_;
extern UNIVERSAL_CHARSTRING PacketFilterIdentifier__CreateAddReplaceTFT_default_coding;
extern UNIVERSAL_CHARSTRING PacketFilter_identifier_default_coding;
extern const XERdescriptor_t PacketFilter_evaluationPrecedence_xer_;
extern const TTCN_OERdescriptor_t PacketFilter_evaluationPrecedence_oer_;
extern const TTCN_Typedescriptor_t PacketFilter_evaluationPrecedence_descr_;
extern UNIVERSAL_CHARSTRING PacketFilter_evaluationPrecedence_default_coding;
extern const TTCN_RAWdescriptor_t PacketFilter_lengthIndicator_raw_;
extern const XERdescriptor_t PacketFilter_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t PacketFilter_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t PacketFilter_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING PacketFilter_lengthIndicator_default_coding;
extern const XERdescriptor_t PacketFilter_contents_xer_;
extern const TTCN_OERdescriptor_t PacketFilter_contents_oer_;
extern const TTCN_Typedescriptor_t PacketFilter_contents_descr_;
extern UNIVERSAL_CHARSTRING PacketFilter_contents_default_coding;
extern const TTCN_RAWdescriptor_t PacketFilter_raw_;
extern const TTCN_Typedescriptor_t PacketFilter_descr_;
extern UNIVERSAL_CHARSTRING PacketFilter_default_coding;
extern UNIVERSAL_CHARSTRING PacketFilterList__CreateAddReplaceTFT_0_default_coding;
extern UNIVERSAL_CHARSTRING PacketFilterList__CreateAddReplaceTFT_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__CreateAddReplaceTFT_packetFilterList__CreateAddReplaceTFT_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_descr_;
extern const TTCN_RAWdescriptor_t ParametersList_raw_;
extern const TTCN_Typedescriptor_t ParametersList_descr_;
extern const XERdescriptor_t Parameter_parameterIdentifier_xer_;
extern const TTCN_OERdescriptor_t Parameter_parameterIdentifier_oer_;
extern const TTCN_Typedescriptor_t Parameter_parameterIdentifier_descr_;
extern UNIVERSAL_CHARSTRING Parameter_parameterIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t Parameter_lengthIndicator_raw_;
extern const XERdescriptor_t Parameter_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t Parameter_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t Parameter_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING Parameter_lengthIndicator_default_coding;
extern const XERdescriptor_t Parameter_contents_xer_;
extern const TTCN_OERdescriptor_t Parameter_contents_oer_;
extern const TTCN_Typedescriptor_t Parameter_contents_descr_;
extern UNIVERSAL_CHARSTRING Parameter_contents_default_coding;
extern const TTCN_RAWdescriptor_t Parameter_raw_;
extern const TTCN_Typedescriptor_t Parameter_descr_;
extern UNIVERSAL_CHARSTRING Parameter_default_coding;
extern UNIVERSAL_CHARSTRING ParametersList_0_default_coding;
extern UNIVERSAL_CHARSTRING ParametersList_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_parametersList_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__CreateAddReplaceTFT_parametersList_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__CreateAddReplaceTFT_parametersList_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__CreateAddReplaceTFT_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV_trafficFlowTemplateV__CreateAddReplaceTFT_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV__DeletePacketFilter_numberOfPacketFilters_raw_;
extern const XERdescriptor_t TrafficFlowTemplateV__DeletePacketFilter_numberOfPacketFilters_xer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__DeletePacketFilter_numberOfPacketFilters_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__DeletePacketFilter_numberOfPacketFilters_default_coding;
extern const XERdescriptor_t TrafficFlowTemplateV__DeletePacketFilter_eBIT_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateV__DeletePacketFilter_eBIT_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__DeletePacketFilter_eBIT_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__DeletePacketFilter_eBIT_default_coding;
extern const XERdescriptor_t TrafficFlowTemplateV__DeletePacketFilter_operationCodeTFT_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateV__DeletePacketFilter_operationCodeTFT_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__DeletePacketFilter_operationCodeTFT_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__DeletePacketFilter_operationCodeTFT_default_coding;
extern const TTCN_RAWdescriptor_t PacketFilterList__DeletePacketFilter_raw_;
extern const TTCN_Typedescriptor_t PacketFilterList__DeletePacketFilter_descr_;
extern const XERdescriptor_t PacketFilterIdentifier_packetFilterIdentifier_xer_;
extern const TTCN_OERdescriptor_t PacketFilterIdentifier_packetFilterIdentifier_oer_;
extern const TTCN_Typedescriptor_t PacketFilterIdentifier_packetFilterIdentifier_descr_;
extern UNIVERSAL_CHARSTRING PacketFilterIdentifier_packetFilterIdentifier_default_coding;
extern const XERdescriptor_t PacketFilterIdentifier_spare_xer_;
extern const TTCN_OERdescriptor_t PacketFilterIdentifier_spare_oer_;
extern const TTCN_Typedescriptor_t PacketFilterIdentifier_spare_descr_;
extern UNIVERSAL_CHARSTRING PacketFilterIdentifier_spare_default_coding;
extern const TTCN_RAWdescriptor_t PacketFilterIdentifier_raw_;
extern const TTCN_Typedescriptor_t PacketFilterIdentifier_descr_;
extern UNIVERSAL_CHARSTRING PacketFilterIdentifier_default_coding;
extern UNIVERSAL_CHARSTRING PacketFilterList__DeletePacketFilter_0_default_coding;
extern UNIVERSAL_CHARSTRING PacketFilterList__DeletePacketFilter_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__DeletePacketFilter_packetFilterList__DeletePacketFilter_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV__DeletePacketFilter_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__DeletePacketFilter_descr_;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV__DeletePacketFilter_parametersList_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__DeletePacketFilter_parametersList_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__DeletePacketFilter_parametersList_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__DeletePacketFilter_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV_trafficFlowTemplateV__DeletePacketFilter_default_coding;
extern const XERdescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_numberOfPacketFilters_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_numberOfPacketFilters_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_numberOfPacketFilters_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_numberOfPacketFilters_default_coding;
extern const XERdescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_eBIT_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_eBIT_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_eBIT_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_eBIT_default_coding;
extern const XERdescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_operationCodeTFT_xer_;
extern const TTCN_OERdescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_operationCodeTFT_oer_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_operationCodeTFT_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_operationCodeTFT_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_descr_;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_parametersList_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_parametersList_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_parametersList_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV_trafficFlowTemplateV__Delete__Existing__TFT__or__No__TFT__Operation_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateV_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateLV_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateLV_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateLV_default_coding;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateTLV_trafficFlowTemplateLV_default_coding;
extern const TTCN_RAWdescriptor_t TrafficFlowTemplateTLV_raw_;
extern const TTCN_Typedescriptor_t TrafficFlowTemplateTLV_descr_;
extern UNIVERSAL_CHARSTRING TrafficFlowTemplateTLV_default_coding;
extern const TTCN_RAWdescriptor_t TemporaryMobileGroupIDLV_lengthIndicator_raw_;
extern const XERdescriptor_t TemporaryMobileGroupIDLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t TemporaryMobileGroupIDLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_lengthIndicator_default_coding;
extern const XERdescriptor_t TemporaryMobileGroupIDLV_mBMSServiceID_xer_;
extern const TTCN_OERdescriptor_t TemporaryMobileGroupIDLV_mBMSServiceID_oer_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_mBMSServiceID_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_mBMSServiceID_default_coding;
extern const XERdescriptor_t TemporaryMobileGroupIDLV_mccDigit1_xer_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_mccDigit1_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_mccDigit1_default_coding;
extern const XERdescriptor_t TemporaryMobileGroupIDLV_mccDigit2_xer_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_mccDigit2_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_mccDigit2_default_coding;
extern const XERdescriptor_t TemporaryMobileGroupIDLV_mccDigit3_xer_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_mccDigit3_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_mccDigit3_default_coding;
extern const XERdescriptor_t TemporaryMobileGroupIDLV_mncDigit3_xer_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_mncDigit3_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_mncDigit3_default_coding;
extern const XERdescriptor_t TemporaryMobileGroupIDLV_mncDigit1_xer_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_mncDigit1_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_mncDigit1_default_coding;
extern const XERdescriptor_t TemporaryMobileGroupIDLV_mncDigit2_xer_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_mncDigit2_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_mncDigit2_default_coding;
extern const TTCN_RAWdescriptor_t TemporaryMobileGroupIDLV_raw_;
extern const TTCN_Typedescriptor_t TemporaryMobileGroupIDLV_descr_;
extern UNIVERSAL_CHARSTRING TemporaryMobileGroupIDLV_default_coding;
extern const TTCN_RAWdescriptor_t MBMSBearerCapabilitiesLV_lengthIndicator_raw_;
extern const XERdescriptor_t MBMSBearerCapabilitiesLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t MBMSBearerCapabilitiesLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t MBMSBearerCapabilitiesLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING MBMSBearerCapabilitiesLV_lengthIndicator_default_coding;
extern const XERdescriptor_t MBMSBearerCapabilitiesLV_maxBitrateDownlink_xer_;
extern const TTCN_OERdescriptor_t MBMSBearerCapabilitiesLV_maxBitrateDownlink_oer_;
extern const TTCN_Typedescriptor_t MBMSBearerCapabilitiesLV_maxBitrateDownlink_descr_;
extern UNIVERSAL_CHARSTRING MBMSBearerCapabilitiesLV_maxBitrateDownlink_default_coding;
extern const TTCN_RAWdescriptor_t MBMSBearerCapabilitiesLV_raw_;
extern const TTCN_Typedescriptor_t MBMSBearerCapabilitiesLV_descr_;
extern const XERdescriptor_t MBMSBearerCapabilitiesLV_maxBitrateDownlinkExtended_xer_;
extern const TTCN_OERdescriptor_t MBMSBearerCapabilitiesLV_maxBitrateDownlinkExtended_oer_;
extern const TTCN_Typedescriptor_t MBMSBearerCapabilitiesLV_maxBitrateDownlinkExtended_descr_;
extern UNIVERSAL_CHARSTRING MBMSBearerCapabilitiesLV_maxBitrateDownlinkExtended_default_coding;
extern UNIVERSAL_CHARSTRING MBMSBearerCapabilitiesLV_default_coding;
extern const XERdescriptor_t MBMSProtocolConfigOptionsTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t MBMSProtocolConfigOptionsTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t MBMSProtocolConfigOptionsTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING MBMSProtocolConfigOptionsTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t MBMSProtocolConfigOptionsTLV_lengthIndicator_raw_;
extern const XERdescriptor_t MBMSProtocolConfigOptionsTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t MBMSProtocolConfigOptionsTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t MBMSProtocolConfigOptionsTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING MBMSProtocolConfigOptionsTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t MBMSProtocolConfigOptionsTLV_spare_xer_;
extern const TTCN_OERdescriptor_t MBMSProtocolConfigOptionsTLV_spare_oer_;
extern const TTCN_Typedescriptor_t MBMSProtocolConfigOptionsTLV_spare_descr_;
extern UNIVERSAL_CHARSTRING MBMSProtocolConfigOptionsTLV_spare_default_coding;
extern const XERdescriptor_t MBMSProtocolConfigOptionsTLV_valueField_xer_;
extern const TTCN_OERdescriptor_t MBMSProtocolConfigOptionsTLV_valueField_oer_;
extern const TTCN_Typedescriptor_t MBMSProtocolConfigOptionsTLV_valueField_descr_;
extern UNIVERSAL_CHARSTRING MBMSProtocolConfigOptionsTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t MBMSProtocolConfigOptionsTLV_raw_;
extern const TTCN_Typedescriptor_t MBMSProtocolConfigOptionsTLV_descr_;
extern UNIVERSAL_CHARSTRING MBMSProtocolConfigOptionsTLV_default_coding;
extern const XERdescriptor_t EnhancedNetworkSeviveAccessPointIDV_enhancedNetworkSeviveAccessPointIDValue_xer_;
extern const TTCN_OERdescriptor_t EnhancedNetworkSeviveAccessPointIDV_enhancedNetworkSeviveAccessPointIDValue_oer_;
extern const TTCN_Typedescriptor_t EnhancedNetworkSeviveAccessPointIDV_enhancedNetworkSeviveAccessPointIDValue_descr_;
extern UNIVERSAL_CHARSTRING EnhancedNetworkSeviveAccessPointIDV_enhancedNetworkSeviveAccessPointIDValue_default_coding;
extern const TTCN_RAWdescriptor_t EnhancedNetworkSeviveAccessPointIDV_raw_;
extern const TTCN_Typedescriptor_t EnhancedNetworkSeviveAccessPointIDV_descr_;
extern UNIVERSAL_CHARSTRING EnhancedNetworkSeviveAccessPointIDV_default_coding;
extern const XERdescriptor_t RequestTypeV_xer_;
extern const TTCN_OERdescriptor_t RequestTypeV_oer_;
extern const TTCN_Typedescriptor_t RequestTypeV_descr_;
extern UNIVERSAL_CHARSTRING RequestTypeV_default_coding;
extern const XERdescriptor_t RequestTypeTV_requestTypeV_xer_;
extern const TTCN_OERdescriptor_t RequestTypeTV_requestTypeV_oer_;
extern const TTCN_Typedescriptor_t RequestTypeTV_requestTypeV_descr_;
extern UNIVERSAL_CHARSTRING RequestTypeTV_requestTypeV_default_coding;
extern const XERdescriptor_t RequestTypeTV_spare_xer_;
extern const TTCN_OERdescriptor_t RequestTypeTV_spare_oer_;
extern const TTCN_Typedescriptor_t RequestTypeTV_spare_descr_;
extern UNIVERSAL_CHARSTRING RequestTypeTV_spare_default_coding;
extern const XERdescriptor_t RequestTypeTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t RequestTypeTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t RequestTypeTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING RequestTypeTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t RequestTypeTV_raw_;
extern const TTCN_Typedescriptor_t RequestTypeTV_descr_;
extern UNIVERSAL_CHARSTRING RequestTypeTV_default_coding;
extern const TTCN_RAWdescriptor_t NotificationIndicatorLV_lengthIndicator_raw_;
extern const XERdescriptor_t NotificationIndicatorLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t NotificationIndicatorLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t NotificationIndicatorLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NotificationIndicatorLV_lengthIndicator_default_coding;
extern const XERdescriptor_t NotificationIndicatorLV_valueField_xer_;
extern const TTCN_OERdescriptor_t NotificationIndicatorLV_valueField_oer_;
extern const TTCN_Typedescriptor_t NotificationIndicatorLV_valueField_descr_;
extern UNIVERSAL_CHARSTRING NotificationIndicatorLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t NotificationIndicatorLV_raw_;
extern const TTCN_Typedescriptor_t NotificationIndicatorLV_descr_;
extern UNIVERSAL_CHARSTRING NotificationIndicatorLV_default_coding;
extern const XERdescriptor_t ConnectivityTypeTV_connectivityTypeValue_xer_;
extern const TTCN_OERdescriptor_t ConnectivityTypeTV_connectivityTypeValue_oer_;
extern const TTCN_Typedescriptor_t ConnectivityTypeTV_connectivityTypeValue_descr_;
extern UNIVERSAL_CHARSTRING ConnectivityTypeTV_connectivityTypeValue_default_coding;
extern const XERdescriptor_t ConnectivityTypeTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t ConnectivityTypeTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t ConnectivityTypeTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING ConnectivityTypeTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t ConnectivityTypeTV_raw_;
extern const TTCN_Typedescriptor_t ConnectivityTypeTV_descr_;
extern UNIVERSAL_CHARSTRING ConnectivityTypeTV_default_coding;
extern const XERdescriptor_t WLANOffloadAcceptabilityTV_eUTRANOffloadAcceptabilityValue_xer_;
extern const TTCN_OERdescriptor_t WLANOffloadAcceptabilityTV_eUTRANOffloadAcceptabilityValue_oer_;
extern const TTCN_Typedescriptor_t WLANOffloadAcceptabilityTV_eUTRANOffloadAcceptabilityValue_descr_;
extern UNIVERSAL_CHARSTRING WLANOffloadAcceptabilityTV_eUTRANOffloadAcceptabilityValue_default_coding;
extern const XERdescriptor_t WLANOffloadAcceptabilityTV_uTRANOffloadAcceptabilityValue_xer_;
extern const TTCN_OERdescriptor_t WLANOffloadAcceptabilityTV_uTRANOffloadAcceptabilityValue_oer_;
extern const TTCN_Typedescriptor_t WLANOffloadAcceptabilityTV_uTRANOffloadAcceptabilityValue_descr_;
extern UNIVERSAL_CHARSTRING WLANOffloadAcceptabilityTV_uTRANOffloadAcceptabilityValue_default_coding;
extern const XERdescriptor_t WLANOffloadAcceptabilityTV_spare_xer_;
extern const TTCN_OERdescriptor_t WLANOffloadAcceptabilityTV_spare_oer_;
extern const TTCN_Typedescriptor_t WLANOffloadAcceptabilityTV_spare_descr_;
extern UNIVERSAL_CHARSTRING WLANOffloadAcceptabilityTV_spare_default_coding;
extern const XERdescriptor_t WLANOffloadAcceptabilityTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t WLANOffloadAcceptabilityTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t WLANOffloadAcceptabilityTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING WLANOffloadAcceptabilityTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t WLANOffloadAcceptabilityTV_raw_;
extern const TTCN_Typedescriptor_t WLANOffloadAcceptabilityTV_descr_;
extern UNIVERSAL_CHARSTRING WLANOffloadAcceptabilityTV_default_coding;
extern const XERdescriptor_t NBIFOM__ContainerTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__ContainerTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__ContainerTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ContainerTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__ContainerTLV_lengthIndicator_raw_;
extern const XERdescriptor_t NBIFOM__ContainerTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__ContainerTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__ContainerTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ContainerTLV_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__ParameterList_raw_;
extern const TTCN_Typedescriptor_t NBIFOM__ParameterList_descr_;
extern const XERdescriptor_t NBIFOM__Parameter_parameterIdentifier_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__Parameter_parameterIdentifier_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__Parameter_parameterIdentifier_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__Parameter_parameterIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__Parameter_lengthIndicator_raw_;
extern const XERdescriptor_t NBIFOM__Parameter_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__Parameter_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__Parameter_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__Parameter_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__ParameterContents_raw_;
extern const TTCN_Typedescriptor_t NBIFOM__ParameterContents_descr_;
extern const XERdescriptor_t NBIFOM__ParameterContents_nBIFOM__Mode_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__ParameterContents_nBIFOM__Mode_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__ParameterContents_nBIFOM__Mode_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_nBIFOM__Mode_default_coding;
extern const XERdescriptor_t NBIFOM__ParameterContents_nBIFOM__DefaultAccess_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__ParameterContents_nBIFOM__DefaultAccess_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__ParameterContents_nBIFOM__DefaultAccess_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_nBIFOM__DefaultAccess_default_coding;
extern const XERdescriptor_t NBIFOM__ParameterContents_nBIFOM__Status_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__ParameterContents_nBIFOM__Status_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__ParameterContents_nBIFOM__Status_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_nBIFOM__Status_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__RoutingRules_raw_;
extern const TTCN_Typedescriptor_t NBIFOM__RoutingRules_descr_;
extern const TTCN_RAWdescriptor_t NBIFOM__RoutingRule_lengthIndicator_raw_;
extern const XERdescriptor_t NBIFOM__RoutingRule_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__RoutingRule_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__RoutingRule_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRule_lengthIndicator_default_coding;
extern const XERdescriptor_t NBIFOM__RoutingRule_routingRuleIdentifier_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__RoutingRule_routingRuleIdentifier_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__RoutingRule_routingRuleIdentifier_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRule_routingRuleIdentifier_default_coding;
extern const XERdescriptor_t NBIFOM__RoutingRule_operationCode_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__RoutingRule_operationCode_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__RoutingRule_operationCode_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRule_operationCode_default_coding;
extern const XERdescriptor_t NBIFOM__RoutingRule_spare_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__RoutingRule_spare_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__RoutingRule_spare_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRule_spare_default_coding;
extern const XERdescriptor_t NBIFOM__RoutingRule_routingAccess_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__RoutingRule_routingAccess_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__RoutingRule_routingAccess_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRule_routingAccess_default_coding;
extern const XERdescriptor_t NBIFOM__RoutingRule_routingRulePrioroty_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__RoutingRule_routingRulePrioroty_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__RoutingRule_routingRulePrioroty_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRule_routingRulePrioroty_default_coding;
extern const XERdescriptor_t RoutingFilter_flagA_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagA_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagA_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagA_default_coding;
extern const XERdescriptor_t RoutingFilter_flagB_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagB_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagB_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagB_default_coding;
extern const XERdescriptor_t RoutingFilter_flagC_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagC_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagC_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagC_default_coding;
extern const XERdescriptor_t RoutingFilter_flagD_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagD_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagD_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagD_default_coding;
extern const XERdescriptor_t RoutingFilter_flagE_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagE_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagE_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagE_default_coding;
extern const XERdescriptor_t RoutingFilter_flagF_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagF_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagF_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagF_default_coding;
extern const XERdescriptor_t RoutingFilter_flagG_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagG_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagG_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagG_default_coding;
extern const XERdescriptor_t RoutingFilter_flagH_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagH_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagH_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagH_default_coding;
extern const XERdescriptor_t RoutingFilter_flagI_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagI_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagI_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagI_default_coding;
extern const XERdescriptor_t RoutingFilter_flagJ_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagJ_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagJ_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagJ_default_coding;
extern const XERdescriptor_t RoutingFilter_flagK_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagK_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagK_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagK_default_coding;
extern const XERdescriptor_t RoutingFilter_flagL_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagL_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagL_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagL_default_coding;
extern const XERdescriptor_t RoutingFilter_flagM_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagM_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagM_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagM_default_coding;
extern const XERdescriptor_t RoutingFilter_flagN_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flagN_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagN_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagN_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_flagsZ_raw_;
extern const XERdescriptor_t RoutingFilter_flagsZ_xer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flagsZ_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flagsZ_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_raw_;
extern const TTCN_Typedescriptor_t RoutingFilter_descr_;
extern const TTCN_RAWdescriptor_t RoutingFilter_sourceIPv4Address_raw_;
extern const XERdescriptor_t RoutingFilter_sourceIPv4Address_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_sourceIPv4Address_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_sourceIPv4Address_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_sourceIPv4Address_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_destinationIPv4Address_raw_;
extern const XERdescriptor_t RoutingFilter_destinationIPv4Address_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_destinationIPv4Address_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_destinationIPv4Address_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_destinationIPv4Address_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_sourceIPv6Address_raw_;
extern const XERdescriptor_t RoutingFilter_sourceIPv6Address_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_sourceIPv6Address_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_sourceIPv6Address_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_sourceIPv6Address_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_destinationIPv6Address_raw_;
extern const XERdescriptor_t RoutingFilter_destinationIPv6Address_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_destinationIPv6Address_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_destinationIPv6Address_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_destinationIPv6Address_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_sourceAddressPrefixLength_raw_;
extern const XERdescriptor_t RoutingFilter_sourceAddressPrefixLength_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_sourceAddressPrefixLength_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_sourceAddressPrefixLength_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_sourceAddressPrefixLength_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_destinationAddressPrefixLength_raw_;
extern const XERdescriptor_t RoutingFilter_destinationAddressPrefixLength_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_destinationAddressPrefixLength_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_destinationAddressPrefixLength_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_destinationAddressPrefixLength_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_iPSecSecurityParameterIndex_raw_;
extern const XERdescriptor_t RoutingFilter_iPSecSecurityParameterIndex_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_iPSecSecurityParameterIndex_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_iPSecSecurityParameterIndex_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_iPSecSecurityParameterIndex_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_protocolTypeNextHeader_raw_;
extern const XERdescriptor_t RoutingFilter_protocolTypeNextHeader_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_protocolTypeNextHeader_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_protocolTypeNextHeader_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_protocolTypeNextHeader_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_startSourcePortRange_raw_;
extern const XERdescriptor_t RoutingFilter_startSourcePortRange_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_startSourcePortRange_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_startSourcePortRange_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_startSourcePortRange_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_endSourcePortRange_raw_;
extern const XERdescriptor_t RoutingFilter_endSourcePortRange_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_endSourcePortRange_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_endSourcePortRange_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_endSourcePortRange_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_startDestinationPortRange_raw_;
extern const XERdescriptor_t RoutingFilter_startDestinationPortRange_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_startDestinationPortRange_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_startDestinationPortRange_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_startDestinationPortRange_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_endDestinationPortRange_raw_;
extern const XERdescriptor_t RoutingFilter_endDestinationPortRange_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_endDestinationPortRange_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_endDestinationPortRange_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_endDestinationPortRange_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_typeOfService_raw_;
extern const XERdescriptor_t RoutingFilter_typeOfService_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_typeOfService_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_typeOfService_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_typeOfService_default_coding;
extern const TTCN_RAWdescriptor_t RoutingFilter_flowLabel_raw_;
extern const XERdescriptor_t RoutingFilter_flowLabel_xer_;
extern const TTCN_OERdescriptor_t RoutingFilter_flowLabel_oer_;
extern const TTCN_Typedescriptor_t RoutingFilter_flowLabel_descr_;
extern UNIVERSAL_CHARSTRING RoutingFilter_flowLabel_default_coding;
extern UNIVERSAL_CHARSTRING RoutingFilter_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRule_routingFilter_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__RoutingRule_raw_;
extern const TTCN_Typedescriptor_t NBIFOM__RoutingRule_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRule_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRules_0_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__RoutingRules_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_nBIFOM__RoutingRules_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_nBIFOM__IPFlowMapping_default_coding;
extern const XERdescriptor_t NBIFOM__ParameterContents_nBIFOM__RANRulesHandling_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__ParameterContents_nBIFOM__RANRulesHandling_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__ParameterContents_nBIFOM__RANRulesHandling_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_nBIFOM__RANRulesHandling_default_coding;
extern const XERdescriptor_t NBIFOM__ParameterContents_nBIFOM__RANRulesStatus_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__ParameterContents_nBIFOM__RANRulesStatus_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__ParameterContents_nBIFOM__RANRulesStatus_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_nBIFOM__RANRulesStatus_default_coding;
extern const XERdescriptor_t NBIFOM__AccessUsabilityIndication_threeGPPAccessUsableValue_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__AccessUsabilityIndication_threeGPPAccessUsableValue_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__AccessUsabilityIndication_threeGPPAccessUsableValue_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__AccessUsabilityIndication_threeGPPAccessUsableValue_default_coding;
extern const XERdescriptor_t NBIFOM__AccessUsabilityIndication_wLANAccessUsableValue_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__AccessUsabilityIndication_wLANAccessUsableValue_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__AccessUsabilityIndication_wLANAccessUsableValue_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__AccessUsabilityIndication_wLANAccessUsableValue_default_coding;
extern const XERdescriptor_t NBIFOM__AccessUsabilityIndication_spare_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__AccessUsabilityIndication_spare_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__AccessUsabilityIndication_spare_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__AccessUsabilityIndication_spare_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__AccessUsabilityIndication_raw_;
extern const TTCN_Typedescriptor_t NBIFOM__AccessUsabilityIndication_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__AccessUsabilityIndication_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_nBIFOM__AccessUsabilityIndication_default_coding;
extern const XERdescriptor_t NBIFOM__ParameterContents_unknownParameter_xer_;
extern const TTCN_OERdescriptor_t NBIFOM__ParameterContents_unknownParameter_oer_;
extern const TTCN_Typedescriptor_t NBIFOM__ParameterContents_unknownParameter_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_unknownParameter_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterContents_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__Parameter_parameterContents_raw_;
extern const TTCN_Typedescriptor_t NBIFOM__Parameter_parameterContents_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__Parameter_parameterContents_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__Parameter_raw_;
extern const TTCN_Typedescriptor_t NBIFOM__Parameter_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__Parameter_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterList_0_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__ParameterList_default_coding;
extern UNIVERSAL_CHARSTRING NBIFOM__ContainerTLV_contents_default_coding;
extern const TTCN_RAWdescriptor_t NBIFOM__ContainerTLV_raw_;
extern const TTCN_Typedescriptor_t NBIFOM__ContainerTLV_descr_;
extern UNIVERSAL_CHARSTRING NBIFOM__ContainerTLV_default_coding;
extern const XERdescriptor_t PDPContextStatusTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t PDPContextStatusTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t PDPContextStatusTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING PDPContextStatusTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t PDPContextStatusTLV_lengthIndicator_raw_;
extern const XERdescriptor_t PDPContextStatusTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t PDPContextStatusTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t PDPContextStatusTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING PDPContextStatusTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t PDPContextStatusTLV_valueField_xer_;
extern const TTCN_OERdescriptor_t PDPContextStatusTLV_valueField_oer_;
extern const TTCN_Typedescriptor_t PDPContextStatusTLV_valueField_descr_;
extern UNIVERSAL_CHARSTRING PDPContextStatusTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t PDPContextStatusTLV_raw_;
extern const TTCN_Typedescriptor_t PDPContextStatusTLV_descr_;
extern UNIVERSAL_CHARSTRING PDPContextStatusTLV_default_coding;
extern const XERdescriptor_t RadioPriorityV_priorityLevelValue_xer_;
extern const TTCN_OERdescriptor_t RadioPriorityV_priorityLevelValue_oer_;
extern const TTCN_Typedescriptor_t RadioPriorityV_priorityLevelValue_descr_;
extern UNIVERSAL_CHARSTRING RadioPriorityV_priorityLevelValue_default_coding;
extern const XERdescriptor_t RadioPriorityV_spare_xer_;
extern const TTCN_OERdescriptor_t RadioPriorityV_spare_oer_;
extern const TTCN_Typedescriptor_t RadioPriorityV_spare_descr_;
extern UNIVERSAL_CHARSTRING RadioPriorityV_spare_default_coding;
extern const TTCN_RAWdescriptor_t RadioPriorityV_raw_;
extern const TTCN_Typedescriptor_t RadioPriorityV_descr_;
extern UNIVERSAL_CHARSTRING RadioPriorityV_default_coding;
extern UNIVERSAL_CHARSTRING RadioPriorityTV_valueField_default_coding;
extern const XERdescriptor_t RadioPriorityTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t RadioPriorityTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t RadioPriorityTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING RadioPriorityTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t RadioPriorityTV_raw_;
extern const TTCN_Typedescriptor_t RadioPriorityTV_descr_;
extern UNIVERSAL_CHARSTRING RadioPriorityTV_default_coding;
extern const XERdescriptor_t GPRSTimerTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t GPRSTimerTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t GPRSTimerTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING GPRSTimerTV_elementIdentifier_default_coding;
extern const XERdescriptor_t GPRSTimerV_timerValue_xer_;
extern const TTCN_OERdescriptor_t GPRSTimerV_timerValue_oer_;
extern const TTCN_Typedescriptor_t GPRSTimerV_timerValue_descr_;
extern UNIVERSAL_CHARSTRING GPRSTimerV_timerValue_default_coding;
extern const XERdescriptor_t GPRSTimerV_unit_xer_;
extern const TTCN_OERdescriptor_t GPRSTimerV_unit_oer_;
extern const TTCN_Typedescriptor_t GPRSTimerV_unit_descr_;
extern UNIVERSAL_CHARSTRING GPRSTimerV_unit_default_coding;
extern const TTCN_RAWdescriptor_t GPRSTimerV_raw_;
extern const TTCN_Typedescriptor_t GPRSTimerV_descr_;
extern UNIVERSAL_CHARSTRING GPRSTimerV_default_coding;
extern UNIVERSAL_CHARSTRING GPRSTimerTV_gprsTimerV_default_coding;
extern const TTCN_RAWdescriptor_t GPRSTimerTV_raw_;
extern const TTCN_Typedescriptor_t GPRSTimerTV_descr_;
extern UNIVERSAL_CHARSTRING GPRSTimerTV_default_coding;
extern const XERdescriptor_t GPRSTimer2TLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t GPRSTimer2TLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t GPRSTimer2TLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING GPRSTimer2TLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t GPRSTimer2TLV_lengthIndicator_raw_;
extern const XERdescriptor_t GPRSTimer2TLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t GPRSTimer2TLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t GPRSTimer2TLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING GPRSTimer2TLV_lengthIndicator_default_coding;
extern UNIVERSAL_CHARSTRING GPRSTimer2TLV_gprsTimer2V_default_coding;
extern const TTCN_RAWdescriptor_t GPRSTimer2TLV_raw_;
extern const TTCN_Typedescriptor_t GPRSTimer2TLV_descr_;
extern UNIVERSAL_CHARSTRING GPRSTimer2TLV_default_coding;
extern const XERdescriptor_t RadioPriority2V_priorityLevelValue_xer_;
extern const TTCN_OERdescriptor_t RadioPriority2V_priorityLevelValue_oer_;
extern const TTCN_Typedescriptor_t RadioPriority2V_priorityLevelValue_descr_;
extern UNIVERSAL_CHARSTRING RadioPriority2V_priorityLevelValue_default_coding;
extern const XERdescriptor_t RadioPriority2V_spare_xer_;
extern const TTCN_OERdescriptor_t RadioPriority2V_spare_oer_;
extern const TTCN_Typedescriptor_t RadioPriority2V_spare_descr_;
extern UNIVERSAL_CHARSTRING RadioPriority2V_spare_default_coding;
extern const TTCN_RAWdescriptor_t RadioPriority2V_raw_;
extern const TTCN_Typedescriptor_t RadioPriority2V_descr_;
extern UNIVERSAL_CHARSTRING RadioPriority2V_default_coding;
extern UNIVERSAL_CHARSTRING RadioPriority2TV_valueField_default_coding;
extern const XERdescriptor_t RadioPriority2TV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t RadioPriority2TV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t RadioPriority2TV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING RadioPriority2TV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t RadioPriority2TV_raw_;
extern const TTCN_Typedescriptor_t RadioPriority2TV_descr_;
extern UNIVERSAL_CHARSTRING RadioPriority2TV_default_coding;
extern const XERdescriptor_t MBMS__ContextStatusTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t MBMS__ContextStatusTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t MBMS__ContextStatusTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING MBMS__ContextStatusTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t MBMS__ContextStatusTLV_lengthIndicator_raw_;
extern const XERdescriptor_t MBMS__ContextStatusTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t MBMS__ContextStatusTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t MBMS__ContextStatusTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING MBMS__ContextStatusTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t MBMS__ContextStatusTLV_mBMSContextStatusInformation_xer_;
extern const TTCN_OERdescriptor_t MBMS__ContextStatusTLV_mBMSContextStatusInformation_oer_;
extern const TTCN_Typedescriptor_t MBMS__ContextStatusTLV_mBMSContextStatusInformation_descr_;
extern UNIVERSAL_CHARSTRING MBMS__ContextStatusTLV_mBMSContextStatusInformation_default_coding;
extern const TTCN_RAWdescriptor_t MBMS__ContextStatusTLV_raw_;
extern const TTCN_Typedescriptor_t MBMS__ContextStatusTLV_descr_;
extern UNIVERSAL_CHARSTRING MBMS__ContextStatusTLV_default_coding;
extern const XERdescriptor_t UplinkDataStatusTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t UplinkDataStatusTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t UplinkDataStatusTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING UplinkDataStatusTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t UplinkDataStatusTLV_lengthIndicator_raw_;
extern const XERdescriptor_t UplinkDataStatusTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t UplinkDataStatusTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t UplinkDataStatusTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING UplinkDataStatusTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t UplinkDataStatusV_spare_xer_;
extern const TTCN_OERdescriptor_t UplinkDataStatusV_spare_oer_;
extern const TTCN_Typedescriptor_t UplinkDataStatusV_spare_descr_;
extern UNIVERSAL_CHARSTRING UplinkDataStatusV_spare_default_coding;
extern const XERdescriptor_t UplinkDataStatusV_nSAPI__5__to__7_xer_;
extern const TTCN_OERdescriptor_t UplinkDataStatusV_nSAPI__5__to__7_oer_;
extern const TTCN_Typedescriptor_t UplinkDataStatusV_nSAPI__5__to__7_descr_;
extern UNIVERSAL_CHARSTRING UplinkDataStatusV_nSAPI__5__to__7_default_coding;
extern const XERdescriptor_t UplinkDataStatusV_nSAPI__8__to__15_xer_;
extern const TTCN_OERdescriptor_t UplinkDataStatusV_nSAPI__8__to__15_oer_;
extern const TTCN_Typedescriptor_t UplinkDataStatusV_nSAPI__8__to__15_descr_;
extern UNIVERSAL_CHARSTRING UplinkDataStatusV_nSAPI__8__to__15_default_coding;
extern const TTCN_RAWdescriptor_t UplinkDataStatusV_raw_;
extern const TTCN_Typedescriptor_t UplinkDataStatusV_descr_;
extern UNIVERSAL_CHARSTRING UplinkDataStatusV_default_coding;
extern UNIVERSAL_CHARSTRING UplinkDataStatusTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t UplinkDataStatusTLV_raw_;
extern const TTCN_Typedescriptor_t UplinkDataStatusTLV_descr_;
extern UNIVERSAL_CHARSTRING UplinkDataStatusTLV_default_coding;
extern const XERdescriptor_t PDU__GMM__AttachRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AttachRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AttachRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_msNetworkCapability_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_attachType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_gprsCKSN_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_drxParam_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_mobileIdentity_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_oldRoutingAreaID_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_msRACap_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__AttachRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__AttachRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_ptmsiSignature_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_reqGPRStimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_tmsiStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_pC__LCSCapability_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_mobileStationClassmark2_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_mobileStationClassmark3_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_supportedCodecs_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_uENetworkCapability_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_additionalMobileIdentity_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_routingAreaIdentification2_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_voiceDomainandUEsUsageSetting_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_p__TMSI__Type_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_mS__NetworkFeatureSupport_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_oldLocationAreaIdentification_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_additionalUpdateType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_tMSIBasedNRIcontainer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_t3324_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_t3312__ExtendedValue_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_extendedDRXParameters_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachRequest_default_coding;
extern const XERdescriptor_t PDU__GMM__AttachAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AttachAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AttachAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_attachResult_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_forceToStandby_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_updateTimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_radioPriority_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_radioPriorityTOM8_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_routingAreaIdentification_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__AttachAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__AttachAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_ptmsiSignature_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_readyTimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_allocatedPTMSI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_msIdentity_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_gmmCause_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_t3302_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_cellNotification_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_equivalentPLMNs_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_networkFeatureSupport_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_emergencyNumberList_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_requestedMSInformation_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_t3319_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_t3323_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_t3312__ExtendedValue_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_additionalNetworkFeatureSupport_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_t3324_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_extendedDRXParameters_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachAccept_default_coding;
extern const XERdescriptor_t PDU__GMM__AttachComplete_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AttachComplete_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AttachComplete_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachComplete_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__AttachComplete_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__AttachComplete_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachComplete_interRATHandoverInformation_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachComplete_eUTRANinterRATHandoverInformation_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachComplete_default_coding;
extern const XERdescriptor_t PDU__GMM__AttachReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AttachReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AttachReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachReject_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachReject_gmmCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__AttachReject_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__AttachReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachReject_t3302_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachReject_t3346_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AttachReject_default_coding;
extern const XERdescriptor_t PDU__GMM__DetachRequest__SGSN__MS_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__DetachRequest__SGSN__MS_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachRequest__SGSN__MS_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__SGSN__MS_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__SGSN__MS_detachType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__SGSN__MS_forceToStandby_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__DetachRequest__SGSN__MS_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachRequest__SGSN__MS_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__SGSN__MS_gmmCause_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__SGSN__MS_default_coding;
extern const XERdescriptor_t PDU__GMM__DetachRequest__MS__SGSN_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__DetachRequest__MS__SGSN_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachRequest__MS__SGSN_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__MS__SGSN_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__MS__SGSN_detachType_default_coding;
extern const XERdescriptor_t PDU__GMM__DetachRequest__MS__SGSN_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__DetachRequest__MS__SGSN_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachRequest__MS__SGSN_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__MS__SGSN_spare_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__DetachRequest__MS__SGSN_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachRequest__MS__SGSN_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__MS__SGSN_ptmsi_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__MS__SGSN_ptmsiSignature_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachRequest__MS__SGSN_default_coding;
extern const XERdescriptor_t PDU__GMM__DetachAccept__MS__SGSN_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__DetachAccept__MS__SGSN_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachAccept__MS__SGSN_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachAccept__MS__SGSN_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__DetachAccept__MS__SGSN_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachAccept__MS__SGSN_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachAccept__MS__SGSN_default_coding;
extern const XERdescriptor_t PDU__GMM__DetachAccept__SGSN__MS_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__DetachAccept__SGSN__MS_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachAccept__SGSN__MS_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachAccept__SGSN__MS_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachAccept__SGSN__MS_forceToStandby_default_coding;
extern const XERdescriptor_t PDU__GMM__DetachAccept__SGSN__MS_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__DetachAccept__SGSN__MS_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachAccept__SGSN__MS_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachAccept__SGSN__MS_spare_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__DetachAccept__SGSN__MS_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__DetachAccept__SGSN__MS_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__DetachAccept__SGSN__MS_default_coding;
extern const XERdescriptor_t PDU__GMM__P__TMSIReallocationCommand_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__P__TMSIReallocationCommand_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__P__TMSIReallocationCommand_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationCommand_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationCommand_allocatedPTMSI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationCommand_routingAreaIdentification_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationCommand_forceToStandby_default_coding;
extern const XERdescriptor_t PDU__GMM__P__TMSIReallocationCommand_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__P__TMSIReallocationCommand_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__P__TMSIReallocationCommand_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationCommand_spare_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__P__TMSIReallocationCommand_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__P__TMSIReallocationCommand_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationCommand_ptmsiSignature_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationCommand_default_coding;
extern const XERdescriptor_t PDU__GMM__P__TMSIReallocationComplete_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__P__TMSIReallocationComplete_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__P__TMSIReallocationComplete_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationComplete_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__P__TMSIReallocationComplete_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__P__TMSIReallocationComplete_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__P__TMSIReallocationComplete_default_coding;
extern const XERdescriptor_t PDU__GMM__AuthenticationAndCipheringRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AuthenticationAndCipheringRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_cipheringAlgorithm_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_imeisvRequest_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_forceToStandby_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_acReferenceNumber_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__AuthenticationAndCipheringRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_authenticationParameterRAND_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_cipheringKeySequenceNumber_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_authenticationParameterAUTN_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringRequest_default_coding;
extern const XERdescriptor_t PDU__GMM__AuthenticationAndCipheringResponse_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AuthenticationAndCipheringResponse_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringResponse_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringResponse_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringResponse_acReferenceNumber_default_coding;
extern const XERdescriptor_t PDU__GMM__AuthenticationAndCipheringResponse_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AuthenticationAndCipheringResponse_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringResponse_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringResponse_spare_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__AuthenticationAndCipheringResponse_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringResponse_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringResponse_authenticationParResp_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringResponse_imeisv_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringResponse_authenticationRespParExt_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringResponse_default_coding;
extern const XERdescriptor_t PDU__GMM__AuthenticationAndCipheringFailure_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AuthenticationAndCipheringFailure_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringFailure_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringFailure_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringFailure_gmmCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__AuthenticationAndCipheringFailure_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringFailure_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringFailure_authenticationFailureParam_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringFailure_default_coding;
extern const XERdescriptor_t PDU__GMM__AuthenticationAndCipheringReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__AuthenticationAndCipheringReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringReject_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__AuthenticationAndCipheringReject_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__AuthenticationAndCipheringReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__AuthenticationAndCipheringReject_default_coding;
extern const XERdescriptor_t PDU__GMM__IdentityRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__IdentityRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__IdentityRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__IdentityRequest_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__IdentityRequest_identityType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__IdentityRequest_forceToStandby_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__IdentityRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__IdentityRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__IdentityRequest_default_coding;
extern const XERdescriptor_t PDU__GMM__IdentityResponse_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__IdentityResponse_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__IdentityResponse_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__IdentityResponse_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__IdentityResponse_mobileIdentity_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__IdentityResponse_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__IdentityResponse_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__IdentityResponse_default_coding;
extern const XERdescriptor_t PDU__GMM__RoutingAreaUpdateRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__RoutingAreaUpdateRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_updateType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_gprsCKSN_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_oldRoutingAreaId_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_msRACap_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__RoutingAreaUpdateRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_oldPTMSISignature_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_readyTimerValue_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_drxParameter_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_tmsiStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_ptmsi_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_mSNetworkCapability_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_pdpContextStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_pC__LCSCapability_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_mBMS__ContextStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_uENetworkCapability_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_additionalMobileIdentity_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_oldRoutingAreaIdentification2_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_mobileStationClassmark2_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_mobileStationClassmark3_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_supportedCodecs_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_voiceDomainUEUsageSetting_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_p__TMSI__Type_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_mS__NetworkFeatureSupport_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_oldLocationAreaIdentification_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_additionalUpdateType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_tMSIBasedNRIcontainer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_t3324_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_t3312__ExtendedValue_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_extendedDRXParameters_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateRequest_default_coding;
extern const XERdescriptor_t PDU__GMM__RoutingAreaUpdateAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__RoutingAreaUpdateAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_forceToStandby_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_updateResult_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_raUpdateTimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_routingAreaId_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__RoutingAreaUpdateAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_ptmsiSignature_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_allocatedPTMSI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_msIdentity_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_receiveNPDUNumbers_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_readyTimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_gmmCause_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_t3302_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_cellNotification_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_equivalentPLMNs_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_pdpContextStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_networkFeatureSupport_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_emergencyNumberList_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_mBMS__ContextStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_requestedMSInformation_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_t3319_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_t3323_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_t3312__ExtendedValue_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_additionalNetworkFeatureSupport_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_t3324_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_extendedDRXParameters_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateAccept_default_coding;
extern const XERdescriptor_t PDU__GMM__RoutingAreaUpdateComplete_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__RoutingAreaUpdateComplete_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateComplete_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateComplete_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__RoutingAreaUpdateComplete_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateComplete_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateComplete_receiveNPDUNumbers_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateComplete_interRATHandoverInformation_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateComplete_eUTRANinterRATHandoverInformation_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateComplete_default_coding;
extern const XERdescriptor_t PDU__GMM__RoutingAreaUpdateReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__RoutingAreaUpdateReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateReject_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateReject_gmmCause_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateReject_forceToStandby_default_coding;
extern const XERdescriptor_t PDU__GMM__RoutingAreaUpdateReject_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__RoutingAreaUpdateReject_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateReject_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateReject_spare_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__RoutingAreaUpdateReject_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__RoutingAreaUpdateReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateReject_t3302_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateReject_t3346_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__RoutingAreaUpdateReject_default_coding;
extern const XERdescriptor_t PDU__GMM__GMM__Status_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__GMM__Status_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__GMM__Status_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Status_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Status_gmmCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__GMM__Status_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__GMM__Status_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Status_default_coding;
extern const XERdescriptor_t PDU__GMM__GMM__Information_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__GMM__Information_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__GMM__Information_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Information_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__GMM__Information_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__GMM__Information_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Information_fullNetworkName_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Information_shortNetworkName_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Information_networkTimeZone_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Information_networkTimeAndTimeZone_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Information_lsaIdentity_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Information_networkDaylightSavingTime_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__GMM__Information_default_coding;
extern const XERdescriptor_t PDU__GMM__ServiceRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__ServiceRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__ServiceRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_cipheringKeySeqNum_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_serviceType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_ptmsi_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__ServiceRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__ServiceRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_pdpContextStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_mBMS__ContextStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_uplinkDataStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceRequest_default_coding;
extern const XERdescriptor_t PDU__GMM__ServiceAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__ServiceAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__ServiceAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceAccept_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__ServiceAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__ServiceAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceAccept_pdpContextStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceAccept_mBMS__ContextStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceAccept_default_coding;
extern const XERdescriptor_t PDU__GMM__ServiceReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__GMM__ServiceReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__GMM__ServiceReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceReject_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceReject_gmmCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__GMM__ServiceReject_raw_;
extern const TTCN_Typedescriptor_t PDU__GMM__ServiceReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceReject_t3346_default_coding;
extern UNIVERSAL_CHARSTRING PDU__GMM__ServiceReject_default_coding;
extern const XERdescriptor_t PDU__SM__ActivatePDPContextRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivatePDPContextRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivatePDPContextRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_requestedNSAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_requestedLLCSAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_requestedQoS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_requestedPDPaddress_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivatePDPContextRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivatePDPContextRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_accessPointName_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_requestType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextRequest_default_coding;
extern const XERdescriptor_t PDU__SM__ActivatePDPContextAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivatePDPContextAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivatePDPContextAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_negotiatedLLCSAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_negotiatedQoS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_radioPriority_default_coding;
extern const XERdescriptor_t PDU__SM__ActivatePDPContextAccept_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivatePDPContextAccept_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivatePDPContextAccept_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_spare_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivatePDPContextAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivatePDPContextAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_pdpAddress_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_packetFlowID_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_sMCause2_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_connectivityType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_wLANOffloadIndication_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextAccept_default_coding;
extern const XERdescriptor_t PDU__SM__ActivatePDPContextReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivatePDPContextReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivatePDPContextReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextReject_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__ActivatePDPContextReject_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivatePDPContextReject_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivatePDPContextReject_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextReject_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivatePDPContextReject_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivatePDPContextReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextReject_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextReject_backOffTimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextReject_reAttemptIndicator_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextReject_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivatePDPContextReject_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateSecondaryPDPContextRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateSecondaryPDPContextRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateSecondaryPDPContextRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_requestedNSAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_requestedLLC__SAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_requestedQoS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_linkedTI_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivateSecondaryPDPContextRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateSecondaryPDPContextRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_tft_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextRequest_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateSecondaryPDPContextAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateSecondaryPDPContextAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateSecondaryPDPContextAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_negotiatedLLC__SAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_negotiatedQoS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_radioPriority_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateSecondaryPDPContextAccept_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateSecondaryPDPContextAccept_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateSecondaryPDPContextAccept_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_spare_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivateSecondaryPDPContextAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateSecondaryPDPContextAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_packetFlowIdentifier_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_wLANOffloadIndication_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextAccept_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateSecondaryPDPContextReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateSecondaryPDPContextReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateSecondaryPDPContextReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextReject_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateSecondaryPDPContextReject_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateSecondaryPDPContextReject_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateSecondaryPDPContextReject_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextReject_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivateSecondaryPDPContextReject_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateSecondaryPDPContextReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextReject_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextReject_backOffTimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextReject_reAttemptIndicator_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextReject_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateSecondaryPDPContextReject_default_coding;
extern const XERdescriptor_t PDU__SM__RequestPDPContextActivation_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestPDPContextActivation_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestPDPContextActivation_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivation_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivation_offeredPDPAdress_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__RequestPDPContextActivation_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestPDPContextActivation_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivation_accessPointName_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivation_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivation_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivation_default_coding;
extern const XERdescriptor_t PDU__SM__RequestPDPContextActivationReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestPDPContextActivationReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestPDPContextActivationReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivationReject_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__RequestPDPContextActivationReject_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestPDPContextActivationReject_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestPDPContextActivationReject_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivationReject_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__RequestPDPContextActivationReject_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestPDPContextActivationReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivationReject_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivationReject_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestPDPContextActivationReject_default_coding;
extern const XERdescriptor_t PDU__SM__ModifyPDPContextRequest__SGSN__MS_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ModifyPDPContextRequest__SGSN__MS_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextRequest__SGSN__MS_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_radioPriority_default_coding;
extern const XERdescriptor_t PDU__SM__ModifyPDPContextRequest__SGSN__MS_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ModifyPDPContextRequest__SGSN__MS_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextRequest__SGSN__MS_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_spare_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_requestedLLC__SAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_newQoS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ModifyPDPContextRequest__SGSN__MS_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextRequest__SGSN__MS_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_pdpAddress_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_packetFlowIdentifier_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_tFT_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_wLANOffloadIndication_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__SGSN__MS_default_coding;
extern const XERdescriptor_t PDU__SM__ModifyPDPContextRequest__MS__SGSN_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ModifyPDPContextRequest__MS__SGSN_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextRequest__MS__SGSN_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__MS__SGSN_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ModifyPDPContextRequest__MS__SGSN_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextRequest__MS__SGSN_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__MS__SGSN_requestedLLC__SAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__MS__SGSN_requestedNewQoS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__MS__SGSN_newTFT_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__MS__SGSN_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__MS__SGSN_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__MS__SGSN_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextRequest__MS__SGSN_default_coding;
extern const XERdescriptor_t PDU__SM__ModifyPDPContextAccept__MS__SGSN_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ModifyPDPContextAccept__MS__SGSN_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextAccept__MS__SGSN_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__MS__SGSN_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ModifyPDPContextAccept__MS__SGSN_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextAccept__MS__SGSN_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__MS__SGSN_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__MS__SGSN_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__MS__SGSN_default_coding;
extern const XERdescriptor_t PDU__SM__ModifyPDPContextAccept__SGSN__MS_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ModifyPDPContextAccept__SGSN__MS_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextAccept__SGSN__MS_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ModifyPDPContextAccept__SGSN__MS_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextAccept__SGSN__MS_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_negotiatedQoS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_negotiatedLLC__SAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_newRadioPriority_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_packetFlowIdentifier_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_wLANOffloadIndication_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextAccept__SGSN__MS_default_coding;
extern const XERdescriptor_t PDU__SM__ModifyPDPContextReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ModifyPDPContextReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextReject_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__ModifyPDPContextReject_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ModifyPDPContextReject_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextReject_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextReject_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ModifyPDPContextReject_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ModifyPDPContextReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextReject_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextReject_backOffTimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextReject_reAttemptIndicator_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextReject_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ModifyPDPContextReject_default_coding;
extern const XERdescriptor_t PDU__SM__DeactivatePDPContextRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__DeactivatePDPContextRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__DeactivatePDPContextRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__DeactivatePDPContextRequest_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__DeactivatePDPContextRequest_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__DeactivatePDPContextRequest_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__DeactivatePDPContextRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__DeactivatePDPContextRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_tearDownIndicator_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_mBMSprotocolConfigOptions_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_t3396_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_wLANOffloadIndication_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextRequest_default_coding;
extern const XERdescriptor_t PDU__SM__DeactivatePDPContextAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__DeactivatePDPContextAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__DeactivatePDPContextAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextAccept_messageType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__DeactivatePDPContextAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__DeactivatePDPContextAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextAccept_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextAccept_mBMSprotocolConfigOptions_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextAccept_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__DeactivatePDPContextAccept_default_coding;
extern const XERdescriptor_t PDU__SM__RequestSecondaryPDPContextActivation_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestSecondaryPDPContextActivation_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestSecondaryPDPContextActivation_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivation_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivation_requiredQoS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivation_linkedTI_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__RequestSecondaryPDPContextActivation_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestSecondaryPDPContextActivation_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivation_tFT_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivation_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivation_wLANOffloadIndication_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivation_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivation_default_coding;
extern const XERdescriptor_t PDU__SM__RequestSecondaryPDPContextActivationReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestSecondaryPDPContextActivationReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestSecondaryPDPContextActivationReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivationReject_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__RequestSecondaryPDPContextActivationReject_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestSecondaryPDPContextActivationReject_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestSecondaryPDPContextActivationReject_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivationReject_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__RequestSecondaryPDPContextActivationReject_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestSecondaryPDPContextActivationReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivationReject_protocolConfigOpts_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivationReject_nBIFOM__Container_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestSecondaryPDPContextActivationReject_default_coding;
extern const XERdescriptor_t PDU__SM__Notification_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__Notification_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__Notification_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__Notification_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__Notification_notificationIndicator_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__Notification_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__Notification_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__Notification_default_coding;
extern const XERdescriptor_t PDU__SM__SM__Status_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__SM__Status_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__SM__Status_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__SM__Status_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__SM__Status_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__SM__Status_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__SM__Status_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__SM__Status_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__SM__Status_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__SM__Status_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__SM__Status_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateMBMSContextRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateMBMSContextRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateMBMSContextRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_requestedMBMS__NSAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_requestedLLCSAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_supportdMBMSBearerCapabilities_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_requestedMulticastAddress_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_accessPointName_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivateMBMSContextRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateMBMSContextRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_mBMSprotocolConfigOptions_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextRequest_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateMBMSContextAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateMBMSContextAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateMBMSContextAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextAccept_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextAccept_temporaryMobileGroupIDLV_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextAccept_negotiatedLLCSAPI_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivateMBMSContextAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateMBMSContextAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextAccept_mBMSprotocolConfigOptions_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextAccept_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateMBMSContextReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateMBMSContextReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateMBMSContextReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextReject_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__ActivateMBMSContextReject_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__ActivateMBMSContextReject_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateMBMSContextReject_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextReject_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__ActivateMBMSContextReject_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__ActivateMBMSContextReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextReject_mBMSprotocolConfigOptions_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextReject_backOffTimer_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextReject_reAttemptIndicator_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__ActivateMBMSContextReject_default_coding;
extern const XERdescriptor_t PDU__SM__RequestMBMSContextActivation_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestMBMSContextActivation_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestMBMSContextActivation_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivation_messageType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivation_linkedNSAPI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivation_offeredMulticastAddress_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivation_accessPointName_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__RequestMBMSContextActivation_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestMBMSContextActivation_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivation_mBMSprotocolConfigOptions_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivation_default_coding;
extern const XERdescriptor_t PDU__SM__RequestMBMSContextActivationReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestMBMSContextActivationReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestMBMSContextActivationReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivationReject_messageType_default_coding;
extern const XERdescriptor_t PDU__SM__RequestMBMSContextActivationReject_smCause_xer_;
extern const TTCN_OERdescriptor_t PDU__SM__RequestMBMSContextActivationReject_smCause_oer_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestMBMSContextActivationReject_smCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivationReject_smCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SM__RequestMBMSContextActivationReject_raw_;
extern const TTCN_Typedescriptor_t PDU__SM__RequestMBMSContextActivationReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivationReject_mBMSprotocolConfigOptions_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SM__RequestMBMSContextActivationReject_default_coding;
extern const TTCN_RAWdescriptor_t L3__GSM__MS__SGSN_raw_;
extern const TTCN_Typedescriptor_t L3__GSM__MS__SGSN_descr_;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_activatePDPContextRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_activateSecondaryPDPContextRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_requestPDPContextActivationReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_modifyPDPContextRequest__MS__SGSN_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_modifyPDPContextAccept__MS__SGSN_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_deactivatePDPContextRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_deactivatePDPContextAccept_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_sM__Status_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_activateMBMSContextRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_requestMBMSContextActivationReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_requestSecondaryPDPContextActivationReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_notification_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__MS__SGSN_default_coding;
extern const TTCN_RAWdescriptor_t L3__GSM__SGSN__MS_raw_;
extern const TTCN_Typedescriptor_t L3__GSM__SGSN__MS_descr_;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_activatePDPContextAccept_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_activatePDPContextReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_activateSecondaryPDPContextAccept_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_activateSecondaryPDPContextReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_requestPDPContextActivation_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_modifyPDPContextRequest__SGSN__MS_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_modifyPDPContextAccept__SGSN__MS_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_modifyPDPContextReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_deactivatePDPContextRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_deactivatePDPContextAccept_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_sM__Status_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_activateMBMSContextAccept_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_activateMBMSContextReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_requestMBMSContextActivation_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_requestSecondaryPDPContextActivation_default_coding;
extern UNIVERSAL_CHARSTRING L3__GSM__SGSN__MS_default_coding;
extern const TTCN_RAWdescriptor_t L3__GMM__MS__SGSN_raw_;
extern const TTCN_Typedescriptor_t L3__GMM__MS__SGSN_descr_;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_attachRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_attachComplete_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_detachRequest__MS__SGSN_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_detachAccept__MS__SGSN_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_p__TMSIReallocationComplete_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_authenticationAndCipheringResponse_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_authenticationAndCipheringFailure_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_identityResponse_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_routingAreaUpdateRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_routingAreaUpdateComplete_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_gMM__Status_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_serviceRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__MS__SGSN_default_coding;
extern const TTCN_RAWdescriptor_t L3__GMM__SGSN__MS_raw_;
extern const TTCN_Typedescriptor_t L3__GMM__SGSN__MS_descr_;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_attachAccept_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_attachReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_detachRequest__SGSN__MS_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_detachAccept__SGSN__MS_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_p__TMSIReallocationCommand_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_authenticationAndCipheringRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_authenticationAndCipheringReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_identityRequest_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_routingAreaUpdateAccept_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_routingAreaUpdateReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_gMM__Status_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_gMM__Information_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_serviceAccept_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_serviceReject_default_coding;
extern UNIVERSAL_CHARSTRING L3__GMM__SGSN__MS_default_coding;
extern const BITSTRING bs_3,
bs_22,
bs_25,
bs_28,
bs_29,
bs_30,
bs_31,
bs_40,
bs_41,
bs_42,
bs_43,
bs_48,
bs_49,
bs_50,
bs_4,
bs_32,
bs_33,
bs_34,
bs_35,
bs_37,
bs_38,
bs_39,
bs_36,
bs_15,
bs_5,
bs_44,
bs_45,
bs_6,
bs_26,
bs_23,
bs_19,
bs_7,
bs_51,
bs_52,
bs_53,
bs_57,
bs_58,
bs_27,
bs_64,
bs_65,
bs_59,
bs_61,
bs_60,
bs_62,
bs_63,
bs_54,
bs_55,
bs_56,
bs_8,
bs_69,
bs_70,
bs_71,
bs_72,
bs_73,
bs_74,
bs_66,
bs_67,
bs_68,
bs_16,
bs_9,
bs_0,
bs_2,
bs_17,
bs_10,
bs_46,
bs_47,
bs_1,
bs_18,
bs_11,
bs_12,
bs_20,
bs_21,
bs_24,
bs_14,
bs_13;
extern const OCTETSTRING os_22,
os_23,
os_24,
os_25,
os_26,
os_27,
os_28,
os_29,
os_12,
os_11,
os_30,
os_1,
os_4,
os_2,
os_0,
os_14,
os_36,
os_32,
os_9,
os_15,
os_3,
os_18,
os_6,
os_19,
os_21,
os_20,
os_33,
os_34,
os_17,
os_35,
os_8,
os_10,
os_7,
os_16,
os_13,
os_31,
os_5;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
