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

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

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

#ifndef MobileL3__MM__Types_HH
#define MobileL3__MM__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_CommonIE_Types.hh"

#if TTCN3_VERSION != 110100
#error Version mismatch detected.\
 Please check the version of the TTCN-3 compiler and the base library.\
 Run make clean and rebuild the project if the version of the compiler changed recently.
#endif

#ifndef LINUX
#error This file should be compiled on LINUX
#endif

#undef MobileL3__MM__Types_HH
#endif

namespace MobileL3__MM__Types {

/* Forward declarations of classes */

class AuthenticationParameterRANDTV;
class AuthenticationParameterRANDTV_template;
class AuthenticationParameterAUTNTLV;
class AuthenticationParameterAUTNTLV_template;
class AuthenticationResponseParameterTV;
class AuthenticationResponseParameterTV_template;
class AuthenticationResponseParameterUMTSTLV;
class AuthenticationResponseParameterUMTSTLV_template;
class AuthenticationFailureParametersTLV;
class AuthenticationFailureParametersTLV_template;
class LocationUpdatingType;
class LocationUpdatingType_template;
class NetworkNameV;
class NetworkNameV_template;
class NetworkNameTLV;
class NetworkNameTLV_template;
class TimeZoneV;
class TimeZoneV_template;
class TimeZoneTV;
class TimeZoneTV_template;
class TimeZoneAndTimeV;
class TimeZoneAndTimeV_template;
class TimeZoneAndTimeTV;
class TimeZoneAndTimeTV_template;
class LSA__IdentifierV;
class LSA__IdentifierV_template;
class LSA__IdentifierTLV;
class LSA__IdentifierTLV_template;
class DaylightSavingTimeV;
class DaylightSavingTimeV_template;
class DaylightSavingTimeTLV;
class DaylightSavingTimeTLV_template;
class EmergencyNumberListV;
class EmergencyNumberListV_template;
class EmergencyServiceCategory;
class EmergencyServiceCategory_template;
class EmergencyNumber;
class EmergencyNumber_template;
class EmergencyNumberListTLV;
class EmergencyNumberListTLV_template;
class MM__TimerV;
class MM__TimerV_template;
class MM__TimerTLV;
class MM__TimerTLV_template;
class PDU__ML3__AuthenticationReject;
class PDU__ML3__AuthenticationReject_template;
class PDU__ML3__AuthenticationRequest;
class PDU__ML3__AuthenticationRequest_template;
class PDU__ML3__AuthenticationResponse;
class PDU__ML3__AuthenticationResponse_template;
class PDU__ML3__AuthenticationFailure;
class PDU__ML3__AuthenticationFailure_template;
class PDU__ML3__CMReestablishmentRequest;
class PDU__ML3__CMReestablishmentRequest_template;
class PDU__ML3__CMServiceAccept;
class PDU__ML3__CMServiceAccept_template;
class PDU__ML3__CMServicePrompt;
class PDU__ML3__CMServicePrompt_template;
class PDU__ML3__CMServiceReject;
class PDU__ML3__CMServiceReject_template;
class PDU__ML3__CMServiceAbort;
class PDU__ML3__CMServiceAbort_template;
class PDU__ML3__Abort;
class PDU__ML3__Abort_template;
class PDU__ML3__CMServiceRequest;
class PDU__ML3__CMServiceRequest_template;
class PDU__ML3__IdentityRequest;
class PDU__ML3__IdentityRequest_template;
class PDU__ML3__IdentityResponse;
class PDU__ML3__IdentityResponse_template;
class PDU__ML3__IMSI__DetachIndication;
class PDU__ML3__IMSI__DetachIndication_template;
class PDU__ML3__LocationUpdateAccept;
class PDU__ML3__LocationUpdateAccept_template;
class PDU__ML3__LocationUpdateReject;
class PDU__ML3__LocationUpdateReject_template;
class PDU__ML3__LocationUpdateRequest;
class PDU__ML3__LocationUpdateRequest_template;
class PDU__ML3__MMInformation;
class PDU__ML3__MMInformation_template;
class PDU__ML3__MMStatus;
class PDU__ML3__MMStatus_template;
class PDU__ML3__TMSI__ReallocationCommand;
class PDU__ML3__TMSI__ReallocationCommand_template;
class PDU__ML3__TMSI__ReallocationComplete;
class PDU__ML3__TMSI__ReallocationComplete_template;
class PDU__ML3__MMNull;
class PDU__ML3__MMNull_template;
class PDU__ML3__MM;
class PDU__ML3__MM_template;

} /* end of namespace */

#ifndef MobileL3__MM__Types_HH
#define MobileL3__MM__Types_HH

namespace MobileL3__MM__Types {

/* Type definitions */

typedef MobileL3__CommonIE__Types::Type2 FollowOnProceed;
typedef MobileL3__CommonIE__Types::Type2_template FollowOnProceed_template;
typedef MobileL3__CommonIE__Types::Type2 CTS__Permission;
typedef MobileL3__CommonIE__Types::Type2_template CTS__Permission_template;

/* Class definitions */

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

void set_specific();
void copy_value(const AuthenticationParameterRANDTV& other_value);
void copy_template(const AuthenticationParameterRANDTV_template& other_value);

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

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

void set_specific();
void copy_value(const AuthenticationParameterAUTNTLV& other_value);
void copy_template(const AuthenticationParameterAUTNTLV_template& other_value);

public:
AuthenticationParameterAUTNTLV_template();
AuthenticationParameterAUTNTLV_template(template_sel other_value);
AuthenticationParameterAUTNTLV_template(const AuthenticationParameterAUTNTLV& other_value);
AuthenticationParameterAUTNTLV_template(const OPTIONAL<AuthenticationParameterAUTNTLV>& other_value);
AuthenticationParameterAUTNTLV_template(AuthenticationParameterAUTNTLV_template* p_precondition, AuthenticationParameterAUTNTLV_template* p_implied_template);
AuthenticationParameterAUTNTLV_template(Dynamic_Match_Interface<AuthenticationParameterAUTNTLV>* p_dyn_match);
AuthenticationParameterAUTNTLV_template(const AuthenticationParameterAUTNTLV_template& other_value);
~AuthenticationParameterAUTNTLV_template();
AuthenticationParameterAUTNTLV_template& operator=(template_sel other_value);
AuthenticationParameterAUTNTLV_template& operator=(const AuthenticationParameterAUTNTLV& other_value);
AuthenticationParameterAUTNTLV_template& operator=(const OPTIONAL<AuthenticationParameterAUTNTLV>& other_value);
AuthenticationParameterAUTNTLV_template& operator=(const AuthenticationParameterAUTNTLV_template& other_value);
boolean match(const AuthenticationParameterAUTNTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AuthenticationParameterAUTNTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AuthenticationParameterAUTNTLV_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& autnValue();
const OCTETSTRING_template& autnValue() const;
int size_of() const;
void log() const;
void log_match(const AuthenticationParameterAUTNTLV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

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

void set_specific();
void copy_value(const AuthenticationResponseParameterTV& other_value);
void copy_template(const AuthenticationResponseParameterTV_template& other_value);

public:
AuthenticationResponseParameterTV_template();
AuthenticationResponseParameterTV_template(template_sel other_value);
AuthenticationResponseParameterTV_template(const AuthenticationResponseParameterTV& other_value);
AuthenticationResponseParameterTV_template(const OPTIONAL<AuthenticationResponseParameterTV>& other_value);
AuthenticationResponseParameterTV_template(AuthenticationResponseParameterTV_template* p_precondition, AuthenticationResponseParameterTV_template* p_implied_template);
AuthenticationResponseParameterTV_template(Dynamic_Match_Interface<AuthenticationResponseParameterTV>* p_dyn_match);
AuthenticationResponseParameterTV_template(const AuthenticationResponseParameterTV_template& other_value);
~AuthenticationResponseParameterTV_template();
AuthenticationResponseParameterTV_template& operator=(template_sel other_value);
AuthenticationResponseParameterTV_template& operator=(const AuthenticationResponseParameterTV& other_value);
AuthenticationResponseParameterTV_template& operator=(const OPTIONAL<AuthenticationResponseParameterTV>& other_value);
AuthenticationResponseParameterTV_template& operator=(const AuthenticationResponseParameterTV_template& other_value);
boolean match(const AuthenticationResponseParameterTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AuthenticationResponseParameterTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AuthenticationResponseParameterTV_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 AuthenticationResponseParameterTV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

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

void set_specific();
void copy_value(const AuthenticationResponseParameterUMTSTLV& other_value);
void copy_template(const AuthenticationResponseParameterUMTSTLV_template& other_value);

public:
AuthenticationResponseParameterUMTSTLV_template();
AuthenticationResponseParameterUMTSTLV_template(template_sel other_value);
AuthenticationResponseParameterUMTSTLV_template(const AuthenticationResponseParameterUMTSTLV& other_value);
AuthenticationResponseParameterUMTSTLV_template(const OPTIONAL<AuthenticationResponseParameterUMTSTLV>& other_value);
AuthenticationResponseParameterUMTSTLV_template(AuthenticationResponseParameterUMTSTLV_template* p_precondition, AuthenticationResponseParameterUMTSTLV_template* p_implied_template);
AuthenticationResponseParameterUMTSTLV_template(Dynamic_Match_Interface<AuthenticationResponseParameterUMTSTLV>* p_dyn_match);
AuthenticationResponseParameterUMTSTLV_template(const AuthenticationResponseParameterUMTSTLV_template& other_value);
~AuthenticationResponseParameterUMTSTLV_template();
AuthenticationResponseParameterUMTSTLV_template& operator=(template_sel other_value);
AuthenticationResponseParameterUMTSTLV_template& operator=(const AuthenticationResponseParameterUMTSTLV& other_value);
AuthenticationResponseParameterUMTSTLV_template& operator=(const OPTIONAL<AuthenticationResponseParameterUMTSTLV>& other_value);
AuthenticationResponseParameterUMTSTLV_template& operator=(const AuthenticationResponseParameterUMTSTLV_template& other_value);
boolean match(const AuthenticationResponseParameterUMTSTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AuthenticationResponseParameterUMTSTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AuthenticationResponseParameterUMTSTLV_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 AuthenticationResponseParameterUMTSTLV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

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

void set_specific();
void copy_value(const AuthenticationFailureParametersTLV& other_value);
void copy_template(const AuthenticationFailureParametersTLV_template& other_value);

public:
AuthenticationFailureParametersTLV_template();
AuthenticationFailureParametersTLV_template(template_sel other_value);
AuthenticationFailureParametersTLV_template(const AuthenticationFailureParametersTLV& other_value);
AuthenticationFailureParametersTLV_template(const OPTIONAL<AuthenticationFailureParametersTLV>& other_value);
AuthenticationFailureParametersTLV_template(AuthenticationFailureParametersTLV_template* p_precondition, AuthenticationFailureParametersTLV_template* p_implied_template);
AuthenticationFailureParametersTLV_template(Dynamic_Match_Interface<AuthenticationFailureParametersTLV>* p_dyn_match);
AuthenticationFailureParametersTLV_template(const AuthenticationFailureParametersTLV_template& other_value);
~AuthenticationFailureParametersTLV_template();
AuthenticationFailureParametersTLV_template& operator=(template_sel other_value);
AuthenticationFailureParametersTLV_template& operator=(const AuthenticationFailureParametersTLV& other_value);
AuthenticationFailureParametersTLV_template& operator=(const OPTIONAL<AuthenticationFailureParametersTLV>& other_value);
AuthenticationFailureParametersTLV_template& operator=(const AuthenticationFailureParametersTLV_template& other_value);
boolean match(const AuthenticationFailureParametersTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AuthenticationFailureParametersTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AuthenticationFailureParametersTLV_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 AuthenticationFailureParametersTLV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class LocationUpdatingType : public Base_Type {
  BITSTRING field_lut;
  BITSTRING field_spare1__1;
  BITSTRING field_fop;
public:
  LocationUpdatingType();
  LocationUpdatingType(const BITSTRING& par_lut,
    const BITSTRING& par_spare1__1,
    const BITSTRING& par_fop);
  LocationUpdatingType(const LocationUpdatingType& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  LocationUpdatingType& operator=(const LocationUpdatingType& other_value);
  boolean operator==(const LocationUpdatingType& other_value) const;
  inline boolean operator!=(const LocationUpdatingType& 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& lut()
    {return field_lut;}
  inline const BITSTRING& lut() const
    {return field_lut;}
  inline BITSTRING& spare1__1()
    {return field_spare1__1;}
  inline const BITSTRING& spare1__1() const
    {return field_spare1__1;}
  inline BITSTRING& fop()
    {return field_fop;}
  inline const BITSTRING& fop() const
    {return field_fop;}
  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 LocationUpdatingType_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
LocationUpdatingType_template *list_value;
} value_list;
struct {
LocationUpdatingType_template* precondition;
LocationUpdatingType_template* implied_template;
} implication_;
dynmatch_struct<LocationUpdatingType>* dyn_match;
};

void set_specific();
void copy_value(const LocationUpdatingType& other_value);
void copy_template(const LocationUpdatingType_template& other_value);

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

class NetworkNameV : public Base_Type {
  BITSTRING field_nSpareBits;
  BITSTRING field_addCI;
  BITSTRING field_codingScheme;
  BITSTRING field_ext1;
  OCTETSTRING field_textString;
public:
  NetworkNameV();
  NetworkNameV(const BITSTRING& par_nSpareBits,
    const BITSTRING& par_addCI,
    const BITSTRING& par_codingScheme,
    const BITSTRING& par_ext1,
    const OCTETSTRING& par_textString);
  NetworkNameV(const NetworkNameV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NetworkNameV& operator=(const NetworkNameV& other_value);
  boolean operator==(const NetworkNameV& other_value) const;
  inline boolean operator!=(const NetworkNameV& 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& nSpareBits()
    {return field_nSpareBits;}
  inline const BITSTRING& nSpareBits() const
    {return field_nSpareBits;}
  inline BITSTRING& addCI()
    {return field_addCI;}
  inline const BITSTRING& addCI() const
    {return field_addCI;}
  inline BITSTRING& codingScheme()
    {return field_codingScheme;}
  inline const BITSTRING& codingScheme() const
    {return field_codingScheme;}
  inline BITSTRING& ext1()
    {return field_ext1;}
  inline const BITSTRING& ext1() const
    {return field_ext1;}
  inline OCTETSTRING& textString()
    {return field_textString;}
  inline const OCTETSTRING& textString() const
    {return field_textString;}
  inline int size_of() const
    {return 5;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class NetworkNameV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NetworkNameV_template *list_value;
} value_list;
struct {
NetworkNameV_template* precondition;
NetworkNameV_template* implied_template;
} implication_;
dynmatch_struct<NetworkNameV>* dyn_match;
};

void set_specific();
void copy_value(const NetworkNameV& other_value);
void copy_template(const NetworkNameV_template& other_value);

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

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

void set_specific();
void copy_value(const NetworkNameTLV& other_value);
void copy_template(const NetworkNameTLV_template& other_value);

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

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

void set_specific();
void copy_value(const TimeZoneV& other_value);
void copy_template(const TimeZoneV_template& other_value);

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

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

void set_specific();
void copy_value(const TimeZoneTV& other_value);
void copy_template(const TimeZoneTV_template& other_value);

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

class TimeZoneAndTimeV : public Base_Type {
  OCTETSTRING field_year;
  OCTETSTRING field_month;
  OCTETSTRING field_day;
  OCTETSTRING field_hour;
  OCTETSTRING field_minute;
  OCTETSTRING field_second;
  OCTETSTRING field_timeZone;
public:
  TimeZoneAndTimeV();
  TimeZoneAndTimeV(const OCTETSTRING& par_year,
    const OCTETSTRING& par_month,
    const OCTETSTRING& par_day,
    const OCTETSTRING& par_hour,
    const OCTETSTRING& par_minute,
    const OCTETSTRING& par_second,
    const OCTETSTRING& par_timeZone);
  TimeZoneAndTimeV(const TimeZoneAndTimeV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TimeZoneAndTimeV& operator=(const TimeZoneAndTimeV& other_value);
  boolean operator==(const TimeZoneAndTimeV& other_value) const;
  inline boolean operator!=(const TimeZoneAndTimeV& 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& year()
    {return field_year;}
  inline const OCTETSTRING& year() const
    {return field_year;}
  inline OCTETSTRING& month()
    {return field_month;}
  inline const OCTETSTRING& month() const
    {return field_month;}
  inline OCTETSTRING& day()
    {return field_day;}
  inline const OCTETSTRING& day() const
    {return field_day;}
  inline OCTETSTRING& hour()
    {return field_hour;}
  inline const OCTETSTRING& hour() const
    {return field_hour;}
  inline OCTETSTRING& minute()
    {return field_minute;}
  inline const OCTETSTRING& minute() const
    {return field_minute;}
  inline OCTETSTRING& second()
    {return field_second;}
  inline const OCTETSTRING& second() const
    {return field_second;}
  inline OCTETSTRING& timeZone()
    {return field_timeZone;}
  inline const OCTETSTRING& timeZone() const
    {return field_timeZone;}
  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 TimeZoneAndTimeV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TimeZoneAndTimeV_template *list_value;
} value_list;
struct {
TimeZoneAndTimeV_template* precondition;
TimeZoneAndTimeV_template* implied_template;
} implication_;
dynmatch_struct<TimeZoneAndTimeV>* dyn_match;
};

void set_specific();
void copy_value(const TimeZoneAndTimeV& other_value);
void copy_template(const TimeZoneAndTimeV_template& other_value);

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

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

void set_specific();
void copy_value(const TimeZoneAndTimeTV& other_value);
void copy_template(const TimeZoneAndTimeTV_template& other_value);

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

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

void set_specific();
void copy_value(const LSA__IdentifierV& other_value);
void copy_template(const LSA__IdentifierV_template& other_value);

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

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

void set_specific();
void copy_value(const LSA__IdentifierTLV& other_value);
void copy_template(const LSA__IdentifierTLV_template& other_value);

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

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

void set_specific();
void copy_value(const DaylightSavingTimeV& other_value);
void copy_template(const DaylightSavingTimeV_template& other_value);

public:
DaylightSavingTimeV_template();
DaylightSavingTimeV_template(template_sel other_value);
DaylightSavingTimeV_template(const DaylightSavingTimeV& other_value);
DaylightSavingTimeV_template(const OPTIONAL<DaylightSavingTimeV>& other_value);
DaylightSavingTimeV_template(DaylightSavingTimeV_template* p_precondition, DaylightSavingTimeV_template* p_implied_template);
DaylightSavingTimeV_template(Dynamic_Match_Interface<DaylightSavingTimeV>* p_dyn_match);
DaylightSavingTimeV_template(const DaylightSavingTimeV_template& other_value);
~DaylightSavingTimeV_template();
DaylightSavingTimeV_template& operator=(template_sel other_value);
DaylightSavingTimeV_template& operator=(const DaylightSavingTimeV& other_value);
DaylightSavingTimeV_template& operator=(const OPTIONAL<DaylightSavingTimeV>& other_value);
DaylightSavingTimeV_template& operator=(const DaylightSavingTimeV_template& other_value);
boolean match(const DaylightSavingTimeV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DaylightSavingTimeV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DaylightSavingTimeV_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 DaylightSavingTimeV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

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

void set_specific();
void copy_value(const DaylightSavingTimeTLV& other_value);
void copy_template(const DaylightSavingTimeTLV_template& other_value);

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

class EmergencyNumberListV : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
EmergencyNumber **value_elements;
} *val_ptr;

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

public:
  typedef EmergencyNumber of_type;
EmergencyNumberListV();
EmergencyNumberListV(null_type other_value);
EmergencyNumberListV(const EmergencyNumberListV& other_value);
~EmergencyNumberListV();

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

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

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

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

EmergencyNumberListV operator+(const EmergencyNumberListV& other_value) const;

EmergencyNumberListV substr(int index, int returncount) const;

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

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

void clean_up();
EmergencyNumberListV_template& operator=(template_sel other_value);
EmergencyNumberListV_template& operator=(null_type other_value);
EmergencyNumberListV_template& operator=(const EmergencyNumberListV& other_value);
EmergencyNumberListV_template& operator=(const OPTIONAL<EmergencyNumberListV>& other_value);
EmergencyNumberListV_template& operator=(const EmergencyNumberListV_template& other_value);

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

EmergencyNumberListV replace(int index, int len, const EmergencyNumberListV_template& repl) const;

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

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

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

void set_specific();
void copy_value(const EmergencyServiceCategory& other_value);
void copy_template(const EmergencyServiceCategory_template& other_value);

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

class EmergencyNumber : public Base_Type {
  INTEGER field_lengthIndicator;
  EmergencyServiceCategory field_emergencyServiceCategory;
  HEXSTRING field_emergencyNumber;
public:
  EmergencyNumber();
  EmergencyNumber(const INTEGER& par_lengthIndicator,
    const EmergencyServiceCategory& par_emergencyServiceCategory,
    const HEXSTRING& par_emergencyNumber);
  EmergencyNumber(const EmergencyNumber& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  EmergencyNumber& operator=(const EmergencyNumber& other_value);
  boolean operator==(const EmergencyNumber& other_value) const;
  inline boolean operator!=(const EmergencyNumber& 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 EmergencyServiceCategory& emergencyServiceCategory()
    {return field_emergencyServiceCategory;}
  inline const EmergencyServiceCategory& emergencyServiceCategory() const
    {return field_emergencyServiceCategory;}
  inline HEXSTRING& emergencyNumber()
    {return field_emergencyNumber;}
  inline const HEXSTRING& emergencyNumber() const
    {return field_emergencyNumber;}
  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 EmergencyNumber_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
EmergencyNumber_template *list_value;
} value_list;
struct {
EmergencyNumber_template* precondition;
EmergencyNumber_template* implied_template;
} implication_;
dynmatch_struct<EmergencyNumber>* dyn_match;
};

void set_specific();
void copy_value(const EmergencyNumber& other_value);
void copy_template(const EmergencyNumber_template& other_value);

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

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

void set_specific();
void copy_value(const EmergencyNumberListTLV& other_value);
void copy_template(const EmergencyNumberListTLV_template& other_value);

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

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

void set_specific();
void copy_value(const MM__TimerV& other_value);
void copy_template(const MM__TimerV_template& other_value);

public:
MM__TimerV_template();
MM__TimerV_template(template_sel other_value);
MM__TimerV_template(const MM__TimerV& other_value);
MM__TimerV_template(const OPTIONAL<MM__TimerV>& other_value);
MM__TimerV_template(MM__TimerV_template* p_precondition, MM__TimerV_template* p_implied_template);
MM__TimerV_template(Dynamic_Match_Interface<MM__TimerV>* p_dyn_match);
MM__TimerV_template(const MM__TimerV_template& other_value);
~MM__TimerV_template();
MM__TimerV_template& operator=(template_sel other_value);
MM__TimerV_template& operator=(const MM__TimerV& other_value);
MM__TimerV_template& operator=(const OPTIONAL<MM__TimerV>& other_value);
MM__TimerV_template& operator=(const MM__TimerV_template& other_value);
boolean match(const MM__TimerV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MM__TimerV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MM__TimerV_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 MM__TimerV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

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

void set_specific();
void copy_value(const MM__TimerTLV& other_value);
void copy_template(const MM__TimerTLV_template& other_value);

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

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

void set_specific();
void copy_value(const PDU__ML3__AuthenticationReject& other_value);
void copy_template(const PDU__ML3__AuthenticationReject_template& other_value);

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

class PDU__ML3__AuthenticationRequest : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  MobileL3__CommonIE__Types::CipheringKeySequenceNumberV field_cipheringKeySequenceNumber;
  BITSTRING field_spare2__4;
  OCTETSTRING field_authenticationParRAND;
  OPTIONAL< AuthenticationParameterAUTNTLV > field_authenticationParAUTN;
public:
  PDU__ML3__AuthenticationRequest();
  PDU__ML3__AuthenticationRequest(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& par_cipheringKeySequenceNumber,
    const BITSTRING& par_spare2__4,
    const OCTETSTRING& par_authenticationParRAND,
    const OPTIONAL< AuthenticationParameterAUTNTLV >& par_authenticationParAUTN);
  PDU__ML3__AuthenticationRequest(const PDU__ML3__AuthenticationRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__AuthenticationRequest& operator=(const PDU__ML3__AuthenticationRequest& other_value);
  boolean operator==(const PDU__ML3__AuthenticationRequest& other_value) const;
  inline boolean operator!=(const PDU__ML3__AuthenticationRequest& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySequenceNumber()
    {return field_cipheringKeySequenceNumber;}
  inline const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySequenceNumber() const
    {return field_cipheringKeySequenceNumber;}
  inline BITSTRING& spare2__4()
    {return field_spare2__4;}
  inline const BITSTRING& spare2__4() const
    {return field_spare2__4;}
  inline OCTETSTRING& authenticationParRAND()
    {return field_authenticationParRAND;}
  inline const OCTETSTRING& authenticationParRAND() const
    {return field_authenticationParRAND;}
  inline OPTIONAL< AuthenticationParameterAUTNTLV >& authenticationParAUTN()
    {return field_authenticationParAUTN;}
  inline const OPTIONAL< AuthenticationParameterAUTNTLV >& authenticationParAUTN() const
    {return field_authenticationParAUTN;}
  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__ML3__AuthenticationRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__AuthenticationRequest_template *list_value;
} value_list;
struct {
PDU__ML3__AuthenticationRequest_template* precondition;
PDU__ML3__AuthenticationRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__AuthenticationRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__AuthenticationRequest& other_value);
void copy_template(const PDU__ML3__AuthenticationRequest_template& other_value);

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

class PDU__ML3__AuthenticationResponse : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  OCTETSTRING field_authenticationParSRES;
  OPTIONAL< AuthenticationResponseParameterUMTSTLV > field_authenticationParSRESext;
public:
  PDU__ML3__AuthenticationResponse();
  PDU__ML3__AuthenticationResponse(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const OCTETSTRING& par_authenticationParSRES,
    const OPTIONAL< AuthenticationResponseParameterUMTSTLV >& par_authenticationParSRESext);
  PDU__ML3__AuthenticationResponse(const PDU__ML3__AuthenticationResponse& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__AuthenticationResponse& operator=(const PDU__ML3__AuthenticationResponse& other_value);
  boolean operator==(const PDU__ML3__AuthenticationResponse& other_value) const;
  inline boolean operator!=(const PDU__ML3__AuthenticationResponse& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline OCTETSTRING& authenticationParSRES()
    {return field_authenticationParSRES;}
  inline const OCTETSTRING& authenticationParSRES() const
    {return field_authenticationParSRES;}
  inline OPTIONAL< AuthenticationResponseParameterUMTSTLV >& authenticationParSRESext()
    {return field_authenticationParSRESext;}
  inline const OPTIONAL< AuthenticationResponseParameterUMTSTLV >& authenticationParSRESext() const
    {return field_authenticationParSRESext;}
  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__ML3__AuthenticationResponse_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__AuthenticationResponse_template *list_value;
} value_list;
struct {
PDU__ML3__AuthenticationResponse_template* precondition;
PDU__ML3__AuthenticationResponse_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__AuthenticationResponse>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__AuthenticationResponse& other_value);
void copy_template(const PDU__ML3__AuthenticationResponse_template& other_value);

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

class PDU__ML3__AuthenticationFailure : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  OCTETSTRING field_rejectCause;
  OPTIONAL< AuthenticationFailureParametersTLV > field_authenticationParFailure;
public:
  PDU__ML3__AuthenticationFailure();
  PDU__ML3__AuthenticationFailure(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const OCTETSTRING& par_rejectCause,
    const OPTIONAL< AuthenticationFailureParametersTLV >& par_authenticationParFailure);
  PDU__ML3__AuthenticationFailure(const PDU__ML3__AuthenticationFailure& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__AuthenticationFailure& operator=(const PDU__ML3__AuthenticationFailure& other_value);
  boolean operator==(const PDU__ML3__AuthenticationFailure& other_value) const;
  inline boolean operator!=(const PDU__ML3__AuthenticationFailure& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline OCTETSTRING& rejectCause()
    {return field_rejectCause;}
  inline const OCTETSTRING& rejectCause() const
    {return field_rejectCause;}
  inline OPTIONAL< AuthenticationFailureParametersTLV >& authenticationParFailure()
    {return field_authenticationParFailure;}
  inline const OPTIONAL< AuthenticationFailureParametersTLV >& authenticationParFailure() const
    {return field_authenticationParFailure;}
  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__ML3__AuthenticationFailure_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__AuthenticationFailure_template *list_value;
} value_list;
struct {
PDU__ML3__AuthenticationFailure_template* precondition;
PDU__ML3__AuthenticationFailure_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__AuthenticationFailure>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__AuthenticationFailure& other_value);
void copy_template(const PDU__ML3__AuthenticationFailure_template& other_value);

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

class PDU__ML3__CMReestablishmentRequest : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  MobileL3__CommonIE__Types::CipheringKeySequenceNumberV field_cipheringKeySequenceNumber;
  BITSTRING field_spare;
  MobileL3__CommonIE__Types::MobileStationClassmark2__LV field_mobileStationClassmark2;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mobileIdentityLV;
  OPTIONAL< MobileL3__CommonIE__Types::LocationAreaIdentification__TV > field_locationAreaIdentification;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
public:
  PDU__ML3__CMReestablishmentRequest();
  PDU__ML3__CMReestablishmentRequest(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& par_cipheringKeySequenceNumber,
    const BITSTRING& par_spare,
    const MobileL3__CommonIE__Types::MobileStationClassmark2__LV& par_mobileStationClassmark2,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mobileIdentityLV,
    const OPTIONAL< MobileL3__CommonIE__Types::LocationAreaIdentification__TV >& par_locationAreaIdentification,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties);
  PDU__ML3__CMReestablishmentRequest(const PDU__ML3__CMReestablishmentRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__CMReestablishmentRequest& operator=(const PDU__ML3__CMReestablishmentRequest& other_value);
  boolean operator==(const PDU__ML3__CMReestablishmentRequest& other_value) const;
  inline boolean operator!=(const PDU__ML3__CMReestablishmentRequest& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySequenceNumber()
    {return field_cipheringKeySequenceNumber;}
  inline const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySequenceNumber() const
    {return field_cipheringKeySequenceNumber;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline MobileL3__CommonIE__Types::MobileStationClassmark2__LV& mobileStationClassmark2()
    {return field_mobileStationClassmark2;}
  inline const MobileL3__CommonIE__Types::MobileStationClassmark2__LV& mobileStationClassmark2() const
    {return field_mobileStationClassmark2;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentityLV()
    {return field_mobileIdentityLV;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentityLV() const
    {return field_mobileIdentityLV;}
  inline OPTIONAL< MobileL3__CommonIE__Types::LocationAreaIdentification__TV >& locationAreaIdentification()
    {return field_locationAreaIdentification;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::LocationAreaIdentification__TV >& locationAreaIdentification() const
    {return field_locationAreaIdentification;}
  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__ML3__CMReestablishmentRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__CMReestablishmentRequest_template *list_value;
} value_list;
struct {
PDU__ML3__CMReestablishmentRequest_template* precondition;
PDU__ML3__CMReestablishmentRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__CMReestablishmentRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__CMReestablishmentRequest& other_value);
void copy_template(const PDU__ML3__CMReestablishmentRequest_template& other_value);

public:
PDU__ML3__CMReestablishmentRequest_template();
PDU__ML3__CMReestablishmentRequest_template(template_sel other_value);
PDU__ML3__CMReestablishmentRequest_template(const PDU__ML3__CMReestablishmentRequest& other_value);
PDU__ML3__CMReestablishmentRequest_template(const OPTIONAL<PDU__ML3__CMReestablishmentRequest>& other_value);
PDU__ML3__CMReestablishmentRequest_template(PDU__ML3__CMReestablishmentRequest_template* p_precondition, PDU__ML3__CMReestablishmentRequest_template* p_implied_template);
PDU__ML3__CMReestablishmentRequest_template(Dynamic_Match_Interface<PDU__ML3__CMReestablishmentRequest>* p_dyn_match);
PDU__ML3__CMReestablishmentRequest_template(const PDU__ML3__CMReestablishmentRequest_template& other_value);
~PDU__ML3__CMReestablishmentRequest_template();
PDU__ML3__CMReestablishmentRequest_template& operator=(template_sel other_value);
PDU__ML3__CMReestablishmentRequest_template& operator=(const PDU__ML3__CMReestablishmentRequest& other_value);
PDU__ML3__CMReestablishmentRequest_template& operator=(const OPTIONAL<PDU__ML3__CMReestablishmentRequest>& other_value);
PDU__ML3__CMReestablishmentRequest_template& operator=(const PDU__ML3__CMReestablishmentRequest_template& other_value);
boolean match(const PDU__ML3__CMReestablishmentRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__ML3__CMReestablishmentRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__ML3__CMReestablishmentRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
BITSTRING_template& nsd();
const BITSTRING_template& nsd() const;
MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& cipheringKeySequenceNumber();
const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& cipheringKeySequenceNumber() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
MobileL3__CommonIE__Types::MobileStationClassmark2__LV_template& mobileStationClassmark2();
const MobileL3__CommonIE__Types::MobileStationClassmark2__LV_template& mobileStationClassmark2() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentityLV();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentityLV() const;
MobileL3__CommonIE__Types::LocationAreaIdentification__TV_template& locationAreaIdentification();
const MobileL3__CommonIE__Types::LocationAreaIdentification__TV_template& locationAreaIdentification() 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__ML3__CMReestablishmentRequest& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

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

void set_specific();
void copy_value(const PDU__ML3__CMServiceAccept& other_value);
void copy_template(const PDU__ML3__CMServiceAccept_template& other_value);

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

class PDU__ML3__CMServicePrompt : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  MobileL3__CommonIE__Types::PdAndSapi field_pd__sapi;
public:
  PDU__ML3__CMServicePrompt();
  PDU__ML3__CMServicePrompt(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const MobileL3__CommonIE__Types::PdAndSapi& par_pd__sapi);
  PDU__ML3__CMServicePrompt(const PDU__ML3__CMServicePrompt& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__CMServicePrompt& operator=(const PDU__ML3__CMServicePrompt& other_value);
  boolean operator==(const PDU__ML3__CMServicePrompt& other_value) const;
  inline boolean operator!=(const PDU__ML3__CMServicePrompt& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline MobileL3__CommonIE__Types::PdAndSapi& pd__sapi()
    {return field_pd__sapi;}
  inline const MobileL3__CommonIE__Types::PdAndSapi& pd__sapi() const
    {return field_pd__sapi;}
  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__ML3__CMServicePrompt_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__CMServicePrompt_template *list_value;
} value_list;
struct {
PDU__ML3__CMServicePrompt_template* precondition;
PDU__ML3__CMServicePrompt_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__CMServicePrompt>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__CMServicePrompt& other_value);
void copy_template(const PDU__ML3__CMServicePrompt_template& other_value);

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

class PDU__ML3__CMServiceReject : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  OCTETSTRING field_rejectCause;
  OPTIONAL< MM__TimerTLV > field_t3246__Value;
public:
  PDU__ML3__CMServiceReject();
  PDU__ML3__CMServiceReject(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const OCTETSTRING& par_rejectCause,
    const OPTIONAL< MM__TimerTLV >& par_t3246__Value);
  PDU__ML3__CMServiceReject(const PDU__ML3__CMServiceReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__CMServiceReject& operator=(const PDU__ML3__CMServiceReject& other_value);
  boolean operator==(const PDU__ML3__CMServiceReject& other_value) const;
  inline boolean operator!=(const PDU__ML3__CMServiceReject& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline OCTETSTRING& rejectCause()
    {return field_rejectCause;}
  inline const OCTETSTRING& rejectCause() const
    {return field_rejectCause;}
  inline OPTIONAL< MM__TimerTLV >& t3246__Value()
    {return field_t3246__Value;}
  inline const OPTIONAL< MM__TimerTLV >& t3246__Value() const
    {return field_t3246__Value;}
  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__ML3__CMServiceReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__CMServiceReject_template *list_value;
} value_list;
struct {
PDU__ML3__CMServiceReject_template* precondition;
PDU__ML3__CMServiceReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__CMServiceReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__CMServiceReject& other_value);
void copy_template(const PDU__ML3__CMServiceReject_template& other_value);

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

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

void set_specific();
void copy_value(const PDU__ML3__CMServiceAbort& other_value);
void copy_template(const PDU__ML3__CMServiceAbort_template& other_value);

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

class PDU__ML3__Abort : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  OCTETSTRING field_rejectCause;
public:
  PDU__ML3__Abort();
  PDU__ML3__Abort(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const OCTETSTRING& par_rejectCause);
  PDU__ML3__Abort(const PDU__ML3__Abort& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__Abort& operator=(const PDU__ML3__Abort& other_value);
  boolean operator==(const PDU__ML3__Abort& other_value) const;
  inline boolean operator!=(const PDU__ML3__Abort& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline OCTETSTRING& rejectCause()
    {return field_rejectCause;}
  inline const OCTETSTRING& rejectCause() const
    {return field_rejectCause;}
  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__ML3__Abort_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__Abort_template *list_value;
} value_list;
struct {
PDU__ML3__Abort_template* precondition;
PDU__ML3__Abort_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__Abort>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__Abort& other_value);
void copy_template(const PDU__ML3__Abort_template& other_value);

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

class PDU__ML3__CMServiceRequest : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  BITSTRING field_cm__ServiceType;
  MobileL3__CommonIE__Types::CipheringKeySequenceNumberV field_cipheringKeySequenceNumber;
  MobileL3__CommonIE__Types::MobileStationClassmark2__LV field_mobileStationClassmark2;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mobileIdentity;
  OPTIONAL< MobileL3__CommonIE__Types::PriorityLevel__ML3 > field_priorityLevel;
  OPTIONAL< MobileL3__CommonIE__Types::AdditionalUpdateParameterTV > field_additionalUpdateParameterTV;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
public:
  PDU__ML3__CMServiceRequest();
  PDU__ML3__CMServiceRequest(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const BITSTRING& par_cm__ServiceType,
    const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& par_cipheringKeySequenceNumber,
    const MobileL3__CommonIE__Types::MobileStationClassmark2__LV& par_mobileStationClassmark2,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mobileIdentity,
    const OPTIONAL< MobileL3__CommonIE__Types::PriorityLevel__ML3 >& par_priorityLevel,
    const OPTIONAL< MobileL3__CommonIE__Types::AdditionalUpdateParameterTV >& par_additionalUpdateParameterTV,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties);
  PDU__ML3__CMServiceRequest(const PDU__ML3__CMServiceRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__CMServiceRequest& operator=(const PDU__ML3__CMServiceRequest& other_value);
  boolean operator==(const PDU__ML3__CMServiceRequest& other_value) const;
  inline boolean operator!=(const PDU__ML3__CMServiceRequest& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline BITSTRING& cm__ServiceType()
    {return field_cm__ServiceType;}
  inline const BITSTRING& cm__ServiceType() const
    {return field_cm__ServiceType;}
  inline MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySequenceNumber()
    {return field_cipheringKeySequenceNumber;}
  inline const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySequenceNumber() const
    {return field_cipheringKeySequenceNumber;}
  inline MobileL3__CommonIE__Types::MobileStationClassmark2__LV& mobileStationClassmark2()
    {return field_mobileStationClassmark2;}
  inline const MobileL3__CommonIE__Types::MobileStationClassmark2__LV& mobileStationClassmark2() const
    {return field_mobileStationClassmark2;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentity()
    {return field_mobileIdentity;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentity() const
    {return field_mobileIdentity;}
  inline OPTIONAL< MobileL3__CommonIE__Types::PriorityLevel__ML3 >& priorityLevel()
    {return field_priorityLevel;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::PriorityLevel__ML3 >& priorityLevel() const
    {return field_priorityLevel;}
  inline OPTIONAL< MobileL3__CommonIE__Types::AdditionalUpdateParameterTV >& additionalUpdateParameterTV()
    {return field_additionalUpdateParameterTV;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::AdditionalUpdateParameterTV >& additionalUpdateParameterTV() const
    {return field_additionalUpdateParameterTV;}
  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__ML3__CMServiceRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__CMServiceRequest_template *list_value;
} value_list;
struct {
PDU__ML3__CMServiceRequest_template* precondition;
PDU__ML3__CMServiceRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__CMServiceRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__CMServiceRequest& other_value);
void copy_template(const PDU__ML3__CMServiceRequest_template& other_value);

public:
PDU__ML3__CMServiceRequest_template();
PDU__ML3__CMServiceRequest_template(template_sel other_value);
PDU__ML3__CMServiceRequest_template(const PDU__ML3__CMServiceRequest& other_value);
PDU__ML3__CMServiceRequest_template(const OPTIONAL<PDU__ML3__CMServiceRequest>& other_value);
PDU__ML3__CMServiceRequest_template(PDU__ML3__CMServiceRequest_template* p_precondition, PDU__ML3__CMServiceRequest_template* p_implied_template);
PDU__ML3__CMServiceRequest_template(Dynamic_Match_Interface<PDU__ML3__CMServiceRequest>* p_dyn_match);
PDU__ML3__CMServiceRequest_template(const PDU__ML3__CMServiceRequest_template& other_value);
~PDU__ML3__CMServiceRequest_template();
PDU__ML3__CMServiceRequest_template& operator=(template_sel other_value);
PDU__ML3__CMServiceRequest_template& operator=(const PDU__ML3__CMServiceRequest& other_value);
PDU__ML3__CMServiceRequest_template& operator=(const OPTIONAL<PDU__ML3__CMServiceRequest>& other_value);
PDU__ML3__CMServiceRequest_template& operator=(const PDU__ML3__CMServiceRequest_template& other_value);
boolean match(const PDU__ML3__CMServiceRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__ML3__CMServiceRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__ML3__CMServiceRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
BITSTRING_template& nsd();
const BITSTRING_template& nsd() const;
BITSTRING_template& cm__ServiceType();
const BITSTRING_template& cm__ServiceType() const;
MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& cipheringKeySequenceNumber();
const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& cipheringKeySequenceNumber() const;
MobileL3__CommonIE__Types::MobileStationClassmark2__LV_template& mobileStationClassmark2();
const MobileL3__CommonIE__Types::MobileStationClassmark2__LV_template& mobileStationClassmark2() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentity();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentity() const;
MobileL3__CommonIE__Types::PriorityLevel__ML3_template& priorityLevel();
const MobileL3__CommonIE__Types::PriorityLevel__ML3_template& priorityLevel() const;
MobileL3__CommonIE__Types::AdditionalUpdateParameterTV_template& additionalUpdateParameterTV();
const MobileL3__CommonIE__Types::AdditionalUpdateParameterTV_template& additionalUpdateParameterTV() 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__ML3__CMServiceRequest& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__ML3__IdentityRequest : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  BITSTRING field_identityType;
  BITSTRING field_spare1__5;
public:
  PDU__ML3__IdentityRequest();
  PDU__ML3__IdentityRequest(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const BITSTRING& par_identityType,
    const BITSTRING& par_spare1__5);
  PDU__ML3__IdentityRequest(const PDU__ML3__IdentityRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__IdentityRequest& operator=(const PDU__ML3__IdentityRequest& other_value);
  boolean operator==(const PDU__ML3__IdentityRequest& other_value) const;
  inline boolean operator!=(const PDU__ML3__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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline BITSTRING& identityType()
    {return field_identityType;}
  inline const BITSTRING& identityType() const
    {return field_identityType;}
  inline BITSTRING& spare1__5()
    {return field_spare1__5;}
  inline const BITSTRING& spare1__5() const
    {return field_spare1__5;}
  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 PDU__ML3__IdentityRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__IdentityRequest_template *list_value;
} value_list;
struct {
PDU__ML3__IdentityRequest_template* precondition;
PDU__ML3__IdentityRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__IdentityRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__IdentityRequest& other_value);
void copy_template(const PDU__ML3__IdentityRequest_template& other_value);

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

class PDU__ML3__IdentityResponse : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mobileIdentityLV;
  OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV > field_p__TMSI__TypeTV;
  OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV > field_routingAreaIdentification2TLV;
  OPTIONAL< MobileL3__CommonIE__Types::P__TMSISignature2TLV > field_p__TMSISignature2TLV;
public:
  PDU__ML3__IdentityResponse();
  PDU__ML3__IdentityResponse(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mobileIdentityLV,
    const OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& par_p__TMSI__TypeTV,
    const OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& par_routingAreaIdentification2TLV,
    const OPTIONAL< MobileL3__CommonIE__Types::P__TMSISignature2TLV >& par_p__TMSISignature2TLV);
  PDU__ML3__IdentityResponse(const PDU__ML3__IdentityResponse& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__IdentityResponse& operator=(const PDU__ML3__IdentityResponse& other_value);
  boolean operator==(const PDU__ML3__IdentityResponse& other_value) const;
  inline boolean operator!=(const PDU__ML3__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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentityLV()
    {return field_mobileIdentityLV;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentityLV() const
    {return field_mobileIdentityLV;}
  inline OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& p__TMSI__TypeTV()
    {return field_p__TMSI__TypeTV;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::P__TMSI__TypeTV >& p__TMSI__TypeTV() const
    {return field_p__TMSI__TypeTV;}
  inline OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& routingAreaIdentification2TLV()
    {return field_routingAreaIdentification2TLV;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::RoutingAreaIdentification2TLV >& routingAreaIdentification2TLV() const
    {return field_routingAreaIdentification2TLV;}
  inline OPTIONAL< MobileL3__CommonIE__Types::P__TMSISignature2TLV >& p__TMSISignature2TLV()
    {return field_p__TMSISignature2TLV;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::P__TMSISignature2TLV >& p__TMSISignature2TLV() const
    {return field_p__TMSISignature2TLV;}
  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__ML3__IdentityResponse_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__IdentityResponse_template *list_value;
} value_list;
struct {
PDU__ML3__IdentityResponse_template* precondition;
PDU__ML3__IdentityResponse_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__IdentityResponse>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__IdentityResponse& other_value);
void copy_template(const PDU__ML3__IdentityResponse_template& other_value);

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

class PDU__ML3__IMSI__DetachIndication : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  MobileL3__CommonIE__Types::MobileStationClassmark1__V field_mobileStationClassmark1;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mobileIdentityLV;
public:
  PDU__ML3__IMSI__DetachIndication();
  PDU__ML3__IMSI__DetachIndication(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const MobileL3__CommonIE__Types::MobileStationClassmark1__V& par_mobileStationClassmark1,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mobileIdentityLV);
  PDU__ML3__IMSI__DetachIndication(const PDU__ML3__IMSI__DetachIndication& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__IMSI__DetachIndication& operator=(const PDU__ML3__IMSI__DetachIndication& other_value);
  boolean operator==(const PDU__ML3__IMSI__DetachIndication& other_value) const;
  inline boolean operator!=(const PDU__ML3__IMSI__DetachIndication& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline MobileL3__CommonIE__Types::MobileStationClassmark1__V& mobileStationClassmark1()
    {return field_mobileStationClassmark1;}
  inline const MobileL3__CommonIE__Types::MobileStationClassmark1__V& mobileStationClassmark1() const
    {return field_mobileStationClassmark1;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentityLV()
    {return field_mobileIdentityLV;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentityLV() const
    {return field_mobileIdentityLV;}
  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 PDU__ML3__IMSI__DetachIndication_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__IMSI__DetachIndication_template *list_value;
} value_list;
struct {
PDU__ML3__IMSI__DetachIndication_template* precondition;
PDU__ML3__IMSI__DetachIndication_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__IMSI__DetachIndication>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__IMSI__DetachIndication& other_value);
void copy_template(const PDU__ML3__IMSI__DetachIndication_template& other_value);

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

class PDU__ML3__LocationUpdateAccept : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  MobileL3__CommonIE__Types::LocationAreaIdentification__V field_locationAreaIdentification;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_mobileIdentityTLV;
  OPTIONAL< MobileL3__CommonIE__Types::Type2 > field_followOnProceed;
  OPTIONAL< MobileL3__CommonIE__Types::Type2 > field_cTS__Permission;
  OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV > field_equivalentPLMNs;
  OPTIONAL< EmergencyNumberListTLV > field_emergencyNumberList;
  OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV > field_perMS__T3212;
public:
  PDU__ML3__LocationUpdateAccept();
  PDU__ML3__LocationUpdateAccept(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const MobileL3__CommonIE__Types::LocationAreaIdentification__V& par_locationAreaIdentification,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_mobileIdentityTLV,
    const OPTIONAL< MobileL3__CommonIE__Types::Type2 >& par_followOnProceed,
    const OPTIONAL< MobileL3__CommonIE__Types::Type2 >& par_cTS__Permission,
    const OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& par_equivalentPLMNs,
    const OPTIONAL< EmergencyNumberListTLV >& par_emergencyNumberList,
    const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& par_perMS__T3212);
  PDU__ML3__LocationUpdateAccept(const PDU__ML3__LocationUpdateAccept& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__LocationUpdateAccept& operator=(const PDU__ML3__LocationUpdateAccept& other_value);
  boolean operator==(const PDU__ML3__LocationUpdateAccept& other_value) const;
  inline boolean operator!=(const PDU__ML3__LocationUpdateAccept& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline MobileL3__CommonIE__Types::LocationAreaIdentification__V& locationAreaIdentification()
    {return field_locationAreaIdentification;}
  inline const MobileL3__CommonIE__Types::LocationAreaIdentification__V& locationAreaIdentification() const
    {return field_locationAreaIdentification;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& mobileIdentityTLV()
    {return field_mobileIdentityTLV;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& mobileIdentityTLV() const
    {return field_mobileIdentityTLV;}
  inline OPTIONAL< MobileL3__CommonIE__Types::Type2 >& followOnProceed()
    {return field_followOnProceed;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::Type2 >& followOnProceed() const
    {return field_followOnProceed;}
  inline OPTIONAL< MobileL3__CommonIE__Types::Type2 >& cTS__Permission()
    {return field_cTS__Permission;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::Type2 >& cTS__Permission() const
    {return field_cTS__Permission;}
  inline OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& equivalentPLMNs()
    {return field_equivalentPLMNs;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::PLMNListTLV >& equivalentPLMNs() const
    {return field_equivalentPLMNs;}
  inline OPTIONAL< EmergencyNumberListTLV >& emergencyNumberList()
    {return field_emergencyNumberList;}
  inline const OPTIONAL< EmergencyNumberListTLV >& emergencyNumberList() const
    {return field_emergencyNumberList;}
  inline OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& perMS__T3212()
    {return field_perMS__T3212;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::GPRSTimer3TLV >& perMS__T3212() const
    {return field_perMS__T3212;}
  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__ML3__LocationUpdateAccept_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__LocationUpdateAccept_template *list_value;
} value_list;
struct {
PDU__ML3__LocationUpdateAccept_template* precondition;
PDU__ML3__LocationUpdateAccept_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__LocationUpdateAccept>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__LocationUpdateAccept& other_value);
void copy_template(const PDU__ML3__LocationUpdateAccept_template& other_value);

public:
PDU__ML3__LocationUpdateAccept_template();
PDU__ML3__LocationUpdateAccept_template(template_sel other_value);
PDU__ML3__LocationUpdateAccept_template(const PDU__ML3__LocationUpdateAccept& other_value);
PDU__ML3__LocationUpdateAccept_template(const OPTIONAL<PDU__ML3__LocationUpdateAccept>& other_value);
PDU__ML3__LocationUpdateAccept_template(PDU__ML3__LocationUpdateAccept_template* p_precondition, PDU__ML3__LocationUpdateAccept_template* p_implied_template);
PDU__ML3__LocationUpdateAccept_template(Dynamic_Match_Interface<PDU__ML3__LocationUpdateAccept>* p_dyn_match);
PDU__ML3__LocationUpdateAccept_template(const PDU__ML3__LocationUpdateAccept_template& other_value);
~PDU__ML3__LocationUpdateAccept_template();
PDU__ML3__LocationUpdateAccept_template& operator=(template_sel other_value);
PDU__ML3__LocationUpdateAccept_template& operator=(const PDU__ML3__LocationUpdateAccept& other_value);
PDU__ML3__LocationUpdateAccept_template& operator=(const OPTIONAL<PDU__ML3__LocationUpdateAccept>& other_value);
PDU__ML3__LocationUpdateAccept_template& operator=(const PDU__ML3__LocationUpdateAccept_template& other_value);
boolean match(const PDU__ML3__LocationUpdateAccept& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__ML3__LocationUpdateAccept valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__ML3__LocationUpdateAccept_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
BITSTRING_template& nsd();
const BITSTRING_template& nsd() const;
MobileL3__CommonIE__Types::LocationAreaIdentification__V_template& locationAreaIdentification();
const MobileL3__CommonIE__Types::LocationAreaIdentification__V_template& locationAreaIdentification() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& mobileIdentityTLV();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& mobileIdentityTLV() const;
MobileL3__CommonIE__Types::Type2_template& followOnProceed();
const MobileL3__CommonIE__Types::Type2_template& followOnProceed() const;
MobileL3__CommonIE__Types::Type2_template& cTS__Permission();
const MobileL3__CommonIE__Types::Type2_template& cTS__Permission() const;
MobileL3__CommonIE__Types::PLMNListTLV_template& equivalentPLMNs();
const MobileL3__CommonIE__Types::PLMNListTLV_template& equivalentPLMNs() const;
EmergencyNumberListTLV_template& emergencyNumberList();
const EmergencyNumberListTLV_template& emergencyNumberList() const;
MobileL3__CommonIE__Types::GPRSTimer3TLV_template& perMS__T3212();
const MobileL3__CommonIE__Types::GPRSTimer3TLV_template& perMS__T3212() const;
int size_of() const;
void log() const;
void log_match(const PDU__ML3__LocationUpdateAccept& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__ML3__LocationUpdateReject : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  OCTETSTRING field_rejectCause;
  OPTIONAL< MM__TimerTLV > field_t3246__Value;
public:
  PDU__ML3__LocationUpdateReject();
  PDU__ML3__LocationUpdateReject(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const OCTETSTRING& par_rejectCause,
    const OPTIONAL< MM__TimerTLV >& par_t3246__Value);
  PDU__ML3__LocationUpdateReject(const PDU__ML3__LocationUpdateReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__LocationUpdateReject& operator=(const PDU__ML3__LocationUpdateReject& other_value);
  boolean operator==(const PDU__ML3__LocationUpdateReject& other_value) const;
  inline boolean operator!=(const PDU__ML3__LocationUpdateReject& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline OCTETSTRING& rejectCause()
    {return field_rejectCause;}
  inline const OCTETSTRING& rejectCause() const
    {return field_rejectCause;}
  inline OPTIONAL< MM__TimerTLV >& t3246__Value()
    {return field_t3246__Value;}
  inline const OPTIONAL< MM__TimerTLV >& t3246__Value() const
    {return field_t3246__Value;}
  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__ML3__LocationUpdateReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__LocationUpdateReject_template *list_value;
} value_list;
struct {
PDU__ML3__LocationUpdateReject_template* precondition;
PDU__ML3__LocationUpdateReject_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__LocationUpdateReject>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__LocationUpdateReject& other_value);
void copy_template(const PDU__ML3__LocationUpdateReject_template& other_value);

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

class PDU__ML3__LocationUpdateRequest : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  LocationUpdatingType field_locationUpdatingType;
  MobileL3__CommonIE__Types::CipheringKeySequenceNumberV field_cipheringKeySequenceNumber;
  MobileL3__CommonIE__Types::LocationAreaIdentification__V field_locationAreaIdentification;
  MobileL3__CommonIE__Types::MobileStationClassmark1__V field_mobileStationClassmark1;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mobileIdentityLV;
  OPTIONAL< MobileL3__CommonIE__Types::ClassmarkInformationType2__forUMTS > field_classmarkInformationType2__forUMTS;
  OPTIONAL< MobileL3__CommonIE__Types::AdditionalUpdateParameterTV > field_additionalUpdateParameterTV;
  OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV > field_deviceProperties;
  OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV > field_mS__NetworkFeatureSupport;
public:
  PDU__ML3__LocationUpdateRequest();
  PDU__ML3__LocationUpdateRequest(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const LocationUpdatingType& par_locationUpdatingType,
    const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& par_cipheringKeySequenceNumber,
    const MobileL3__CommonIE__Types::LocationAreaIdentification__V& par_locationAreaIdentification,
    const MobileL3__CommonIE__Types::MobileStationClassmark1__V& par_mobileStationClassmark1,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mobileIdentityLV,
    const OPTIONAL< MobileL3__CommonIE__Types::ClassmarkInformationType2__forUMTS >& par_classmarkInformationType2__forUMTS,
    const OPTIONAL< MobileL3__CommonIE__Types::AdditionalUpdateParameterTV >& par_additionalUpdateParameterTV,
    const OPTIONAL< MobileL3__CommonIE__Types::DevicePropertiesTV >& par_deviceProperties,
    const OPTIONAL< MobileL3__CommonIE__Types::MS__NetworkFeatureSupportTV >& par_mS__NetworkFeatureSupport);
  PDU__ML3__LocationUpdateRequest(const PDU__ML3__LocationUpdateRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__LocationUpdateRequest& operator=(const PDU__ML3__LocationUpdateRequest& other_value);
  boolean operator==(const PDU__ML3__LocationUpdateRequest& other_value) const;
  inline boolean operator!=(const PDU__ML3__LocationUpdateRequest& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline LocationUpdatingType& locationUpdatingType()
    {return field_locationUpdatingType;}
  inline const LocationUpdatingType& locationUpdatingType() const
    {return field_locationUpdatingType;}
  inline MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySequenceNumber()
    {return field_cipheringKeySequenceNumber;}
  inline const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV& cipheringKeySequenceNumber() const
    {return field_cipheringKeySequenceNumber;}
  inline MobileL3__CommonIE__Types::LocationAreaIdentification__V& locationAreaIdentification()
    {return field_locationAreaIdentification;}
  inline const MobileL3__CommonIE__Types::LocationAreaIdentification__V& locationAreaIdentification() const
    {return field_locationAreaIdentification;}
  inline MobileL3__CommonIE__Types::MobileStationClassmark1__V& mobileStationClassmark1()
    {return field_mobileStationClassmark1;}
  inline const MobileL3__CommonIE__Types::MobileStationClassmark1__V& mobileStationClassmark1() const
    {return field_mobileStationClassmark1;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentityLV()
    {return field_mobileIdentityLV;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mobileIdentityLV() const
    {return field_mobileIdentityLV;}
  inline OPTIONAL< MobileL3__CommonIE__Types::ClassmarkInformationType2__forUMTS >& classmarkInformationType2__forUMTS()
    {return field_classmarkInformationType2__forUMTS;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::ClassmarkInformationType2__forUMTS >& classmarkInformationType2__forUMTS() const
    {return field_classmarkInformationType2__forUMTS;}
  inline OPTIONAL< MobileL3__CommonIE__Types::AdditionalUpdateParameterTV >& additionalUpdateParameterTV()
    {return field_additionalUpdateParameterTV;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::AdditionalUpdateParameterTV >& additionalUpdateParameterTV() const
    {return field_additionalUpdateParameterTV;}
  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;}
  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__ML3__LocationUpdateRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__LocationUpdateRequest_template *list_value;
} value_list;
struct {
PDU__ML3__LocationUpdateRequest_template* precondition;
PDU__ML3__LocationUpdateRequest_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__LocationUpdateRequest>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__LocationUpdateRequest& other_value);
void copy_template(const PDU__ML3__LocationUpdateRequest_template& other_value);

public:
PDU__ML3__LocationUpdateRequest_template();
PDU__ML3__LocationUpdateRequest_template(template_sel other_value);
PDU__ML3__LocationUpdateRequest_template(const PDU__ML3__LocationUpdateRequest& other_value);
PDU__ML3__LocationUpdateRequest_template(const OPTIONAL<PDU__ML3__LocationUpdateRequest>& other_value);
PDU__ML3__LocationUpdateRequest_template(PDU__ML3__LocationUpdateRequest_template* p_precondition, PDU__ML3__LocationUpdateRequest_template* p_implied_template);
PDU__ML3__LocationUpdateRequest_template(Dynamic_Match_Interface<PDU__ML3__LocationUpdateRequest>* p_dyn_match);
PDU__ML3__LocationUpdateRequest_template(const PDU__ML3__LocationUpdateRequest_template& other_value);
~PDU__ML3__LocationUpdateRequest_template();
PDU__ML3__LocationUpdateRequest_template& operator=(template_sel other_value);
PDU__ML3__LocationUpdateRequest_template& operator=(const PDU__ML3__LocationUpdateRequest& other_value);
PDU__ML3__LocationUpdateRequest_template& operator=(const OPTIONAL<PDU__ML3__LocationUpdateRequest>& other_value);
PDU__ML3__LocationUpdateRequest_template& operator=(const PDU__ML3__LocationUpdateRequest_template& other_value);
boolean match(const PDU__ML3__LocationUpdateRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__ML3__LocationUpdateRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__ML3__LocationUpdateRequest_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
BITSTRING_template& nsd();
const BITSTRING_template& nsd() const;
LocationUpdatingType_template& locationUpdatingType();
const LocationUpdatingType_template& locationUpdatingType() const;
MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& cipheringKeySequenceNumber();
const MobileL3__CommonIE__Types::CipheringKeySequenceNumberV_template& cipheringKeySequenceNumber() const;
MobileL3__CommonIE__Types::LocationAreaIdentification__V_template& locationAreaIdentification();
const MobileL3__CommonIE__Types::LocationAreaIdentification__V_template& locationAreaIdentification() const;
MobileL3__CommonIE__Types::MobileStationClassmark1__V_template& mobileStationClassmark1();
const MobileL3__CommonIE__Types::MobileStationClassmark1__V_template& mobileStationClassmark1() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentityLV();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mobileIdentityLV() const;
MobileL3__CommonIE__Types::ClassmarkInformationType2__forUMTS_template& classmarkInformationType2__forUMTS();
const MobileL3__CommonIE__Types::ClassmarkInformationType2__forUMTS_template& classmarkInformationType2__forUMTS() const;
MobileL3__CommonIE__Types::AdditionalUpdateParameterTV_template& additionalUpdateParameterTV();
const MobileL3__CommonIE__Types::AdditionalUpdateParameterTV_template& additionalUpdateParameterTV() 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;
int size_of() const;
void log() const;
void log_match(const PDU__ML3__LocationUpdateRequest& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__ML3__MMInformation : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  OPTIONAL< NetworkNameTLV > field_fullNetworkName;
  OPTIONAL< NetworkNameTLV > field_shortNetworkName;
  OPTIONAL< TimeZoneTV > field_localtimeZone;
  OPTIONAL< TimeZoneAndTimeTV > field_univTime;
  OPTIONAL< LSA__IdentifierTLV > field_lSAIdentity;
  OPTIONAL< DaylightSavingTimeTLV > field_networkDST;
public:
  PDU__ML3__MMInformation();
  PDU__ML3__MMInformation(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const OPTIONAL< NetworkNameTLV >& par_fullNetworkName,
    const OPTIONAL< NetworkNameTLV >& par_shortNetworkName,
    const OPTIONAL< TimeZoneTV >& par_localtimeZone,
    const OPTIONAL< TimeZoneAndTimeTV >& par_univTime,
    const OPTIONAL< LSA__IdentifierTLV >& par_lSAIdentity,
    const OPTIONAL< DaylightSavingTimeTLV >& par_networkDST);
  PDU__ML3__MMInformation(const PDU__ML3__MMInformation& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__MMInformation& operator=(const PDU__ML3__MMInformation& other_value);
  boolean operator==(const PDU__ML3__MMInformation& other_value) const;
  inline boolean operator!=(const PDU__ML3__MMInformation& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline OPTIONAL< NetworkNameTLV >& fullNetworkName()
    {return field_fullNetworkName;}
  inline const OPTIONAL< NetworkNameTLV >& fullNetworkName() const
    {return field_fullNetworkName;}
  inline OPTIONAL< NetworkNameTLV >& shortNetworkName()
    {return field_shortNetworkName;}
  inline const OPTIONAL< NetworkNameTLV >& shortNetworkName() const
    {return field_shortNetworkName;}
  inline OPTIONAL< TimeZoneTV >& localtimeZone()
    {return field_localtimeZone;}
  inline const OPTIONAL< TimeZoneTV >& localtimeZone() const
    {return field_localtimeZone;}
  inline OPTIONAL< TimeZoneAndTimeTV >& univTime()
    {return field_univTime;}
  inline const OPTIONAL< TimeZoneAndTimeTV >& univTime() const
    {return field_univTime;}
  inline OPTIONAL< LSA__IdentifierTLV >& lSAIdentity()
    {return field_lSAIdentity;}
  inline const OPTIONAL< LSA__IdentifierTLV >& lSAIdentity() const
    {return field_lSAIdentity;}
  inline OPTIONAL< DaylightSavingTimeTLV >& networkDST()
    {return field_networkDST;}
  inline const OPTIONAL< DaylightSavingTimeTLV >& networkDST() const
    {return field_networkDST;}
  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__ML3__MMInformation_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__MMInformation_template *list_value;
} value_list;
struct {
PDU__ML3__MMInformation_template* precondition;
PDU__ML3__MMInformation_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__MMInformation>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__MMInformation& other_value);
void copy_template(const PDU__ML3__MMInformation_template& other_value);

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

class PDU__ML3__MMStatus : public Base_Type {
  BITSTRING field_messageType;
  BITSTRING field_nsd;
  OCTETSTRING field_rejectCause;
public:
  PDU__ML3__MMStatus();
  PDU__ML3__MMStatus(const BITSTRING& par_messageType,
    const BITSTRING& par_nsd,
    const OCTETSTRING& par_rejectCause);
  PDU__ML3__MMStatus(const PDU__ML3__MMStatus& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__ML3__MMStatus& operator=(const PDU__ML3__MMStatus& other_value);
  boolean operator==(const PDU__ML3__MMStatus& other_value) const;
  inline boolean operator!=(const PDU__ML3__MMStatus& 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 BITSTRING& nsd()
    {return field_nsd;}
  inline const BITSTRING& nsd() const
    {return field_nsd;}
  inline OCTETSTRING& rejectCause()
    {return field_rejectCause;}
  inline const OCTETSTRING& rejectCause() const
    {return field_rejectCause;}
  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__ML3__MMStatus_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__ML3__MMStatus_template *list_value;
} value_list;
struct {
PDU__ML3__MMStatus_template* precondition;
PDU__ML3__MMStatus_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__MMStatus>* dyn_match;
};

void set_specific();
void copy_value(const PDU__ML3__MMStatus& other_value);
void copy_template(const PDU__ML3__MMStatus_template& other_value);

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

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

void set_specific();
void copy_value(const PDU__ML3__TMSI__ReallocationCommand& other_value);
void copy_template(const PDU__ML3__TMSI__ReallocationCommand_template& other_value);

public:
PDU__ML3__TMSI__ReallocationCommand_template();
PDU__ML3__TMSI__ReallocationCommand_template(template_sel other_value);
PDU__ML3__TMSI__ReallocationCommand_template(const PDU__ML3__TMSI__ReallocationCommand& other_value);
PDU__ML3__TMSI__ReallocationCommand_template(const OPTIONAL<PDU__ML3__TMSI__ReallocationCommand>& other_value);
PDU__ML3__TMSI__ReallocationCommand_template(PDU__ML3__TMSI__ReallocationCommand_template* p_precondition, PDU__ML3__TMSI__ReallocationCommand_template* p_implied_template);
PDU__ML3__TMSI__ReallocationCommand_template(Dynamic_Match_Interface<PDU__ML3__TMSI__ReallocationCommand>* p_dyn_match);
PDU__ML3__TMSI__ReallocationCommand_template(const PDU__ML3__TMSI__ReallocationCommand_template& other_value);
~PDU__ML3__TMSI__ReallocationCommand_template();
PDU__ML3__TMSI__ReallocationCommand_template& operator=(template_sel other_value);
PDU__ML3__TMSI__ReallocationCommand_template& operator=(const PDU__ML3__TMSI__ReallocationCommand& other_value);
PDU__ML3__TMSI__ReallocationCommand_template& operator=(const OPTIONAL<PDU__ML3__TMSI__ReallocationCommand>& other_value);
PDU__ML3__TMSI__ReallocationCommand_template& operator=(const PDU__ML3__TMSI__ReallocationCommand_template& other_value);
boolean match(const PDU__ML3__TMSI__ReallocationCommand& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__ML3__TMSI__ReallocationCommand valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__ML3__TMSI__ReallocationCommand_template& list_item(unsigned int list_index) const;
BITSTRING_template& messageType();
const BITSTRING_template& messageType() const;
BITSTRING_template& nsd();
const BITSTRING_template& nsd() const;
MobileL3__CommonIE__Types::LocationAreaIdentification__V_template& locationAreaIdentification();
const MobileL3__CommonIE__Types::LocationAreaIdentification__V_template& locationAreaIdentification() 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__ML3__TMSI__ReallocationCommand& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

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

void set_specific();
void copy_value(const PDU__ML3__TMSI__ReallocationComplete& other_value);
void copy_template(const PDU__ML3__TMSI__ReallocationComplete_template& other_value);

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

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

void set_specific();
void copy_value(const PDU__ML3__MMNull& other_value);
void copy_template(const PDU__ML3__MMNull_template& other_value);

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

class PDU__ML3__MM : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_imsiDetachIndication = 1, ALT_locationUpdateAccept = 2, ALT_locationUpdateReject = 3, ALT_locationUpdateRequest = 4, ALT_authenticationReject = 5, ALT_authenticationRequest = 6, ALT_authenticationResponse = 7, ALT_authenticationFailure = 8, ALT_identityRequest = 9, ALT_identityResponse = 10, ALT_tmsiReallocCommand = 11, ALT_tmsiReallocComplete = 12, ALT_cMServiceAbort = 13, ALT_cMServiceAccept = 14, ALT_cMServiceReject = 15, ALT_cMServiceRequest = 16, ALT_cMServicePrompt = 17, ALT_cMReEstablReq = 18, ALT_abort = 19, ALT_mMNull = 20, ALT_mMStatus = 21, ALT_mMInformation = 22 };
private:
union_selection_type union_selection;
union {
PDU__ML3__IMSI__DetachIndication *field_imsiDetachIndication;
PDU__ML3__LocationUpdateAccept *field_locationUpdateAccept;
PDU__ML3__LocationUpdateReject *field_locationUpdateReject;
PDU__ML3__LocationUpdateRequest *field_locationUpdateRequest;
PDU__ML3__AuthenticationReject *field_authenticationReject;
PDU__ML3__AuthenticationRequest *field_authenticationRequest;
PDU__ML3__AuthenticationResponse *field_authenticationResponse;
PDU__ML3__AuthenticationFailure *field_authenticationFailure;
PDU__ML3__IdentityRequest *field_identityRequest;
PDU__ML3__IdentityResponse *field_identityResponse;
PDU__ML3__TMSI__ReallocationCommand *field_tmsiReallocCommand;
PDU__ML3__TMSI__ReallocationComplete *field_tmsiReallocComplete;
PDU__ML3__CMServiceAbort *field_cMServiceAbort;
PDU__ML3__CMServiceAccept *field_cMServiceAccept;
PDU__ML3__CMServiceReject *field_cMServiceReject;
PDU__ML3__CMServiceRequest *field_cMServiceRequest;
PDU__ML3__CMServicePrompt *field_cMServicePrompt;
PDU__ML3__CMReestablishmentRequest *field_cMReEstablReq;
PDU__ML3__Abort *field_abort;
PDU__ML3__MMNull *field_mMNull;
PDU__ML3__MMStatus *field_mMStatus;
PDU__ML3__MMInformation *field_mMInformation;
};
void copy_value(const PDU__ML3__MM& other_value);

public:
PDU__ML3__MM();
PDU__ML3__MM(const PDU__ML3__MM& other_value);
~PDU__ML3__MM();
PDU__ML3__MM& operator=(const PDU__ML3__MM& other_value);
boolean operator==(const PDU__ML3__MM& other_value) const;
inline boolean operator!=(const PDU__ML3__MM& other_value) const { return !(*this == other_value); }
PDU__ML3__IMSI__DetachIndication& imsiDetachIndication();
const PDU__ML3__IMSI__DetachIndication& imsiDetachIndication() const;
PDU__ML3__LocationUpdateAccept& locationUpdateAccept();
const PDU__ML3__LocationUpdateAccept& locationUpdateAccept() const;
PDU__ML3__LocationUpdateReject& locationUpdateReject();
const PDU__ML3__LocationUpdateReject& locationUpdateReject() const;
PDU__ML3__LocationUpdateRequest& locationUpdateRequest();
const PDU__ML3__LocationUpdateRequest& locationUpdateRequest() const;
PDU__ML3__AuthenticationReject& authenticationReject();
const PDU__ML3__AuthenticationReject& authenticationReject() const;
PDU__ML3__AuthenticationRequest& authenticationRequest();
const PDU__ML3__AuthenticationRequest& authenticationRequest() const;
PDU__ML3__AuthenticationResponse& authenticationResponse();
const PDU__ML3__AuthenticationResponse& authenticationResponse() const;
PDU__ML3__AuthenticationFailure& authenticationFailure();
const PDU__ML3__AuthenticationFailure& authenticationFailure() const;
PDU__ML3__IdentityRequest& identityRequest();
const PDU__ML3__IdentityRequest& identityRequest() const;
PDU__ML3__IdentityResponse& identityResponse();
const PDU__ML3__IdentityResponse& identityResponse() const;
PDU__ML3__TMSI__ReallocationCommand& tmsiReallocCommand();
const PDU__ML3__TMSI__ReallocationCommand& tmsiReallocCommand() const;
PDU__ML3__TMSI__ReallocationComplete& tmsiReallocComplete();
const PDU__ML3__TMSI__ReallocationComplete& tmsiReallocComplete() const;
PDU__ML3__CMServiceAbort& cMServiceAbort();
const PDU__ML3__CMServiceAbort& cMServiceAbort() const;
PDU__ML3__CMServiceAccept& cMServiceAccept();
const PDU__ML3__CMServiceAccept& cMServiceAccept() const;
PDU__ML3__CMServiceReject& cMServiceReject();
const PDU__ML3__CMServiceReject& cMServiceReject() const;
PDU__ML3__CMServiceRequest& cMServiceRequest();
const PDU__ML3__CMServiceRequest& cMServiceRequest() const;
PDU__ML3__CMServicePrompt& cMServicePrompt();
const PDU__ML3__CMServicePrompt& cMServicePrompt() const;
PDU__ML3__CMReestablishmentRequest& cMReEstablReq();
const PDU__ML3__CMReestablishmentRequest& cMReEstablReq() const;
PDU__ML3__Abort& abort();
const PDU__ML3__Abort& abort() const;
PDU__ML3__MMNull& mMNull();
const PDU__ML3__MMNull& mMNull() const;
PDU__ML3__MMStatus& mMStatus();
const PDU__ML3__MMStatus& mMStatus() const;
PDU__ML3__MMInformation& mMInformation();
const PDU__ML3__MMInformation& mMInformation() 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 PDU__ML3__MM_template : public Base_Template {
union {
struct {
PDU__ML3__MM::union_selection_type union_selection;
union {
PDU__ML3__IMSI__DetachIndication_template *field_imsiDetachIndication;
PDU__ML3__LocationUpdateAccept_template *field_locationUpdateAccept;
PDU__ML3__LocationUpdateReject_template *field_locationUpdateReject;
PDU__ML3__LocationUpdateRequest_template *field_locationUpdateRequest;
PDU__ML3__AuthenticationReject_template *field_authenticationReject;
PDU__ML3__AuthenticationRequest_template *field_authenticationRequest;
PDU__ML3__AuthenticationResponse_template *field_authenticationResponse;
PDU__ML3__AuthenticationFailure_template *field_authenticationFailure;
PDU__ML3__IdentityRequest_template *field_identityRequest;
PDU__ML3__IdentityResponse_template *field_identityResponse;
PDU__ML3__TMSI__ReallocationCommand_template *field_tmsiReallocCommand;
PDU__ML3__TMSI__ReallocationComplete_template *field_tmsiReallocComplete;
PDU__ML3__CMServiceAbort_template *field_cMServiceAbort;
PDU__ML3__CMServiceAccept_template *field_cMServiceAccept;
PDU__ML3__CMServiceReject_template *field_cMServiceReject;
PDU__ML3__CMServiceRequest_template *field_cMServiceRequest;
PDU__ML3__CMServicePrompt_template *field_cMServicePrompt;
PDU__ML3__CMReestablishmentRequest_template *field_cMReEstablReq;
PDU__ML3__Abort_template *field_abort;
PDU__ML3__MMNull_template *field_mMNull;
PDU__ML3__MMStatus_template *field_mMStatus;
PDU__ML3__MMInformation_template *field_mMInformation;
};
} single_value;
struct {
unsigned int n_values;
PDU__ML3__MM_template *list_value;
} value_list;
struct {
PDU__ML3__MM_template* precondition;
PDU__ML3__MM_template* implied_template;
} implication_;
dynmatch_struct<PDU__ML3__MM>* dyn_match;
};
void copy_value(const PDU__ML3__MM& other_value);

void copy_template(const PDU__ML3__MM_template& other_value);

public:
PDU__ML3__MM_template();
PDU__ML3__MM_template(template_sel other_value);
PDU__ML3__MM_template(const PDU__ML3__MM& other_value);
PDU__ML3__MM_template(const OPTIONAL<PDU__ML3__MM>& other_value);
PDU__ML3__MM_template(PDU__ML3__MM_template* p_precondition, PDU__ML3__MM_template* p_implied_template);
PDU__ML3__MM_template(Dynamic_Match_Interface<PDU__ML3__MM>* p_dyn_match);
PDU__ML3__MM_template(const PDU__ML3__MM_template& other_value);
~PDU__ML3__MM_template();
void clean_up();
PDU__ML3__MM_template& operator=(template_sel other_value);
PDU__ML3__MM_template& operator=(const PDU__ML3__MM& other_value);
PDU__ML3__MM_template& operator=(const OPTIONAL<PDU__ML3__MM>& other_value);
PDU__ML3__MM_template& operator=(const PDU__ML3__MM_template& other_value);
boolean match(const PDU__ML3__MM& other_value, boolean legacy = FALSE) const;
boolean is_value() const;PDU__ML3__MM valueof() const;
PDU__ML3__MM_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__ML3__IMSI__DetachIndication_template& imsiDetachIndication();
const PDU__ML3__IMSI__DetachIndication_template& imsiDetachIndication() const;
PDU__ML3__LocationUpdateAccept_template& locationUpdateAccept();
const PDU__ML3__LocationUpdateAccept_template& locationUpdateAccept() const;
PDU__ML3__LocationUpdateReject_template& locationUpdateReject();
const PDU__ML3__LocationUpdateReject_template& locationUpdateReject() const;
PDU__ML3__LocationUpdateRequest_template& locationUpdateRequest();
const PDU__ML3__LocationUpdateRequest_template& locationUpdateRequest() const;
PDU__ML3__AuthenticationReject_template& authenticationReject();
const PDU__ML3__AuthenticationReject_template& authenticationReject() const;
PDU__ML3__AuthenticationRequest_template& authenticationRequest();
const PDU__ML3__AuthenticationRequest_template& authenticationRequest() const;
PDU__ML3__AuthenticationResponse_template& authenticationResponse();
const PDU__ML3__AuthenticationResponse_template& authenticationResponse() const;
PDU__ML3__AuthenticationFailure_template& authenticationFailure();
const PDU__ML3__AuthenticationFailure_template& authenticationFailure() const;
PDU__ML3__IdentityRequest_template& identityRequest();
const PDU__ML3__IdentityRequest_template& identityRequest() const;
PDU__ML3__IdentityResponse_template& identityResponse();
const PDU__ML3__IdentityResponse_template& identityResponse() const;
PDU__ML3__TMSI__ReallocationCommand_template& tmsiReallocCommand();
const PDU__ML3__TMSI__ReallocationCommand_template& tmsiReallocCommand() const;
PDU__ML3__TMSI__ReallocationComplete_template& tmsiReallocComplete();
const PDU__ML3__TMSI__ReallocationComplete_template& tmsiReallocComplete() const;
PDU__ML3__CMServiceAbort_template& cMServiceAbort();
const PDU__ML3__CMServiceAbort_template& cMServiceAbort() const;
PDU__ML3__CMServiceAccept_template& cMServiceAccept();
const PDU__ML3__CMServiceAccept_template& cMServiceAccept() const;
PDU__ML3__CMServiceReject_template& cMServiceReject();
const PDU__ML3__CMServiceReject_template& cMServiceReject() const;
PDU__ML3__CMServiceRequest_template& cMServiceRequest();
const PDU__ML3__CMServiceRequest_template& cMServiceRequest() const;
PDU__ML3__CMServicePrompt_template& cMServicePrompt();
const PDU__ML3__CMServicePrompt_template& cMServicePrompt() const;
PDU__ML3__CMReestablishmentRequest_template& cMReEstablReq();
const PDU__ML3__CMReestablishmentRequest_template& cMReEstablReq() const;
PDU__ML3__Abort_template& abort();
const PDU__ML3__Abort_template& abort() const;
PDU__ML3__MMNull_template& mMNull();
const PDU__ML3__MMNull_template& mMNull() const;
PDU__ML3__MMStatus_template& mMStatus();
const PDU__ML3__MMStatus_template& mMStatus() const;
PDU__ML3__MMInformation_template& mMInformation();
const PDU__ML3__MMInformation_template& mMInformation() const;
boolean ischosen(PDU__ML3__MM::union_selection_type checked_selection) const;
void log() const;
void log_match(const PDU__ML3__MM& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};


/* Function prototypes */

extern void AuthenticationParameterRANDTV_encoder(const AuthenticationParameterRANDTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationParameterRANDTV_decoder(OCTETSTRING& input_stream, AuthenticationParameterRANDTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationParameterAUTNTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationParameterAUTNTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationParameterAUTNTLV_encoder(const AuthenticationParameterAUTNTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationParameterAUTNTLV_decoder(OCTETSTRING& input_stream, AuthenticationParameterAUTNTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationResponseParameterTV_valueField_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationResponseParameterTV_valueField_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationResponseParameterTV_encoder(const AuthenticationResponseParameterTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationResponseParameterTV_decoder(OCTETSTRING& input_stream, AuthenticationResponseParameterTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationResponseParameterUMTSTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationResponseParameterUMTSTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationResponseParameterUMTSTLV_valueField_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationResponseParameterUMTSTLV_valueField_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationResponseParameterUMTSTLV_encoder(const AuthenticationResponseParameterUMTSTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationResponseParameterUMTSTLV_decoder(OCTETSTRING& input_stream, AuthenticationResponseParameterUMTSTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationFailureParametersTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationFailureParametersTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationFailureParametersTLV_valueField_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationFailureParametersTLV_valueField_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AuthenticationFailureParametersTLV_encoder(const AuthenticationFailureParametersTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AuthenticationFailureParametersTLV_decoder(OCTETSTRING& input_stream, AuthenticationFailureParametersTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LocationUpdatingType_encoder(const LocationUpdatingType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LocationUpdatingType_decoder(OCTETSTRING& input_stream, LocationUpdatingType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkNameTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkNameTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkNameV_textString_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkNameV_textString_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkNameV_encoder(const NetworkNameV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkNameV_decoder(OCTETSTRING& input_stream, NetworkNameV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NetworkNameTLV_encoder(const NetworkNameTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NetworkNameTLV_decoder(OCTETSTRING& input_stream, NetworkNameTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TimeZoneV_encoder(const TimeZoneV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TimeZoneV_decoder(OCTETSTRING& input_stream, TimeZoneV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TimeZoneTV_encoder(const TimeZoneTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TimeZoneTV_decoder(OCTETSTRING& input_stream, TimeZoneTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TimeZoneAndTimeV_encoder(const TimeZoneAndTimeV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TimeZoneAndTimeV_decoder(OCTETSTRING& input_stream, TimeZoneAndTimeV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TimeZoneAndTimeTV_encoder(const TimeZoneAndTimeTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TimeZoneAndTimeTV_decoder(OCTETSTRING& input_stream, TimeZoneAndTimeTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LSA__IdentifierTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LSA__IdentifierTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LSA__IdentifierV_lsa__id_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LSA__IdentifierV_lsa__id_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LSA__IdentifierV_encoder(const LSA__IdentifierV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LSA__IdentifierV_decoder(OCTETSTRING& input_stream, LSA__IdentifierV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LSA__IdentifierTLV_encoder(const LSA__IdentifierTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LSA__IdentifierTLV_decoder(OCTETSTRING& input_stream, LSA__IdentifierTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DaylightSavingTimeTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DaylightSavingTimeTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DaylightSavingTimeV_encoder(const DaylightSavingTimeV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DaylightSavingTimeV_decoder(OCTETSTRING& input_stream, DaylightSavingTimeV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DaylightSavingTimeTLV_encoder(const DaylightSavingTimeTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DaylightSavingTimeTLV_decoder(OCTETSTRING& input_stream, DaylightSavingTimeTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EmergencyNumberListTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EmergencyNumberListTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const EmergencyNumberListV& other_value);
inline boolean operator!=(null_type null_value, const EmergencyNumberListV& other_value) { return !(null_value == other_value); }
extern void EmergencyNumber_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EmergencyNumber_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EmergencyServiceCategory_encoder(const EmergencyServiceCategory& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EmergencyServiceCategory_decoder(OCTETSTRING& input_stream, EmergencyServiceCategory& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EmergencyNumber_emergencyNumber_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EmergencyNumber_emergencyNumber_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EmergencyNumber_encoder(const EmergencyNumber& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EmergencyNumber_decoder(OCTETSTRING& input_stream, EmergencyNumber& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EmergencyNumberListV_encoder(const EmergencyNumberListV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EmergencyNumberListV_decoder(OCTETSTRING& input_stream, EmergencyNumberListV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EmergencyNumberListTLV_encoder(const EmergencyNumberListTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EmergencyNumberListTLV_decoder(OCTETSTRING& input_stream, EmergencyNumberListTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MM__TimerTLV_lengthIndicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MM__TimerTLV_lengthIndicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MM__TimerV_encoder(const MM__TimerV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MM__TimerV_decoder(OCTETSTRING& input_stream, MM__TimerV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MM__TimerTLV_encoder(const MM__TimerTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MM__TimerTLV_decoder(OCTETSTRING& input_stream, MM__TimerTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__AuthenticationReject_encoder(const PDU__ML3__AuthenticationReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__AuthenticationReject_decoder(OCTETSTRING& input_stream, PDU__ML3__AuthenticationReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__AuthenticationRequest_encoder(const PDU__ML3__AuthenticationRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__AuthenticationRequest_decoder(OCTETSTRING& input_stream, PDU__ML3__AuthenticationRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__AuthenticationResponse_encoder(const PDU__ML3__AuthenticationResponse& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__AuthenticationResponse_decoder(OCTETSTRING& input_stream, PDU__ML3__AuthenticationResponse& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__AuthenticationFailure_encoder(const PDU__ML3__AuthenticationFailure& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__AuthenticationFailure_decoder(OCTETSTRING& input_stream, PDU__ML3__AuthenticationFailure& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__CMReestablishmentRequest_encoder(const PDU__ML3__CMReestablishmentRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__CMReestablishmentRequest_decoder(OCTETSTRING& input_stream, PDU__ML3__CMReestablishmentRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__CMServiceAccept_encoder(const PDU__ML3__CMServiceAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__CMServiceAccept_decoder(OCTETSTRING& input_stream, PDU__ML3__CMServiceAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__CMServicePrompt_encoder(const PDU__ML3__CMServicePrompt& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__CMServicePrompt_decoder(OCTETSTRING& input_stream, PDU__ML3__CMServicePrompt& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__CMServiceReject_encoder(const PDU__ML3__CMServiceReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__CMServiceReject_decoder(OCTETSTRING& input_stream, PDU__ML3__CMServiceReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__CMServiceAbort_encoder(const PDU__ML3__CMServiceAbort& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__CMServiceAbort_decoder(OCTETSTRING& input_stream, PDU__ML3__CMServiceAbort& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__Abort_encoder(const PDU__ML3__Abort& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__Abort_decoder(OCTETSTRING& input_stream, PDU__ML3__Abort& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__CMServiceRequest_encoder(const PDU__ML3__CMServiceRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__CMServiceRequest_decoder(OCTETSTRING& input_stream, PDU__ML3__CMServiceRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__IdentityRequest_encoder(const PDU__ML3__IdentityRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__IdentityRequest_decoder(OCTETSTRING& input_stream, PDU__ML3__IdentityRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__IdentityResponse_encoder(const PDU__ML3__IdentityResponse& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__IdentityResponse_decoder(OCTETSTRING& input_stream, PDU__ML3__IdentityResponse& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__IMSI__DetachIndication_encoder(const PDU__ML3__IMSI__DetachIndication& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__IMSI__DetachIndication_decoder(OCTETSTRING& input_stream, PDU__ML3__IMSI__DetachIndication& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__LocationUpdateAccept_encoder(const PDU__ML3__LocationUpdateAccept& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__LocationUpdateAccept_decoder(OCTETSTRING& input_stream, PDU__ML3__LocationUpdateAccept& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__LocationUpdateReject_encoder(const PDU__ML3__LocationUpdateReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__LocationUpdateReject_decoder(OCTETSTRING& input_stream, PDU__ML3__LocationUpdateReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__LocationUpdateRequest_encoder(const PDU__ML3__LocationUpdateRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__LocationUpdateRequest_decoder(OCTETSTRING& input_stream, PDU__ML3__LocationUpdateRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__MMInformation_encoder(const PDU__ML3__MMInformation& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__MMInformation_decoder(OCTETSTRING& input_stream, PDU__ML3__MMInformation& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__MMStatus_encoder(const PDU__ML3__MMStatus& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__MMStatus_decoder(OCTETSTRING& input_stream, PDU__ML3__MMStatus& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__TMSI__ReallocationCommand_encoder(const PDU__ML3__TMSI__ReallocationCommand& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__TMSI__ReallocationCommand_decoder(OCTETSTRING& input_stream, PDU__ML3__TMSI__ReallocationCommand& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__TMSI__ReallocationComplete_encoder(const PDU__ML3__TMSI__ReallocationComplete& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__TMSI__ReallocationComplete_decoder(OCTETSTRING& input_stream, PDU__ML3__TMSI__ReallocationComplete& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__MMNull_encoder(const PDU__ML3__MMNull& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__MMNull_decoder(OCTETSTRING& input_stream, PDU__ML3__MMNull& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__ML3__MM_encoder(const PDU__ML3__MM& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__ML3__MM_decoder(OCTETSTRING& input_stream, PDU__ML3__MM& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const XERdescriptor_t AuthenticationParameterRANDTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t AuthenticationParameterRANDTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t AuthenticationParameterRANDTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationParameterRANDTV_elementIdentifier_default_coding;
extern const XERdescriptor_t AuthenticationParameterRANDTV_randValue_xer_;
extern const TTCN_OERdescriptor_t AuthenticationParameterRANDTV_randValue_oer_;
extern const TTCN_Typedescriptor_t AuthenticationParameterRANDTV_randValue_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationParameterRANDTV_randValue_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationParameterRANDTV_raw_;
extern const TTCN_Typedescriptor_t AuthenticationParameterRANDTV_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationParameterRANDTV_default_coding;
extern const XERdescriptor_t AuthenticationParameterAUTNTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t AuthenticationParameterAUTNTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t AuthenticationParameterAUTNTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationParameterAUTNTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationParameterAUTNTLV_lengthIndicator_raw_;
extern const XERdescriptor_t AuthenticationParameterAUTNTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t AuthenticationParameterAUTNTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t AuthenticationParameterAUTNTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationParameterAUTNTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t AuthenticationParameterAUTNTLV_autnValue_xer_;
extern const TTCN_OERdescriptor_t AuthenticationParameterAUTNTLV_autnValue_oer_;
extern const TTCN_Typedescriptor_t AuthenticationParameterAUTNTLV_autnValue_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationParameterAUTNTLV_autnValue_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationParameterAUTNTLV_raw_;
extern const TTCN_Typedescriptor_t AuthenticationParameterAUTNTLV_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationParameterAUTNTLV_default_coding;
extern const XERdescriptor_t AuthenticationResponseParameterTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t AuthenticationResponseParameterTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t AuthenticationResponseParameterTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationResponseParameterTV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationResponseParameterTV_valueField_raw_;
extern const XERdescriptor_t AuthenticationResponseParameterTV_valueField_xer_;
extern const TTCN_OERdescriptor_t AuthenticationResponseParameterTV_valueField_oer_;
extern const TTCN_Typedescriptor_t AuthenticationResponseParameterTV_valueField_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationResponseParameterTV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationResponseParameterTV_raw_;
extern const TTCN_Typedescriptor_t AuthenticationResponseParameterTV_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationResponseParameterTV_default_coding;
extern const XERdescriptor_t AuthenticationResponseParameterUMTSTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t AuthenticationResponseParameterUMTSTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t AuthenticationResponseParameterUMTSTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationResponseParameterUMTSTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationResponseParameterUMTSTLV_lengthIndicator_raw_;
extern const XERdescriptor_t AuthenticationResponseParameterUMTSTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t AuthenticationResponseParameterUMTSTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t AuthenticationResponseParameterUMTSTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationResponseParameterUMTSTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t AuthenticationResponseParameterUMTSTLV_valueField_xer_;
extern const TTCN_OERdescriptor_t AuthenticationResponseParameterUMTSTLV_valueField_oer_;
extern const TTCN_Typedescriptor_t AuthenticationResponseParameterUMTSTLV_valueField_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationResponseParameterUMTSTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationResponseParameterUMTSTLV_raw_;
extern const TTCN_Typedescriptor_t AuthenticationResponseParameterUMTSTLV_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationResponseParameterUMTSTLV_default_coding;
extern const XERdescriptor_t AuthenticationFailureParametersTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t AuthenticationFailureParametersTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t AuthenticationFailureParametersTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationFailureParametersTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationFailureParametersTLV_lengthIndicator_raw_;
extern const XERdescriptor_t AuthenticationFailureParametersTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t AuthenticationFailureParametersTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t AuthenticationFailureParametersTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationFailureParametersTLV_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationFailureParametersTLV_valueField_raw_;
extern const XERdescriptor_t AuthenticationFailureParametersTLV_valueField_xer_;
extern const TTCN_OERdescriptor_t AuthenticationFailureParametersTLV_valueField_oer_;
extern const TTCN_Typedescriptor_t AuthenticationFailureParametersTLV_valueField_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationFailureParametersTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t AuthenticationFailureParametersTLV_raw_;
extern const TTCN_Typedescriptor_t AuthenticationFailureParametersTLV_descr_;
extern UNIVERSAL_CHARSTRING AuthenticationFailureParametersTLV_default_coding;
extern const XERdescriptor_t LocationUpdatingType_lut_xer_;
extern const TTCN_OERdescriptor_t LocationUpdatingType_lut_oer_;
extern const TTCN_Typedescriptor_t LocationUpdatingType_lut_descr_;
extern UNIVERSAL_CHARSTRING LocationUpdatingType_lut_default_coding;
extern const XERdescriptor_t LocationUpdatingType_spare1__1_xer_;
extern const TTCN_OERdescriptor_t LocationUpdatingType_spare1__1_oer_;
extern const TTCN_Typedescriptor_t LocationUpdatingType_spare1__1_descr_;
extern UNIVERSAL_CHARSTRING LocationUpdatingType_spare1__1_default_coding;
extern const XERdescriptor_t LocationUpdatingType_fop_xer_;
extern const TTCN_OERdescriptor_t LocationUpdatingType_fop_oer_;
extern const TTCN_Typedescriptor_t LocationUpdatingType_fop_descr_;
extern UNIVERSAL_CHARSTRING LocationUpdatingType_fop_default_coding;
extern const TTCN_RAWdescriptor_t LocationUpdatingType_raw_;
extern const TTCN_Typedescriptor_t LocationUpdatingType_descr_;
extern UNIVERSAL_CHARSTRING LocationUpdatingType_default_coding;
extern const XERdescriptor_t NetworkNameTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t NetworkNameTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t NetworkNameTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameTLV_elementIdentifier_default_coding;
extern const XERdescriptor_t NetworkNameTLV_spare1_xer_;
extern const TTCN_OERdescriptor_t NetworkNameTLV_spare1_oer_;
extern const TTCN_Typedescriptor_t NetworkNameTLV_spare1_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameTLV_spare1_default_coding;
extern const TTCN_RAWdescriptor_t NetworkNameTLV_lengthIndicator_raw_;
extern const XERdescriptor_t NetworkNameTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t NetworkNameTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t NetworkNameTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t NetworkNameV_nSpareBits_xer_;
extern const TTCN_OERdescriptor_t NetworkNameV_nSpareBits_oer_;
extern const TTCN_Typedescriptor_t NetworkNameV_nSpareBits_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameV_nSpareBits_default_coding;
extern const XERdescriptor_t NetworkNameV_addCI_xer_;
extern const TTCN_OERdescriptor_t NetworkNameV_addCI_oer_;
extern const TTCN_Typedescriptor_t NetworkNameV_addCI_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameV_addCI_default_coding;
extern const XERdescriptor_t NetworkNameV_codingScheme_xer_;
extern const TTCN_OERdescriptor_t NetworkNameV_codingScheme_oer_;
extern const TTCN_Typedescriptor_t NetworkNameV_codingScheme_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameV_codingScheme_default_coding;
extern const XERdescriptor_t NetworkNameV_ext1_xer_;
extern const TTCN_OERdescriptor_t NetworkNameV_ext1_oer_;
extern const TTCN_Typedescriptor_t NetworkNameV_ext1_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameV_ext1_default_coding;
extern const XERdescriptor_t NetworkNameV_textString_xer_;
extern const TTCN_OERdescriptor_t NetworkNameV_textString_oer_;
extern const TTCN_Typedescriptor_t NetworkNameV_textString_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameV_textString_default_coding;
extern const TTCN_RAWdescriptor_t NetworkNameV_raw_;
extern const TTCN_Typedescriptor_t NetworkNameV_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameV_default_coding;
extern UNIVERSAL_CHARSTRING NetworkNameTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t NetworkNameTLV_raw_;
extern const TTCN_Typedescriptor_t NetworkNameTLV_descr_;
extern UNIVERSAL_CHARSTRING NetworkNameTLV_default_coding;
extern const TTCN_Typedescriptor_t& FollowOnProceed_descr_;
extern UNIVERSAL_CHARSTRING FollowOnProceed_default_coding;
extern const XERdescriptor_t TimeZoneTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t TimeZoneTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t TimeZoneTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneTV_elementIdentifier_default_coding;
extern const XERdescriptor_t TimeZoneTV_spare_xer_;
extern const TTCN_OERdescriptor_t TimeZoneTV_spare_oer_;
extern const TTCN_Typedescriptor_t TimeZoneTV_spare_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneTV_spare_default_coding;
extern const XERdescriptor_t TimeZoneV_timeZone_xer_;
extern const TTCN_OERdescriptor_t TimeZoneV_timeZone_oer_;
extern const TTCN_Typedescriptor_t TimeZoneV_timeZone_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneV_timeZone_default_coding;
extern const TTCN_RAWdescriptor_t TimeZoneV_raw_;
extern const TTCN_Typedescriptor_t TimeZoneV_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneV_default_coding;
extern UNIVERSAL_CHARSTRING TimeZoneTV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t TimeZoneTV_raw_;
extern const TTCN_Typedescriptor_t TimeZoneTV_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneTV_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeTV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeTV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeTV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeTV_elementIdentifier_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeTV_spare_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeTV_spare_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeTV_spare_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeTV_spare_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeV_year_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeV_year_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeV_year_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeV_year_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeV_month_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeV_month_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeV_month_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeV_month_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeV_day_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeV_day_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeV_day_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeV_day_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeV_hour_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeV_hour_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeV_hour_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeV_hour_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeV_minute_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeV_minute_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeV_minute_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeV_minute_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeV_second_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeV_second_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeV_second_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeV_second_default_coding;
extern const XERdescriptor_t TimeZoneAndTimeV_timeZone_xer_;
extern const TTCN_OERdescriptor_t TimeZoneAndTimeV_timeZone_oer_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeV_timeZone_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeV_timeZone_default_coding;
extern const TTCN_RAWdescriptor_t TimeZoneAndTimeV_raw_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeV_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeV_default_coding;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeTV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t TimeZoneAndTimeTV_raw_;
extern const TTCN_Typedescriptor_t TimeZoneAndTimeTV_descr_;
extern UNIVERSAL_CHARSTRING TimeZoneAndTimeTV_default_coding;
extern const TTCN_Typedescriptor_t& CTS__Permission_descr_;
extern UNIVERSAL_CHARSTRING CTS__Permission_default_coding;
extern const XERdescriptor_t LSA__IdentifierTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t LSA__IdentifierTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t LSA__IdentifierTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING LSA__IdentifierTLV_elementIdentifier_default_coding;
extern const XERdescriptor_t LSA__IdentifierTLV_spare_xer_;
extern const TTCN_OERdescriptor_t LSA__IdentifierTLV_spare_oer_;
extern const TTCN_Typedescriptor_t LSA__IdentifierTLV_spare_descr_;
extern UNIVERSAL_CHARSTRING LSA__IdentifierTLV_spare_default_coding;
extern const TTCN_RAWdescriptor_t LSA__IdentifierTLV_lengthIndicator_raw_;
extern const XERdescriptor_t LSA__IdentifierTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t LSA__IdentifierTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t LSA__IdentifierTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING LSA__IdentifierTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t LSA__IdentifierV_lsa__id_xer_;
extern const TTCN_OERdescriptor_t LSA__IdentifierV_lsa__id_oer_;
extern const TTCN_Typedescriptor_t LSA__IdentifierV_lsa__id_descr_;
extern UNIVERSAL_CHARSTRING LSA__IdentifierV_lsa__id_default_coding;
extern const TTCN_RAWdescriptor_t LSA__IdentifierV_raw_;
extern const TTCN_Typedescriptor_t LSA__IdentifierV_descr_;
extern UNIVERSAL_CHARSTRING LSA__IdentifierV_default_coding;
extern UNIVERSAL_CHARSTRING LSA__IdentifierTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t LSA__IdentifierTLV_raw_;
extern const TTCN_Typedescriptor_t LSA__IdentifierTLV_descr_;
extern UNIVERSAL_CHARSTRING LSA__IdentifierTLV_default_coding;
extern const XERdescriptor_t DaylightSavingTimeTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t DaylightSavingTimeTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t DaylightSavingTimeTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING DaylightSavingTimeTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t DaylightSavingTimeTLV_lengthIndicator_raw_;
extern const XERdescriptor_t DaylightSavingTimeTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t DaylightSavingTimeTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t DaylightSavingTimeTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING DaylightSavingTimeTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t DaylightSavingTimeV_valueField_xer_;
extern const TTCN_OERdescriptor_t DaylightSavingTimeV_valueField_oer_;
extern const TTCN_Typedescriptor_t DaylightSavingTimeV_valueField_descr_;
extern UNIVERSAL_CHARSTRING DaylightSavingTimeV_valueField_default_coding;
extern const XERdescriptor_t DaylightSavingTimeV_spare_xer_;
extern const TTCN_OERdescriptor_t DaylightSavingTimeV_spare_oer_;
extern const TTCN_Typedescriptor_t DaylightSavingTimeV_spare_descr_;
extern UNIVERSAL_CHARSTRING DaylightSavingTimeV_spare_default_coding;
extern const TTCN_RAWdescriptor_t DaylightSavingTimeV_raw_;
extern const TTCN_Typedescriptor_t DaylightSavingTimeV_descr_;
extern UNIVERSAL_CHARSTRING DaylightSavingTimeV_default_coding;
extern UNIVERSAL_CHARSTRING DaylightSavingTimeTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t DaylightSavingTimeTLV_raw_;
extern const TTCN_Typedescriptor_t DaylightSavingTimeTLV_descr_;
extern UNIVERSAL_CHARSTRING DaylightSavingTimeTLV_default_coding;
extern const XERdescriptor_t EmergencyNumberListTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t EmergencyNumberListTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t EmergencyNumberListTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING EmergencyNumberListTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t EmergencyNumberListTLV_lengthIndicator_raw_;
extern const XERdescriptor_t EmergencyNumberListTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t EmergencyNumberListTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t EmergencyNumberListTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING EmergencyNumberListTLV_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t EmergencyNumberListV_raw_;
extern const TTCN_Typedescriptor_t EmergencyNumberListV_descr_;
extern const TTCN_RAWdescriptor_t EmergencyNumber_lengthIndicator_raw_;
extern const XERdescriptor_t EmergencyNumber_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t EmergencyNumber_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t EmergencyNumber_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING EmergencyNumber_lengthIndicator_default_coding;
extern const XERdescriptor_t EmergencyServiceCategory_valueFiled_xer_;
extern const TTCN_OERdescriptor_t EmergencyServiceCategory_valueFiled_oer_;
extern const TTCN_Typedescriptor_t EmergencyServiceCategory_valueFiled_descr_;
extern UNIVERSAL_CHARSTRING EmergencyServiceCategory_valueFiled_default_coding;
extern const XERdescriptor_t EmergencyServiceCategory_spare_xer_;
extern const TTCN_OERdescriptor_t EmergencyServiceCategory_spare_oer_;
extern const TTCN_Typedescriptor_t EmergencyServiceCategory_spare_descr_;
extern UNIVERSAL_CHARSTRING EmergencyServiceCategory_spare_default_coding;
extern const TTCN_RAWdescriptor_t EmergencyServiceCategory_raw_;
extern const TTCN_Typedescriptor_t EmergencyServiceCategory_descr_;
extern UNIVERSAL_CHARSTRING EmergencyServiceCategory_default_coding;
extern UNIVERSAL_CHARSTRING EmergencyNumber_emergencyServiceCategory_default_coding;
extern const XERdescriptor_t EmergencyNumber_emergencyNumber_xer_;
extern const TTCN_Typedescriptor_t EmergencyNumber_emergencyNumber_descr_;
extern UNIVERSAL_CHARSTRING EmergencyNumber_emergencyNumber_default_coding;
extern const TTCN_RAWdescriptor_t EmergencyNumber_raw_;
extern const TTCN_Typedescriptor_t EmergencyNumber_descr_;
extern UNIVERSAL_CHARSTRING EmergencyNumber_default_coding;
extern UNIVERSAL_CHARSTRING EmergencyNumberListV_0_default_coding;
extern UNIVERSAL_CHARSTRING EmergencyNumberListV_default_coding;
extern UNIVERSAL_CHARSTRING EmergencyNumberListTLV_emergencyNumberListV_default_coding;
extern const TTCN_RAWdescriptor_t EmergencyNumberListTLV_raw_;
extern const TTCN_Typedescriptor_t EmergencyNumberListTLV_descr_;
extern UNIVERSAL_CHARSTRING EmergencyNumberListTLV_default_coding;
extern const XERdescriptor_t MM__TimerTLV_elementIdentifier_xer_;
extern const TTCN_OERdescriptor_t MM__TimerTLV_elementIdentifier_oer_;
extern const TTCN_Typedescriptor_t MM__TimerTLV_elementIdentifier_descr_;
extern UNIVERSAL_CHARSTRING MM__TimerTLV_elementIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t MM__TimerTLV_lengthIndicator_raw_;
extern const XERdescriptor_t MM__TimerTLV_lengthIndicator_xer_;
extern const TTCN_OERdescriptor_t MM__TimerTLV_lengthIndicator_oer_;
extern const TTCN_Typedescriptor_t MM__TimerTLV_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING MM__TimerTLV_lengthIndicator_default_coding;
extern const XERdescriptor_t MM__TimerV_timerValue_xer_;
extern const TTCN_OERdescriptor_t MM__TimerV_timerValue_oer_;
extern const TTCN_Typedescriptor_t MM__TimerV_timerValue_descr_;
extern UNIVERSAL_CHARSTRING MM__TimerV_timerValue_default_coding;
extern const XERdescriptor_t MM__TimerV_unit_xer_;
extern const TTCN_OERdescriptor_t MM__TimerV_unit_oer_;
extern const TTCN_Typedescriptor_t MM__TimerV_unit_descr_;
extern UNIVERSAL_CHARSTRING MM__TimerV_unit_default_coding;
extern const TTCN_RAWdescriptor_t MM__TimerV_raw_;
extern const TTCN_Typedescriptor_t MM__TimerV_descr_;
extern UNIVERSAL_CHARSTRING MM__TimerV_default_coding;
extern UNIVERSAL_CHARSTRING MM__TimerTLV_valueField_default_coding;
extern const TTCN_RAWdescriptor_t MM__TimerTLV_raw_;
extern const TTCN_Typedescriptor_t MM__TimerTLV_descr_;
extern UNIVERSAL_CHARSTRING MM__TimerTLV_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationReject_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationReject_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationReject_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationReject_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationReject_nsd_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__AuthenticationReject_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationReject_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationRequest_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationRequest_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationRequest_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationRequest_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationRequest_nsd_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationRequest_cipheringKeySequenceNumber_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationRequest_spare2__4_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationRequest_spare2__4_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationRequest_spare2__4_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationRequest_spare2__4_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationRequest_authenticationParRAND_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationRequest_authenticationParRAND_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationRequest_authenticationParRAND_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationRequest_authenticationParRAND_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__AuthenticationRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationRequest_authenticationParAUTN_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationRequest_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationResponse_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationResponse_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationResponse_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationResponse_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationResponse_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationResponse_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationResponse_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationResponse_nsd_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationResponse_authenticationParSRES_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationResponse_authenticationParSRES_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationResponse_authenticationParSRES_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationResponse_authenticationParSRES_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__AuthenticationResponse_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationResponse_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationResponse_authenticationParSRESext_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationResponse_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationFailure_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationFailure_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationFailure_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationFailure_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationFailure_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationFailure_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationFailure_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationFailure_nsd_default_coding;
extern const XERdescriptor_t PDU__ML3__AuthenticationFailure_rejectCause_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__AuthenticationFailure_rejectCause_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationFailure_rejectCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationFailure_rejectCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__AuthenticationFailure_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__AuthenticationFailure_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationFailure_authenticationParFailure_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__AuthenticationFailure_default_coding;
extern const XERdescriptor_t PDU__ML3__CMReestablishmentRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMReestablishmentRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMReestablishmentRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__CMReestablishmentRequest_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMReestablishmentRequest_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMReestablishmentRequest_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_nsd_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_cipheringKeySequenceNumber_default_coding;
extern const XERdescriptor_t PDU__ML3__CMReestablishmentRequest_spare_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMReestablishmentRequest_spare_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMReestablishmentRequest_spare_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_spare_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_mobileStationClassmark2_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_mobileIdentityLV_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__CMReestablishmentRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMReestablishmentRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_locationAreaIdentification_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMReestablishmentRequest_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceAccept_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceAccept_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceAccept_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceAccept_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceAccept_nsd_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__CMServiceAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceAccept_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServicePrompt_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServicePrompt_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServicePrompt_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServicePrompt_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServicePrompt_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServicePrompt_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServicePrompt_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServicePrompt_nsd_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServicePrompt_pd__sapi_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__CMServicePrompt_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServicePrompt_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServicePrompt_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceReject_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceReject_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceReject_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceReject_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceReject_nsd_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceReject_rejectCause_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceReject_rejectCause_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceReject_rejectCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceReject_rejectCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__CMServiceReject_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceReject_t3246__Value_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceReject_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceAbort_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceAbort_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceAbort_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceAbort_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceAbort_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceAbort_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceAbort_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceAbort_nsd_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__CMServiceAbort_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceAbort_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceAbort_default_coding;
extern const XERdescriptor_t PDU__ML3__Abort_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__Abort_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__Abort_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__Abort_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__Abort_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__Abort_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__Abort_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__Abort_nsd_default_coding;
extern const XERdescriptor_t PDU__ML3__Abort_rejectCause_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__Abort_rejectCause_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__Abort_rejectCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__Abort_rejectCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__Abort_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__Abort_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__Abort_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceRequest_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceRequest_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceRequest_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_nsd_default_coding;
extern const XERdescriptor_t PDU__ML3__CMServiceRequest_cm__ServiceType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__CMServiceRequest_cm__ServiceType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceRequest_cm__ServiceType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_cm__ServiceType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_cipheringKeySequenceNumber_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_mobileStationClassmark2_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_mobileIdentity_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__CMServiceRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__CMServiceRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_priorityLevel_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_additionalUpdateParameterTV_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__CMServiceRequest_default_coding;
extern const XERdescriptor_t PDU__ML3__IdentityRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__IdentityRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__IdentityRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityRequest_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__IdentityRequest_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__IdentityRequest_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__IdentityRequest_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityRequest_nsd_default_coding;
extern const XERdescriptor_t PDU__ML3__IdentityRequest_identityType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__IdentityRequest_identityType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__IdentityRequest_identityType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityRequest_identityType_default_coding;
extern const XERdescriptor_t PDU__ML3__IdentityRequest_spare1__5_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__IdentityRequest_spare1__5_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__IdentityRequest_spare1__5_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityRequest_spare1__5_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__IdentityRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__IdentityRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityRequest_default_coding;
extern const XERdescriptor_t PDU__ML3__IdentityResponse_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__IdentityResponse_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__IdentityResponse_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityResponse_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__IdentityResponse_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__IdentityResponse_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__IdentityResponse_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityResponse_nsd_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityResponse_mobileIdentityLV_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__IdentityResponse_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__IdentityResponse_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityResponse_p__TMSI__TypeTV_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityResponse_routingAreaIdentification2TLV_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityResponse_p__TMSISignature2TLV_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__IdentityResponse_default_coding;
extern const XERdescriptor_t PDU__ML3__IMSI__DetachIndication_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__IMSI__DetachIndication_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__IMSI__DetachIndication_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IMSI__DetachIndication_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__IMSI__DetachIndication_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__IMSI__DetachIndication_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__IMSI__DetachIndication_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IMSI__DetachIndication_nsd_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__IMSI__DetachIndication_mobileStationClassmark1_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__IMSI__DetachIndication_mobileIdentityLV_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__IMSI__DetachIndication_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__IMSI__DetachIndication_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__IMSI__DetachIndication_default_coding;
extern const XERdescriptor_t PDU__ML3__LocationUpdateAccept_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__LocationUpdateAccept_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateAccept_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__LocationUpdateAccept_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__LocationUpdateAccept_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateAccept_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_nsd_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_locationAreaIdentification_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__LocationUpdateAccept_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateAccept_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_mobileIdentityTLV_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_followOnProceed_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_cTS__Permission_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_equivalentPLMNs_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_emergencyNumberList_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_perMS__T3212_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateAccept_default_coding;
extern const XERdescriptor_t PDU__ML3__LocationUpdateReject_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__LocationUpdateReject_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateReject_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateReject_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__LocationUpdateReject_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__LocationUpdateReject_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateReject_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateReject_nsd_default_coding;
extern const XERdescriptor_t PDU__ML3__LocationUpdateReject_rejectCause_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__LocationUpdateReject_rejectCause_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateReject_rejectCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateReject_rejectCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__LocationUpdateReject_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateReject_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateReject_t3246__Value_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateReject_default_coding;
extern const XERdescriptor_t PDU__ML3__LocationUpdateRequest_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__LocationUpdateRequest_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateRequest_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__LocationUpdateRequest_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__LocationUpdateRequest_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateRequest_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_nsd_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_locationUpdatingType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_cipheringKeySequenceNumber_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_locationAreaIdentification_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_mobileStationClassmark1_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_mobileIdentityLV_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__LocationUpdateRequest_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__LocationUpdateRequest_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_classmarkInformationType2__forUMTS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_additionalUpdateParameterTV_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_deviceProperties_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_mS__NetworkFeatureSupport_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__LocationUpdateRequest_default_coding;
extern const XERdescriptor_t PDU__ML3__MMInformation_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__MMInformation_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMInformation_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__MMInformation_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__MMInformation_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMInformation_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_nsd_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__MMInformation_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMInformation_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_fullNetworkName_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_shortNetworkName_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_localtimeZone_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_univTime_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_lSAIdentity_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_networkDST_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMInformation_default_coding;
extern const XERdescriptor_t PDU__ML3__MMStatus_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__MMStatus_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMStatus_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMStatus_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__MMStatus_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__MMStatus_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMStatus_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMStatus_nsd_default_coding;
extern const XERdescriptor_t PDU__ML3__MMStatus_rejectCause_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__MMStatus_rejectCause_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMStatus_rejectCause_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMStatus_rejectCause_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__MMStatus_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMStatus_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMStatus_default_coding;
extern const XERdescriptor_t PDU__ML3__TMSI__ReallocationCommand_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__TMSI__ReallocationCommand_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__TMSI__ReallocationCommand_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__TMSI__ReallocationCommand_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__TMSI__ReallocationCommand_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__TMSI__ReallocationCommand_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__TMSI__ReallocationCommand_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__TMSI__ReallocationCommand_nsd_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__TMSI__ReallocationCommand_locationAreaIdentification_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__TMSI__ReallocationCommand_mobileIdentity_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__TMSI__ReallocationCommand_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__TMSI__ReallocationCommand_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__TMSI__ReallocationCommand_default_coding;
extern const XERdescriptor_t PDU__ML3__TMSI__ReallocationComplete_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__TMSI__ReallocationComplete_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__TMSI__ReallocationComplete_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__TMSI__ReallocationComplete_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__TMSI__ReallocationComplete_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__TMSI__ReallocationComplete_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__TMSI__ReallocationComplete_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__TMSI__ReallocationComplete_nsd_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__TMSI__ReallocationComplete_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__TMSI__ReallocationComplete_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__TMSI__ReallocationComplete_default_coding;
extern const XERdescriptor_t PDU__ML3__MMNull_messageType_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__MMNull_messageType_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMNull_messageType_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMNull_messageType_default_coding;
extern const XERdescriptor_t PDU__ML3__MMNull_nsd_xer_;
extern const TTCN_OERdescriptor_t PDU__ML3__MMNull_nsd_oer_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMNull_nsd_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMNull_nsd_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__MMNull_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__MMNull_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MMNull_default_coding;
extern const TTCN_RAWdescriptor_t PDU__ML3__MM_raw_;
extern const TTCN_Typedescriptor_t PDU__ML3__MM_descr_;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_imsiDetachIndication_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_locationUpdateAccept_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_locationUpdateReject_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_locationUpdateRequest_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_authenticationReject_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_authenticationRequest_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_authenticationResponse_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_authenticationFailure_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_identityRequest_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_identityResponse_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_tmsiReallocCommand_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_tmsiReallocComplete_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_cMServiceAbort_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_cMServiceAccept_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_cMServiceReject_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_cMServiceRequest_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_cMServicePrompt_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_cMReEstablReq_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_abort_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_mMNull_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_mMStatus_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_mMInformation_default_coding;
extern UNIVERSAL_CHARSTRING PDU__ML3__MM_default_coding;
extern const BITSTRING bs_10,
bs_11,
bs_12,
bs_13,
bs_5,
bs_14,
bs_15,
bs_16,
bs_18,
bs_19,
bs_20,
bs_21,
bs_17,
bs_4,
bs_23,
bs_8,
bs_24,
bs_9,
bs_22,
bs_0,
bs_1,
bs_25,
bs_2,
bs_26,
bs_6,
bs_27,
bs_28,
bs_29,
bs_30,
bs_31,
bs_3,
bs_7;
extern const OCTETSTRING os_7,
os_6,
os_0,
os_1,
os_2,
os_4,
os_5,
os_3,
os_8,
os_9;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
