// 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 M3UA__Types_HH
#define M3UA__Types_HH

#ifdef TITAN_RUNTIME_2
#error Generated code does not match with used runtime.\
 Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
#endif

/* Header file includes */

#include <TTCN3.hh>
#include "General_Types.hh"

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

namespace M3UA__Types {

/* Forward declarations of classes */

class M3UA__Point__Code;
class M3UA__Point__Code_template;
class M3UA__Point__Codes;
class M3UA__Point__Codes_template;
class M3UA__Error__Code;
class M3UA__Error__Code_template;
class M3UA__Routing__Context;
class M3UA__Routing__Context_template;
class M3UA__Affected__Point__Codes;
class M3UA__Affected__Point__Codes_template;
class M3UA__Network__Appearance;
class M3UA__Network__Appearance_template;
class M3UA__Diagnostic__information;
class M3UA__Diagnostic__information_template;
class M3UA__Correlation__ID;
class M3UA__Correlation__ID_template;
class M3UA__Protocol__Data;
class M3UA__Protocol__Data_template;
class M3UA__Info__String;
class M3UA__Info__String_template;
class M3UA__Concerned__Destination;
class M3UA__Concerned__Destination_template;
class M3UA__Congestion__Indicators;
class M3UA__Congestion__Indicators_template;
class M3UA__User__Cause;
class M3UA__User__Cause_template;
class M3UA__ASP__Identifier;
class M3UA__ASP__Identifier_template;
class M3UA__Heartbeat__Data;
class M3UA__Heartbeat__Data_template;
class M3UA__Traffic__Mode__Type;
class M3UA__Traffic__Mode__Type_template;
class M3UA__Status;
class M3UA__Status_template;
class M3UA__Local__Routing__Key__Id;
class M3UA__Local__Routing__Key__Id_template;
class M3UA__Destination__PointCode;
class M3UA__Destination__PointCode_template;
class M3UA__Service__Indicators;
class M3UA__Service__Indicators_template;
class M3UA__OPC__List;
class M3UA__OPC__List_template;
class M3UA__Routing__Key__Parameters;
class M3UA__Routing__Key__Parameters_template;
class M3UA__Routing__Key;
class M3UA__Routing__Key_template;
class M3UA__Registration__Status;
class M3UA__Registration__Status_template;
class M3UA__Deregistration__Status;
class M3UA__Deregistration__Status_template;
class M3UA__Registration__Result__Parameters;
class M3UA__Registration__Result__Parameters_template;
class M3UA__Registration__Result;
class M3UA__Registration__Result_template;
class M3UA__Deregistration__Result__Parameters;
class M3UA__Deregistration__Result__Parameters_template;
class M3UA__Deregistration__Result;
class M3UA__Deregistration__Result_template;
class M3UA__ERR__MessageParameters;
class M3UA__ERR__MessageParameters_template;
class M3UA__ERR;
class M3UA__ERR_template;
class M3UA__NOTIFY__MessageParameters;
class M3UA__NOTIFY__MessageParameters_template;
class M3UA__NOTIFY;
class M3UA__NOTIFY_template;
class M3UA__DATA__MessageParameters;
class M3UA__DATA__MessageParameters_template;
class M3UA__DATA;
class M3UA__DATA_template;
class M3UA__DUNA__MessageParameters;
class M3UA__DUNA__MessageParameters_template;
class M3UA__DUNA;
class M3UA__DUNA_template;
class M3UA__DAVA__MessageParameters;
class M3UA__DAVA__MessageParameters_template;
class M3UA__DAVA;
class M3UA__DAVA_template;
class M3UA__DAUD__MessageParameters;
class M3UA__DAUD__MessageParameters_template;
class M3UA__DAUD;
class M3UA__DAUD_template;
class M3UA__SCON__MessageParameters;
class M3UA__SCON__MessageParameters_template;
class M3UA__SCON;
class M3UA__SCON_template;
class M3UA__DUPU__MessageParameters;
class M3UA__DUPU__MessageParameters_template;
class M3UA__DUPU;
class M3UA__DUPU_template;
class M3UA__DRST;
class M3UA__DRST_template;
class M3UA__ASPUP__MessageParameters;
class M3UA__ASPUP__MessageParameters_template;
class M3UA__ASPUP;
class M3UA__ASPUP_template;
class M3UA__ASPUP__Ack__MessageParameters;
class M3UA__ASPUP__Ack__MessageParameters_template;
class M3UA__ASPUP__Ack;
class M3UA__ASPUP__Ack_template;
class M3UA__ASPDN__MessageParameters;
class M3UA__ASPDN__MessageParameters_template;
class M3UA__ASPDN;
class M3UA__ASPDN_template;
class M3UA__ASPDN__Ack__MessageParameters;
class M3UA__ASPDN__Ack__MessageParameters_template;
class M3UA__ASPDN__Ack;
class M3UA__ASPDN__Ack_template;
class M3UA__BEAT__MessageParameters;
class M3UA__BEAT__MessageParameters_template;
class M3UA__BEAT;
class M3UA__BEAT_template;
class M3UA__BEAT__Ack__MessageParameters;
class M3UA__BEAT__Ack__MessageParameters_template;
class M3UA__BEAT__Ack;
class M3UA__BEAT__Ack_template;
class M3UA__ASPAC__MessageParameters;
class M3UA__ASPAC__MessageParameters_template;
class M3UA__ASPAC;
class M3UA__ASPAC_template;
class M3UA__ASPAC__Ack__MessageParameters;
class M3UA__ASPAC__Ack__MessageParameters_template;
class M3UA__ASPAC__Ack;
class M3UA__ASPAC__Ack_template;
class M3UA__ASPIA__MessageParameters;
class M3UA__ASPIA__MessageParameters_template;
class M3UA__ASPIA;
class M3UA__ASPIA_template;
class M3UA__ASPIA__Ack__MessageParameters;
class M3UA__ASPIA__Ack__MessageParameters_template;
class M3UA__ASPIA__Ack;
class M3UA__ASPIA__Ack_template;
class M3UA__Routing__Keys;
class M3UA__Routing__Keys_template;
class M3UA__REG__REQ;
class M3UA__REG__REQ_template;
class M3UA__Registration__Results;
class M3UA__Registration__Results_template;
class M3UA__REG__RSP;
class M3UA__REG__RSP_template;
class M3UA__DEREG__REQ__MsgParams;
class M3UA__DEREG__REQ__MsgParams_template;
class M3UA__DEREG__REQ;
class M3UA__DEREG__REQ_template;
class M3UA__Deregistration__Results;
class M3UA__Deregistration__Results_template;
class M3UA__DEREG__RSP;
class M3UA__DEREG__RSP_template;
class PDU__M3UA;
class PDU__M3UA_template;

} /* end of namespace */

#ifndef M3UA__Types_HH
#define M3UA__Types_HH

namespace M3UA__Types {

/* Type definitions */

typedef OCTETSTRING M3UA__OCT0__255;
typedef OCTETSTRING_template M3UA__OCT0__255_template;

/* Class definitions */

class M3UA__Point__Code : public Base_Type {
  OCTETSTRING field_mask;
  OCTETSTRING field_affected__Point__Code;
public:
  M3UA__Point__Code();
  M3UA__Point__Code(const OCTETSTRING& par_mask,
    const OCTETSTRING& par_affected__Point__Code);
  M3UA__Point__Code(const M3UA__Point__Code& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Point__Code& operator=(const M3UA__Point__Code& other_value);
  boolean operator==(const M3UA__Point__Code& other_value) const;
  inline boolean operator!=(const M3UA__Point__Code& 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& mask()
    {return field_mask;}
  inline const OCTETSTRING& mask() const
    {return field_mask;}
  inline OCTETSTRING& affected__Point__Code()
    {return field_affected__Point__Code;}
  inline const OCTETSTRING& affected__Point__Code() const
    {return field_affected__Point__Code;}
  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 M3UA__Point__Code_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Point__Code_template *list_value;
} value_list;
struct {
M3UA__Point__Code_template* precondition;
M3UA__Point__Code_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Point__Code>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Point__Code& other_value);
void copy_template(const M3UA__Point__Code_template& other_value);

public:
M3UA__Point__Code_template();
M3UA__Point__Code_template(template_sel other_value);
M3UA__Point__Code_template(const M3UA__Point__Code& other_value);
M3UA__Point__Code_template(const OPTIONAL<M3UA__Point__Code>& other_value);
M3UA__Point__Code_template(M3UA__Point__Code_template* p_precondition, M3UA__Point__Code_template* p_implied_template);
M3UA__Point__Code_template(Dynamic_Match_Interface<M3UA__Point__Code>* p_dyn_match);
M3UA__Point__Code_template(const M3UA__Point__Code_template& other_value);
~M3UA__Point__Code_template();
M3UA__Point__Code_template& operator=(template_sel other_value);
M3UA__Point__Code_template& operator=(const M3UA__Point__Code& other_value);
M3UA__Point__Code_template& operator=(const OPTIONAL<M3UA__Point__Code>& other_value);
M3UA__Point__Code_template& operator=(const M3UA__Point__Code_template& other_value);
boolean match(const M3UA__Point__Code& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Point__Code valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Point__Code_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& mask();
const OCTETSTRING_template& mask() const;
OCTETSTRING_template& affected__Point__Code();
const OCTETSTRING_template& affected__Point__Code() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Point__Code& 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 M3UA__Point__Codes : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
M3UA__Point__Code **value_elements;
} *val_ptr;

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

public:
  typedef M3UA__Point__Code of_type;
M3UA__Point__Codes();
M3UA__Point__Codes(null_type other_value);
M3UA__Point__Codes(const M3UA__Point__Codes& other_value);
~M3UA__Point__Codes();

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

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

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

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

M3UA__Point__Codes operator+(const M3UA__Point__Codes& other_value) const;

M3UA__Point__Codes substr(int index, int returncount) const;

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

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

void clean_up();
M3UA__Point__Codes_template& operator=(template_sel other_value);
M3UA__Point__Codes_template& operator=(null_type other_value);
M3UA__Point__Codes_template& operator=(const M3UA__Point__Codes& other_value);
M3UA__Point__Codes_template& operator=(const OPTIONAL<M3UA__Point__Codes>& other_value);
M3UA__Point__Codes_template& operator=(const M3UA__Point__Codes_template& other_value);

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

M3UA__Point__Codes replace(int index, int len, const M3UA__Point__Codes_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
M3UA__Point__Codes_template& list_item(unsigned int list_index);
void log() const;
void log_match(const M3UA__Point__Codes& 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 M3UA__Error__Code : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_errorCode;
public:
  M3UA__Error__Code();
  M3UA__Error__Code(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_errorCode);
  M3UA__Error__Code(const M3UA__Error__Code& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Error__Code& operator=(const M3UA__Error__Code& other_value);
  boolean operator==(const M3UA__Error__Code& other_value) const;
  inline boolean operator!=(const M3UA__Error__Code& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& errorCode()
    {return field_errorCode;}
  inline const OCTETSTRING& errorCode() const
    {return field_errorCode;}
  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 M3UA__Error__Code_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Error__Code_template *list_value;
} value_list;
struct {
M3UA__Error__Code_template* precondition;
M3UA__Error__Code_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Error__Code>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Error__Code& other_value);
void copy_template(const M3UA__Error__Code_template& other_value);

public:
M3UA__Error__Code_template();
M3UA__Error__Code_template(template_sel other_value);
M3UA__Error__Code_template(const M3UA__Error__Code& other_value);
M3UA__Error__Code_template(const OPTIONAL<M3UA__Error__Code>& other_value);
M3UA__Error__Code_template(M3UA__Error__Code_template* p_precondition, M3UA__Error__Code_template* p_implied_template);
M3UA__Error__Code_template(Dynamic_Match_Interface<M3UA__Error__Code>* p_dyn_match);
M3UA__Error__Code_template(const M3UA__Error__Code_template& other_value);
~M3UA__Error__Code_template();
M3UA__Error__Code_template& operator=(template_sel other_value);
M3UA__Error__Code_template& operator=(const M3UA__Error__Code& other_value);
M3UA__Error__Code_template& operator=(const OPTIONAL<M3UA__Error__Code>& other_value);
M3UA__Error__Code_template& operator=(const M3UA__Error__Code_template& other_value);
boolean match(const M3UA__Error__Code& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Error__Code valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Error__Code_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& errorCode();
const OCTETSTRING_template& errorCode() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Error__Code& 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 M3UA__Routing__Context : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_routingContext;
public:
  M3UA__Routing__Context();
  M3UA__Routing__Context(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_routingContext);
  M3UA__Routing__Context(const M3UA__Routing__Context& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Routing__Context& operator=(const M3UA__Routing__Context& other_value);
  boolean operator==(const M3UA__Routing__Context& other_value) const;
  inline boolean operator!=(const M3UA__Routing__Context& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& routingContext()
    {return field_routingContext;}
  inline const OCTETSTRING& routingContext() const
    {return field_routingContext;}
  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 M3UA__Routing__Context_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Routing__Context_template *list_value;
} value_list;
struct {
M3UA__Routing__Context_template* precondition;
M3UA__Routing__Context_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Routing__Context>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Routing__Context& other_value);
void copy_template(const M3UA__Routing__Context_template& other_value);

public:
M3UA__Routing__Context_template();
M3UA__Routing__Context_template(template_sel other_value);
M3UA__Routing__Context_template(const M3UA__Routing__Context& other_value);
M3UA__Routing__Context_template(const OPTIONAL<M3UA__Routing__Context>& other_value);
M3UA__Routing__Context_template(M3UA__Routing__Context_template* p_precondition, M3UA__Routing__Context_template* p_implied_template);
M3UA__Routing__Context_template(Dynamic_Match_Interface<M3UA__Routing__Context>* p_dyn_match);
M3UA__Routing__Context_template(const M3UA__Routing__Context_template& other_value);
~M3UA__Routing__Context_template();
M3UA__Routing__Context_template& operator=(template_sel other_value);
M3UA__Routing__Context_template& operator=(const M3UA__Routing__Context& other_value);
M3UA__Routing__Context_template& operator=(const OPTIONAL<M3UA__Routing__Context>& other_value);
M3UA__Routing__Context_template& operator=(const M3UA__Routing__Context_template& other_value);
boolean match(const M3UA__Routing__Context& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Routing__Context valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Routing__Context_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& routingContext();
const OCTETSTRING_template& routingContext() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Routing__Context& 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 M3UA__Affected__Point__Codes : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  M3UA__Point__Codes field_pointCodes;
public:
  M3UA__Affected__Point__Codes();
  M3UA__Affected__Point__Codes(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const M3UA__Point__Codes& par_pointCodes);
  M3UA__Affected__Point__Codes(const M3UA__Affected__Point__Codes& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Affected__Point__Codes& operator=(const M3UA__Affected__Point__Codes& other_value);
  boolean operator==(const M3UA__Affected__Point__Codes& other_value) const;
  inline boolean operator!=(const M3UA__Affected__Point__Codes& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline M3UA__Point__Codes& pointCodes()
    {return field_pointCodes;}
  inline const M3UA__Point__Codes& pointCodes() const
    {return field_pointCodes;}
  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 M3UA__Affected__Point__Codes_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Affected__Point__Codes_template *list_value;
} value_list;
struct {
M3UA__Affected__Point__Codes_template* precondition;
M3UA__Affected__Point__Codes_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Affected__Point__Codes>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Affected__Point__Codes& other_value);
void copy_template(const M3UA__Affected__Point__Codes_template& other_value);

public:
M3UA__Affected__Point__Codes_template();
M3UA__Affected__Point__Codes_template(template_sel other_value);
M3UA__Affected__Point__Codes_template(const M3UA__Affected__Point__Codes& other_value);
M3UA__Affected__Point__Codes_template(const OPTIONAL<M3UA__Affected__Point__Codes>& other_value);
M3UA__Affected__Point__Codes_template(M3UA__Affected__Point__Codes_template* p_precondition, M3UA__Affected__Point__Codes_template* p_implied_template);
M3UA__Affected__Point__Codes_template(Dynamic_Match_Interface<M3UA__Affected__Point__Codes>* p_dyn_match);
M3UA__Affected__Point__Codes_template(const M3UA__Affected__Point__Codes_template& other_value);
~M3UA__Affected__Point__Codes_template();
M3UA__Affected__Point__Codes_template& operator=(template_sel other_value);
M3UA__Affected__Point__Codes_template& operator=(const M3UA__Affected__Point__Codes& other_value);
M3UA__Affected__Point__Codes_template& operator=(const OPTIONAL<M3UA__Affected__Point__Codes>& other_value);
M3UA__Affected__Point__Codes_template& operator=(const M3UA__Affected__Point__Codes_template& other_value);
boolean match(const M3UA__Affected__Point__Codes& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Affected__Point__Codes valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Affected__Point__Codes_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
M3UA__Point__Codes_template& pointCodes();
const M3UA__Point__Codes_template& pointCodes() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Affected__Point__Codes& 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 M3UA__Network__Appearance : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_networkAppearance;
public:
  M3UA__Network__Appearance();
  M3UA__Network__Appearance(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_networkAppearance);
  M3UA__Network__Appearance(const M3UA__Network__Appearance& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Network__Appearance& operator=(const M3UA__Network__Appearance& other_value);
  boolean operator==(const M3UA__Network__Appearance& other_value) const;
  inline boolean operator!=(const M3UA__Network__Appearance& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& networkAppearance()
    {return field_networkAppearance;}
  inline const OCTETSTRING& networkAppearance() const
    {return field_networkAppearance;}
  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 M3UA__Network__Appearance_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Network__Appearance_template *list_value;
} value_list;
struct {
M3UA__Network__Appearance_template* precondition;
M3UA__Network__Appearance_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Network__Appearance>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Network__Appearance& other_value);
void copy_template(const M3UA__Network__Appearance_template& other_value);

public:
M3UA__Network__Appearance_template();
M3UA__Network__Appearance_template(template_sel other_value);
M3UA__Network__Appearance_template(const M3UA__Network__Appearance& other_value);
M3UA__Network__Appearance_template(const OPTIONAL<M3UA__Network__Appearance>& other_value);
M3UA__Network__Appearance_template(M3UA__Network__Appearance_template* p_precondition, M3UA__Network__Appearance_template* p_implied_template);
M3UA__Network__Appearance_template(Dynamic_Match_Interface<M3UA__Network__Appearance>* p_dyn_match);
M3UA__Network__Appearance_template(const M3UA__Network__Appearance_template& other_value);
~M3UA__Network__Appearance_template();
M3UA__Network__Appearance_template& operator=(template_sel other_value);
M3UA__Network__Appearance_template& operator=(const M3UA__Network__Appearance& other_value);
M3UA__Network__Appearance_template& operator=(const OPTIONAL<M3UA__Network__Appearance>& other_value);
M3UA__Network__Appearance_template& operator=(const M3UA__Network__Appearance_template& other_value);
boolean match(const M3UA__Network__Appearance& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Network__Appearance valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Network__Appearance_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& networkAppearance();
const OCTETSTRING_template& networkAppearance() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Network__Appearance& 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 M3UA__Diagnostic__information : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_diagnosticInformation;
public:
  M3UA__Diagnostic__information();
  M3UA__Diagnostic__information(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_diagnosticInformation);
  M3UA__Diagnostic__information(const M3UA__Diagnostic__information& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Diagnostic__information& operator=(const M3UA__Diagnostic__information& other_value);
  boolean operator==(const M3UA__Diagnostic__information& other_value) const;
  inline boolean operator!=(const M3UA__Diagnostic__information& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& diagnosticInformation()
    {return field_diagnosticInformation;}
  inline const OCTETSTRING& diagnosticInformation() const
    {return field_diagnosticInformation;}
  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 M3UA__Diagnostic__information_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Diagnostic__information_template *list_value;
} value_list;
struct {
M3UA__Diagnostic__information_template* precondition;
M3UA__Diagnostic__information_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Diagnostic__information>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Diagnostic__information& other_value);
void copy_template(const M3UA__Diagnostic__information_template& other_value);

public:
M3UA__Diagnostic__information_template();
M3UA__Diagnostic__information_template(template_sel other_value);
M3UA__Diagnostic__information_template(const M3UA__Diagnostic__information& other_value);
M3UA__Diagnostic__information_template(const OPTIONAL<M3UA__Diagnostic__information>& other_value);
M3UA__Diagnostic__information_template(M3UA__Diagnostic__information_template* p_precondition, M3UA__Diagnostic__information_template* p_implied_template);
M3UA__Diagnostic__information_template(Dynamic_Match_Interface<M3UA__Diagnostic__information>* p_dyn_match);
M3UA__Diagnostic__information_template(const M3UA__Diagnostic__information_template& other_value);
~M3UA__Diagnostic__information_template();
M3UA__Diagnostic__information_template& operator=(template_sel other_value);
M3UA__Diagnostic__information_template& operator=(const M3UA__Diagnostic__information& other_value);
M3UA__Diagnostic__information_template& operator=(const OPTIONAL<M3UA__Diagnostic__information>& other_value);
M3UA__Diagnostic__information_template& operator=(const M3UA__Diagnostic__information_template& other_value);
boolean match(const M3UA__Diagnostic__information& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Diagnostic__information valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Diagnostic__information_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& diagnosticInformation();
const OCTETSTRING_template& diagnosticInformation() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Diagnostic__information& 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 M3UA__Correlation__ID : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_correlationID;
public:
  M3UA__Correlation__ID();
  M3UA__Correlation__ID(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_correlationID);
  M3UA__Correlation__ID(const M3UA__Correlation__ID& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Correlation__ID& operator=(const M3UA__Correlation__ID& other_value);
  boolean operator==(const M3UA__Correlation__ID& other_value) const;
  inline boolean operator!=(const M3UA__Correlation__ID& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& correlationID()
    {return field_correlationID;}
  inline const OCTETSTRING& correlationID() const
    {return field_correlationID;}
  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 M3UA__Correlation__ID_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Correlation__ID_template *list_value;
} value_list;
struct {
M3UA__Correlation__ID_template* precondition;
M3UA__Correlation__ID_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Correlation__ID>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Correlation__ID& other_value);
void copy_template(const M3UA__Correlation__ID_template& other_value);

public:
M3UA__Correlation__ID_template();
M3UA__Correlation__ID_template(template_sel other_value);
M3UA__Correlation__ID_template(const M3UA__Correlation__ID& other_value);
M3UA__Correlation__ID_template(const OPTIONAL<M3UA__Correlation__ID>& other_value);
M3UA__Correlation__ID_template(M3UA__Correlation__ID_template* p_precondition, M3UA__Correlation__ID_template* p_implied_template);
M3UA__Correlation__ID_template(Dynamic_Match_Interface<M3UA__Correlation__ID>* p_dyn_match);
M3UA__Correlation__ID_template(const M3UA__Correlation__ID_template& other_value);
~M3UA__Correlation__ID_template();
M3UA__Correlation__ID_template& operator=(template_sel other_value);
M3UA__Correlation__ID_template& operator=(const M3UA__Correlation__ID& other_value);
M3UA__Correlation__ID_template& operator=(const OPTIONAL<M3UA__Correlation__ID>& other_value);
M3UA__Correlation__ID_template& operator=(const M3UA__Correlation__ID_template& other_value);
boolean match(const M3UA__Correlation__ID& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Correlation__ID valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Correlation__ID_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& correlationID();
const OCTETSTRING_template& correlationID() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Correlation__ID& 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 M3UA__Protocol__Data : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_oPC;
  OCTETSTRING field_dPC;
  OCTETSTRING field_sI;
  OCTETSTRING field_nI;
  OCTETSTRING field_mP;
  OCTETSTRING field_sLS;
  OCTETSTRING field_userProtocolData;
public:
  M3UA__Protocol__Data();
  M3UA__Protocol__Data(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_oPC,
    const OCTETSTRING& par_dPC,
    const OCTETSTRING& par_sI,
    const OCTETSTRING& par_nI,
    const OCTETSTRING& par_mP,
    const OCTETSTRING& par_sLS,
    const OCTETSTRING& par_userProtocolData);
  M3UA__Protocol__Data(const M3UA__Protocol__Data& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Protocol__Data& operator=(const M3UA__Protocol__Data& other_value);
  boolean operator==(const M3UA__Protocol__Data& other_value) const;
  inline boolean operator!=(const M3UA__Protocol__Data& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& oPC()
    {return field_oPC;}
  inline const OCTETSTRING& oPC() const
    {return field_oPC;}
  inline OCTETSTRING& dPC()
    {return field_dPC;}
  inline const OCTETSTRING& dPC() const
    {return field_dPC;}
  inline OCTETSTRING& sI()
    {return field_sI;}
  inline const OCTETSTRING& sI() const
    {return field_sI;}
  inline OCTETSTRING& nI()
    {return field_nI;}
  inline const OCTETSTRING& nI() const
    {return field_nI;}
  inline OCTETSTRING& mP()
    {return field_mP;}
  inline const OCTETSTRING& mP() const
    {return field_mP;}
  inline OCTETSTRING& sLS()
    {return field_sLS;}
  inline const OCTETSTRING& sLS() const
    {return field_sLS;}
  inline OCTETSTRING& userProtocolData()
    {return field_userProtocolData;}
  inline const OCTETSTRING& userProtocolData() const
    {return field_userProtocolData;}
  inline int size_of() const
    {return 9;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const M3UA__Protocol__Data& other_value);
void copy_template(const M3UA__Protocol__Data_template& other_value);

public:
M3UA__Protocol__Data_template();
M3UA__Protocol__Data_template(template_sel other_value);
M3UA__Protocol__Data_template(const M3UA__Protocol__Data& other_value);
M3UA__Protocol__Data_template(const OPTIONAL<M3UA__Protocol__Data>& other_value);
M3UA__Protocol__Data_template(M3UA__Protocol__Data_template* p_precondition, M3UA__Protocol__Data_template* p_implied_template);
M3UA__Protocol__Data_template(Dynamic_Match_Interface<M3UA__Protocol__Data>* p_dyn_match);
M3UA__Protocol__Data_template(const M3UA__Protocol__Data_template& other_value);
~M3UA__Protocol__Data_template();
M3UA__Protocol__Data_template& operator=(template_sel other_value);
M3UA__Protocol__Data_template& operator=(const M3UA__Protocol__Data& other_value);
M3UA__Protocol__Data_template& operator=(const OPTIONAL<M3UA__Protocol__Data>& other_value);
M3UA__Protocol__Data_template& operator=(const M3UA__Protocol__Data_template& other_value);
boolean match(const M3UA__Protocol__Data& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Protocol__Data valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Protocol__Data_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& oPC();
const OCTETSTRING_template& oPC() const;
OCTETSTRING_template& dPC();
const OCTETSTRING_template& dPC() const;
OCTETSTRING_template& sI();
const OCTETSTRING_template& sI() const;
OCTETSTRING_template& nI();
const OCTETSTRING_template& nI() const;
OCTETSTRING_template& mP();
const OCTETSTRING_template& mP() const;
OCTETSTRING_template& sLS();
const OCTETSTRING_template& sLS() const;
OCTETSTRING_template& userProtocolData();
const OCTETSTRING_template& userProtocolData() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Protocol__Data& 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 M3UA__Info__String : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_infoString;
public:
  M3UA__Info__String();
  M3UA__Info__String(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_infoString);
  M3UA__Info__String(const M3UA__Info__String& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Info__String& operator=(const M3UA__Info__String& other_value);
  boolean operator==(const M3UA__Info__String& other_value) const;
  inline boolean operator!=(const M3UA__Info__String& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& infoString()
    {return field_infoString;}
  inline const OCTETSTRING& infoString() const
    {return field_infoString;}
  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 M3UA__Info__String_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Info__String_template *list_value;
} value_list;
struct {
M3UA__Info__String_template* precondition;
M3UA__Info__String_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Info__String>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Info__String& other_value);
void copy_template(const M3UA__Info__String_template& other_value);

public:
M3UA__Info__String_template();
M3UA__Info__String_template(template_sel other_value);
M3UA__Info__String_template(const M3UA__Info__String& other_value);
M3UA__Info__String_template(const OPTIONAL<M3UA__Info__String>& other_value);
M3UA__Info__String_template(M3UA__Info__String_template* p_precondition, M3UA__Info__String_template* p_implied_template);
M3UA__Info__String_template(Dynamic_Match_Interface<M3UA__Info__String>* p_dyn_match);
M3UA__Info__String_template(const M3UA__Info__String_template& other_value);
~M3UA__Info__String_template();
M3UA__Info__String_template& operator=(template_sel other_value);
M3UA__Info__String_template& operator=(const M3UA__Info__String& other_value);
M3UA__Info__String_template& operator=(const OPTIONAL<M3UA__Info__String>& other_value);
M3UA__Info__String_template& operator=(const M3UA__Info__String_template& other_value);
boolean match(const M3UA__Info__String& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Info__String valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Info__String_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& infoString();
const OCTETSTRING_template& infoString() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Info__String& 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 M3UA__Concerned__Destination : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_reserved;
  OCTETSTRING field_concernedDestination;
public:
  M3UA__Concerned__Destination();
  M3UA__Concerned__Destination(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_concernedDestination);
  M3UA__Concerned__Destination(const M3UA__Concerned__Destination& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Concerned__Destination& operator=(const M3UA__Concerned__Destination& other_value);
  boolean operator==(const M3UA__Concerned__Destination& other_value) const;
  inline boolean operator!=(const M3UA__Concerned__Destination& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& concernedDestination()
    {return field_concernedDestination;}
  inline const OCTETSTRING& concernedDestination() const
    {return field_concernedDestination;}
  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 M3UA__Concerned__Destination_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Concerned__Destination_template *list_value;
} value_list;
struct {
M3UA__Concerned__Destination_template* precondition;
M3UA__Concerned__Destination_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Concerned__Destination>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Concerned__Destination& other_value);
void copy_template(const M3UA__Concerned__Destination_template& other_value);

public:
M3UA__Concerned__Destination_template();
M3UA__Concerned__Destination_template(template_sel other_value);
M3UA__Concerned__Destination_template(const M3UA__Concerned__Destination& other_value);
M3UA__Concerned__Destination_template(const OPTIONAL<M3UA__Concerned__Destination>& other_value);
M3UA__Concerned__Destination_template(M3UA__Concerned__Destination_template* p_precondition, M3UA__Concerned__Destination_template* p_implied_template);
M3UA__Concerned__Destination_template(Dynamic_Match_Interface<M3UA__Concerned__Destination>* p_dyn_match);
M3UA__Concerned__Destination_template(const M3UA__Concerned__Destination_template& other_value);
~M3UA__Concerned__Destination_template();
M3UA__Concerned__Destination_template& operator=(template_sel other_value);
M3UA__Concerned__Destination_template& operator=(const M3UA__Concerned__Destination& other_value);
M3UA__Concerned__Destination_template& operator=(const OPTIONAL<M3UA__Concerned__Destination>& other_value);
M3UA__Concerned__Destination_template& operator=(const M3UA__Concerned__Destination_template& other_value);
boolean match(const M3UA__Concerned__Destination& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Concerned__Destination valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Concerned__Destination_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& concernedDestination();
const OCTETSTRING_template& concernedDestination() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Concerned__Destination& 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 M3UA__Congestion__Indicators : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_reserved;
  OCTETSTRING field_congestionLevel;
public:
  M3UA__Congestion__Indicators();
  M3UA__Congestion__Indicators(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_congestionLevel);
  M3UA__Congestion__Indicators(const M3UA__Congestion__Indicators& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Congestion__Indicators& operator=(const M3UA__Congestion__Indicators& other_value);
  boolean operator==(const M3UA__Congestion__Indicators& other_value) const;
  inline boolean operator!=(const M3UA__Congestion__Indicators& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& congestionLevel()
    {return field_congestionLevel;}
  inline const OCTETSTRING& congestionLevel() const
    {return field_congestionLevel;}
  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 M3UA__Congestion__Indicators_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Congestion__Indicators_template *list_value;
} value_list;
struct {
M3UA__Congestion__Indicators_template* precondition;
M3UA__Congestion__Indicators_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Congestion__Indicators>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Congestion__Indicators& other_value);
void copy_template(const M3UA__Congestion__Indicators_template& other_value);

public:
M3UA__Congestion__Indicators_template();
M3UA__Congestion__Indicators_template(template_sel other_value);
M3UA__Congestion__Indicators_template(const M3UA__Congestion__Indicators& other_value);
M3UA__Congestion__Indicators_template(const OPTIONAL<M3UA__Congestion__Indicators>& other_value);
M3UA__Congestion__Indicators_template(M3UA__Congestion__Indicators_template* p_precondition, M3UA__Congestion__Indicators_template* p_implied_template);
M3UA__Congestion__Indicators_template(Dynamic_Match_Interface<M3UA__Congestion__Indicators>* p_dyn_match);
M3UA__Congestion__Indicators_template(const M3UA__Congestion__Indicators_template& other_value);
~M3UA__Congestion__Indicators_template();
M3UA__Congestion__Indicators_template& operator=(template_sel other_value);
M3UA__Congestion__Indicators_template& operator=(const M3UA__Congestion__Indicators& other_value);
M3UA__Congestion__Indicators_template& operator=(const OPTIONAL<M3UA__Congestion__Indicators>& other_value);
M3UA__Congestion__Indicators_template& operator=(const M3UA__Congestion__Indicators_template& other_value);
boolean match(const M3UA__Congestion__Indicators& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Congestion__Indicators valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Congestion__Indicators_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& congestionLevel();
const OCTETSTRING_template& congestionLevel() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Congestion__Indicators& 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 M3UA__User__Cause : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_cause;
  OCTETSTRING field_user;
public:
  M3UA__User__Cause();
  M3UA__User__Cause(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_cause,
    const OCTETSTRING& par_user);
  M3UA__User__Cause(const M3UA__User__Cause& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__User__Cause& operator=(const M3UA__User__Cause& other_value);
  boolean operator==(const M3UA__User__Cause& other_value) const;
  inline boolean operator!=(const M3UA__User__Cause& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& cause()
    {return field_cause;}
  inline const OCTETSTRING& cause() const
    {return field_cause;}
  inline OCTETSTRING& user()
    {return field_user;}
  inline const OCTETSTRING& user() const
    {return field_user;}
  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 M3UA__User__Cause_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__User__Cause_template *list_value;
} value_list;
struct {
M3UA__User__Cause_template* precondition;
M3UA__User__Cause_template* implied_template;
} implication_;
dynmatch_struct<M3UA__User__Cause>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__User__Cause& other_value);
void copy_template(const M3UA__User__Cause_template& other_value);

public:
M3UA__User__Cause_template();
M3UA__User__Cause_template(template_sel other_value);
M3UA__User__Cause_template(const M3UA__User__Cause& other_value);
M3UA__User__Cause_template(const OPTIONAL<M3UA__User__Cause>& other_value);
M3UA__User__Cause_template(M3UA__User__Cause_template* p_precondition, M3UA__User__Cause_template* p_implied_template);
M3UA__User__Cause_template(Dynamic_Match_Interface<M3UA__User__Cause>* p_dyn_match);
M3UA__User__Cause_template(const M3UA__User__Cause_template& other_value);
~M3UA__User__Cause_template();
M3UA__User__Cause_template& operator=(template_sel other_value);
M3UA__User__Cause_template& operator=(const M3UA__User__Cause& other_value);
M3UA__User__Cause_template& operator=(const OPTIONAL<M3UA__User__Cause>& other_value);
M3UA__User__Cause_template& operator=(const M3UA__User__Cause_template& other_value);
boolean match(const M3UA__User__Cause& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__User__Cause valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__User__Cause_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& cause();
const OCTETSTRING_template& cause() const;
OCTETSTRING_template& user();
const OCTETSTRING_template& user() const;
int size_of() const;
void log() const;
void log_match(const M3UA__User__Cause& 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 M3UA__ASP__Identifier : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_aSPIdentifier;
public:
  M3UA__ASP__Identifier();
  M3UA__ASP__Identifier(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_aSPIdentifier);
  M3UA__ASP__Identifier(const M3UA__ASP__Identifier& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASP__Identifier& operator=(const M3UA__ASP__Identifier& other_value);
  boolean operator==(const M3UA__ASP__Identifier& other_value) const;
  inline boolean operator!=(const M3UA__ASP__Identifier& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& aSPIdentifier()
    {return field_aSPIdentifier;}
  inline const OCTETSTRING& aSPIdentifier() const
    {return field_aSPIdentifier;}
  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 M3UA__ASP__Identifier_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASP__Identifier_template *list_value;
} value_list;
struct {
M3UA__ASP__Identifier_template* precondition;
M3UA__ASP__Identifier_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASP__Identifier>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASP__Identifier& other_value);
void copy_template(const M3UA__ASP__Identifier_template& other_value);

public:
M3UA__ASP__Identifier_template();
M3UA__ASP__Identifier_template(template_sel other_value);
M3UA__ASP__Identifier_template(const M3UA__ASP__Identifier& other_value);
M3UA__ASP__Identifier_template(const OPTIONAL<M3UA__ASP__Identifier>& other_value);
M3UA__ASP__Identifier_template(M3UA__ASP__Identifier_template* p_precondition, M3UA__ASP__Identifier_template* p_implied_template);
M3UA__ASP__Identifier_template(Dynamic_Match_Interface<M3UA__ASP__Identifier>* p_dyn_match);
M3UA__ASP__Identifier_template(const M3UA__ASP__Identifier_template& other_value);
~M3UA__ASP__Identifier_template();
M3UA__ASP__Identifier_template& operator=(template_sel other_value);
M3UA__ASP__Identifier_template& operator=(const M3UA__ASP__Identifier& other_value);
M3UA__ASP__Identifier_template& operator=(const OPTIONAL<M3UA__ASP__Identifier>& other_value);
M3UA__ASP__Identifier_template& operator=(const M3UA__ASP__Identifier_template& other_value);
boolean match(const M3UA__ASP__Identifier& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASP__Identifier valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASP__Identifier_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& aSPIdentifier();
const OCTETSTRING_template& aSPIdentifier() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASP__Identifier& 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 M3UA__Heartbeat__Data : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_heartbeat__Data;
public:
  M3UA__Heartbeat__Data();
  M3UA__Heartbeat__Data(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_heartbeat__Data);
  M3UA__Heartbeat__Data(const M3UA__Heartbeat__Data& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Heartbeat__Data& operator=(const M3UA__Heartbeat__Data& other_value);
  boolean operator==(const M3UA__Heartbeat__Data& other_value) const;
  inline boolean operator!=(const M3UA__Heartbeat__Data& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& heartbeat__Data()
    {return field_heartbeat__Data;}
  inline const OCTETSTRING& heartbeat__Data() const
    {return field_heartbeat__Data;}
  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 M3UA__Heartbeat__Data_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Heartbeat__Data_template *list_value;
} value_list;
struct {
M3UA__Heartbeat__Data_template* precondition;
M3UA__Heartbeat__Data_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Heartbeat__Data>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Heartbeat__Data& other_value);
void copy_template(const M3UA__Heartbeat__Data_template& other_value);

public:
M3UA__Heartbeat__Data_template();
M3UA__Heartbeat__Data_template(template_sel other_value);
M3UA__Heartbeat__Data_template(const M3UA__Heartbeat__Data& other_value);
M3UA__Heartbeat__Data_template(const OPTIONAL<M3UA__Heartbeat__Data>& other_value);
M3UA__Heartbeat__Data_template(M3UA__Heartbeat__Data_template* p_precondition, M3UA__Heartbeat__Data_template* p_implied_template);
M3UA__Heartbeat__Data_template(Dynamic_Match_Interface<M3UA__Heartbeat__Data>* p_dyn_match);
M3UA__Heartbeat__Data_template(const M3UA__Heartbeat__Data_template& other_value);
~M3UA__Heartbeat__Data_template();
M3UA__Heartbeat__Data_template& operator=(template_sel other_value);
M3UA__Heartbeat__Data_template& operator=(const M3UA__Heartbeat__Data& other_value);
M3UA__Heartbeat__Data_template& operator=(const OPTIONAL<M3UA__Heartbeat__Data>& other_value);
M3UA__Heartbeat__Data_template& operator=(const M3UA__Heartbeat__Data_template& other_value);
boolean match(const M3UA__Heartbeat__Data& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Heartbeat__Data valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Heartbeat__Data_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& heartbeat__Data();
const OCTETSTRING_template& heartbeat__Data() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Heartbeat__Data& 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 M3UA__Traffic__Mode__Type : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_trafficModeType;
public:
  M3UA__Traffic__Mode__Type();
  M3UA__Traffic__Mode__Type(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_trafficModeType);
  M3UA__Traffic__Mode__Type(const M3UA__Traffic__Mode__Type& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Traffic__Mode__Type& operator=(const M3UA__Traffic__Mode__Type& other_value);
  boolean operator==(const M3UA__Traffic__Mode__Type& other_value) const;
  inline boolean operator!=(const M3UA__Traffic__Mode__Type& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& trafficModeType()
    {return field_trafficModeType;}
  inline const OCTETSTRING& trafficModeType() const
    {return field_trafficModeType;}
  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 M3UA__Traffic__Mode__Type_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Traffic__Mode__Type_template *list_value;
} value_list;
struct {
M3UA__Traffic__Mode__Type_template* precondition;
M3UA__Traffic__Mode__Type_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Traffic__Mode__Type>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Traffic__Mode__Type& other_value);
void copy_template(const M3UA__Traffic__Mode__Type_template& other_value);

public:
M3UA__Traffic__Mode__Type_template();
M3UA__Traffic__Mode__Type_template(template_sel other_value);
M3UA__Traffic__Mode__Type_template(const M3UA__Traffic__Mode__Type& other_value);
M3UA__Traffic__Mode__Type_template(const OPTIONAL<M3UA__Traffic__Mode__Type>& other_value);
M3UA__Traffic__Mode__Type_template(M3UA__Traffic__Mode__Type_template* p_precondition, M3UA__Traffic__Mode__Type_template* p_implied_template);
M3UA__Traffic__Mode__Type_template(Dynamic_Match_Interface<M3UA__Traffic__Mode__Type>* p_dyn_match);
M3UA__Traffic__Mode__Type_template(const M3UA__Traffic__Mode__Type_template& other_value);
~M3UA__Traffic__Mode__Type_template();
M3UA__Traffic__Mode__Type_template& operator=(template_sel other_value);
M3UA__Traffic__Mode__Type_template& operator=(const M3UA__Traffic__Mode__Type& other_value);
M3UA__Traffic__Mode__Type_template& operator=(const OPTIONAL<M3UA__Traffic__Mode__Type>& other_value);
M3UA__Traffic__Mode__Type_template& operator=(const M3UA__Traffic__Mode__Type_template& other_value);
boolean match(const M3UA__Traffic__Mode__Type& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Traffic__Mode__Type valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Traffic__Mode__Type_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& trafficModeType();
const OCTETSTRING_template& trafficModeType() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Traffic__Mode__Type& 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 M3UA__Status : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_statusType;
  OCTETSTRING field_statusInfo;
public:
  M3UA__Status();
  M3UA__Status(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_statusType,
    const OCTETSTRING& par_statusInfo);
  M3UA__Status(const M3UA__Status& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Status& operator=(const M3UA__Status& other_value);
  boolean operator==(const M3UA__Status& other_value) const;
  inline boolean operator!=(const M3UA__Status& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& statusType()
    {return field_statusType;}
  inline const OCTETSTRING& statusType() const
    {return field_statusType;}
  inline OCTETSTRING& statusInfo()
    {return field_statusInfo;}
  inline const OCTETSTRING& statusInfo() const
    {return field_statusInfo;}
  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 M3UA__Status_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Status_template *list_value;
} value_list;
struct {
M3UA__Status_template* precondition;
M3UA__Status_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Status>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Status& other_value);
void copy_template(const M3UA__Status_template& other_value);

public:
M3UA__Status_template();
M3UA__Status_template(template_sel other_value);
M3UA__Status_template(const M3UA__Status& other_value);
M3UA__Status_template(const OPTIONAL<M3UA__Status>& other_value);
M3UA__Status_template(M3UA__Status_template* p_precondition, M3UA__Status_template* p_implied_template);
M3UA__Status_template(Dynamic_Match_Interface<M3UA__Status>* p_dyn_match);
M3UA__Status_template(const M3UA__Status_template& other_value);
~M3UA__Status_template();
M3UA__Status_template& operator=(template_sel other_value);
M3UA__Status_template& operator=(const M3UA__Status& other_value);
M3UA__Status_template& operator=(const OPTIONAL<M3UA__Status>& other_value);
M3UA__Status_template& operator=(const M3UA__Status_template& other_value);
boolean match(const M3UA__Status& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Status valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Status_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& statusType();
const OCTETSTRING_template& statusType() const;
OCTETSTRING_template& statusInfo();
const OCTETSTRING_template& statusInfo() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Status& 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 M3UA__Local__Routing__Key__Id : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_localRkId;
public:
  M3UA__Local__Routing__Key__Id();
  M3UA__Local__Routing__Key__Id(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_localRkId);
  M3UA__Local__Routing__Key__Id(const M3UA__Local__Routing__Key__Id& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Local__Routing__Key__Id& operator=(const M3UA__Local__Routing__Key__Id& other_value);
  boolean operator==(const M3UA__Local__Routing__Key__Id& other_value) const;
  inline boolean operator!=(const M3UA__Local__Routing__Key__Id& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& localRkId()
    {return field_localRkId;}
  inline const OCTETSTRING& localRkId() const
    {return field_localRkId;}
  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 M3UA__Local__Routing__Key__Id_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Local__Routing__Key__Id_template *list_value;
} value_list;
struct {
M3UA__Local__Routing__Key__Id_template* precondition;
M3UA__Local__Routing__Key__Id_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Local__Routing__Key__Id>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Local__Routing__Key__Id& other_value);
void copy_template(const M3UA__Local__Routing__Key__Id_template& other_value);

public:
M3UA__Local__Routing__Key__Id_template();
M3UA__Local__Routing__Key__Id_template(template_sel other_value);
M3UA__Local__Routing__Key__Id_template(const M3UA__Local__Routing__Key__Id& other_value);
M3UA__Local__Routing__Key__Id_template(const OPTIONAL<M3UA__Local__Routing__Key__Id>& other_value);
M3UA__Local__Routing__Key__Id_template(M3UA__Local__Routing__Key__Id_template* p_precondition, M3UA__Local__Routing__Key__Id_template* p_implied_template);
M3UA__Local__Routing__Key__Id_template(Dynamic_Match_Interface<M3UA__Local__Routing__Key__Id>* p_dyn_match);
M3UA__Local__Routing__Key__Id_template(const M3UA__Local__Routing__Key__Id_template& other_value);
~M3UA__Local__Routing__Key__Id_template();
M3UA__Local__Routing__Key__Id_template& operator=(template_sel other_value);
M3UA__Local__Routing__Key__Id_template& operator=(const M3UA__Local__Routing__Key__Id& other_value);
M3UA__Local__Routing__Key__Id_template& operator=(const OPTIONAL<M3UA__Local__Routing__Key__Id>& other_value);
M3UA__Local__Routing__Key__Id_template& operator=(const M3UA__Local__Routing__Key__Id_template& other_value);
boolean match(const M3UA__Local__Routing__Key__Id& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Local__Routing__Key__Id valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Local__Routing__Key__Id_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& localRkId();
const OCTETSTRING_template& localRkId() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Local__Routing__Key__Id& 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 M3UA__Destination__PointCode : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  M3UA__Point__Code field_pointCode;
public:
  M3UA__Destination__PointCode();
  M3UA__Destination__PointCode(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const M3UA__Point__Code& par_pointCode);
  M3UA__Destination__PointCode(const M3UA__Destination__PointCode& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Destination__PointCode& operator=(const M3UA__Destination__PointCode& other_value);
  boolean operator==(const M3UA__Destination__PointCode& other_value) const;
  inline boolean operator!=(const M3UA__Destination__PointCode& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline M3UA__Point__Code& pointCode()
    {return field_pointCode;}
  inline const M3UA__Point__Code& pointCode() const
    {return field_pointCode;}
  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 M3UA__Destination__PointCode_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Destination__PointCode_template *list_value;
} value_list;
struct {
M3UA__Destination__PointCode_template* precondition;
M3UA__Destination__PointCode_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Destination__PointCode>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Destination__PointCode& other_value);
void copy_template(const M3UA__Destination__PointCode_template& other_value);

public:
M3UA__Destination__PointCode_template();
M3UA__Destination__PointCode_template(template_sel other_value);
M3UA__Destination__PointCode_template(const M3UA__Destination__PointCode& other_value);
M3UA__Destination__PointCode_template(const OPTIONAL<M3UA__Destination__PointCode>& other_value);
M3UA__Destination__PointCode_template(M3UA__Destination__PointCode_template* p_precondition, M3UA__Destination__PointCode_template* p_implied_template);
M3UA__Destination__PointCode_template(Dynamic_Match_Interface<M3UA__Destination__PointCode>* p_dyn_match);
M3UA__Destination__PointCode_template(const M3UA__Destination__PointCode_template& other_value);
~M3UA__Destination__PointCode_template();
M3UA__Destination__PointCode_template& operator=(template_sel other_value);
M3UA__Destination__PointCode_template& operator=(const M3UA__Destination__PointCode& other_value);
M3UA__Destination__PointCode_template& operator=(const OPTIONAL<M3UA__Destination__PointCode>& other_value);
M3UA__Destination__PointCode_template& operator=(const M3UA__Destination__PointCode_template& other_value);
boolean match(const M3UA__Destination__PointCode& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Destination__PointCode valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Destination__PointCode_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
M3UA__Point__Code_template& pointCode();
const M3UA__Point__Code_template& pointCode() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Destination__PointCode& 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 M3UA__Service__Indicators : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_serviceIndicators;
public:
  M3UA__Service__Indicators();
  M3UA__Service__Indicators(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_serviceIndicators);
  M3UA__Service__Indicators(const M3UA__Service__Indicators& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Service__Indicators& operator=(const M3UA__Service__Indicators& other_value);
  boolean operator==(const M3UA__Service__Indicators& other_value) const;
  inline boolean operator!=(const M3UA__Service__Indicators& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& serviceIndicators()
    {return field_serviceIndicators;}
  inline const OCTETSTRING& serviceIndicators() const
    {return field_serviceIndicators;}
  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 M3UA__Service__Indicators_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Service__Indicators_template *list_value;
} value_list;
struct {
M3UA__Service__Indicators_template* precondition;
M3UA__Service__Indicators_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Service__Indicators>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Service__Indicators& other_value);
void copy_template(const M3UA__Service__Indicators_template& other_value);

public:
M3UA__Service__Indicators_template();
M3UA__Service__Indicators_template(template_sel other_value);
M3UA__Service__Indicators_template(const M3UA__Service__Indicators& other_value);
M3UA__Service__Indicators_template(const OPTIONAL<M3UA__Service__Indicators>& other_value);
M3UA__Service__Indicators_template(M3UA__Service__Indicators_template* p_precondition, M3UA__Service__Indicators_template* p_implied_template);
M3UA__Service__Indicators_template(Dynamic_Match_Interface<M3UA__Service__Indicators>* p_dyn_match);
M3UA__Service__Indicators_template(const M3UA__Service__Indicators_template& other_value);
~M3UA__Service__Indicators_template();
M3UA__Service__Indicators_template& operator=(template_sel other_value);
M3UA__Service__Indicators_template& operator=(const M3UA__Service__Indicators& other_value);
M3UA__Service__Indicators_template& operator=(const OPTIONAL<M3UA__Service__Indicators>& other_value);
M3UA__Service__Indicators_template& operator=(const M3UA__Service__Indicators_template& other_value);
boolean match(const M3UA__Service__Indicators& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Service__Indicators valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Service__Indicators_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& serviceIndicators();
const OCTETSTRING_template& serviceIndicators() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Service__Indicators& 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 M3UA__OPC__List : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  M3UA__Point__Codes field_pointCodes;
public:
  M3UA__OPC__List();
  M3UA__OPC__List(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const M3UA__Point__Codes& par_pointCodes);
  M3UA__OPC__List(const M3UA__OPC__List& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__OPC__List& operator=(const M3UA__OPC__List& other_value);
  boolean operator==(const M3UA__OPC__List& other_value) const;
  inline boolean operator!=(const M3UA__OPC__List& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline M3UA__Point__Codes& pointCodes()
    {return field_pointCodes;}
  inline const M3UA__Point__Codes& pointCodes() const
    {return field_pointCodes;}
  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 M3UA__OPC__List_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__OPC__List_template *list_value;
} value_list;
struct {
M3UA__OPC__List_template* precondition;
M3UA__OPC__List_template* implied_template;
} implication_;
dynmatch_struct<M3UA__OPC__List>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__OPC__List& other_value);
void copy_template(const M3UA__OPC__List_template& other_value);

public:
M3UA__OPC__List_template();
M3UA__OPC__List_template(template_sel other_value);
M3UA__OPC__List_template(const M3UA__OPC__List& other_value);
M3UA__OPC__List_template(const OPTIONAL<M3UA__OPC__List>& other_value);
M3UA__OPC__List_template(M3UA__OPC__List_template* p_precondition, M3UA__OPC__List_template* p_implied_template);
M3UA__OPC__List_template(Dynamic_Match_Interface<M3UA__OPC__List>* p_dyn_match);
M3UA__OPC__List_template(const M3UA__OPC__List_template& other_value);
~M3UA__OPC__List_template();
M3UA__OPC__List_template& operator=(template_sel other_value);
M3UA__OPC__List_template& operator=(const M3UA__OPC__List& other_value);
M3UA__OPC__List_template& operator=(const OPTIONAL<M3UA__OPC__List>& other_value);
M3UA__OPC__List_template& operator=(const M3UA__OPC__List_template& other_value);
boolean match(const M3UA__OPC__List& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__OPC__List valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__OPC__List_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
M3UA__Point__Codes_template& pointCodes();
const M3UA__Point__Codes_template& pointCodes() const;
int size_of() const;
void log() const;
void log_match(const M3UA__OPC__List& 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 M3UA__Routing__Key__Parameters : public Base_Type {
  M3UA__Local__Routing__Key__Id field_local__Routing__Key__Id;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  OPTIONAL< M3UA__Traffic__Mode__Type > field_traffic__Mode__Type;
  M3UA__Destination__PointCode field_destination__Point__Code;
  OPTIONAL< M3UA__Network__Appearance > field_network__Appearance;
  OPTIONAL< M3UA__Service__Indicators > field_service__Indicators;
  OPTIONAL< M3UA__OPC__List > field_opc__List;
public:
  M3UA__Routing__Key__Parameters();
  M3UA__Routing__Key__Parameters(const M3UA__Local__Routing__Key__Id& par_local__Routing__Key__Id,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const OPTIONAL< M3UA__Traffic__Mode__Type >& par_traffic__Mode__Type,
    const M3UA__Destination__PointCode& par_destination__Point__Code,
    const OPTIONAL< M3UA__Network__Appearance >& par_network__Appearance,
    const OPTIONAL< M3UA__Service__Indicators >& par_service__Indicators,
    const OPTIONAL< M3UA__OPC__List >& par_opc__List);
  M3UA__Routing__Key__Parameters(const M3UA__Routing__Key__Parameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Routing__Key__Parameters& operator=(const M3UA__Routing__Key__Parameters& other_value);
  boolean operator==(const M3UA__Routing__Key__Parameters& other_value) const;
  inline boolean operator!=(const M3UA__Routing__Key__Parameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline M3UA__Local__Routing__Key__Id& local__Routing__Key__Id()
    {return field_local__Routing__Key__Id;}
  inline const M3UA__Local__Routing__Key__Id& local__Routing__Key__Id() const
    {return field_local__Routing__Key__Id;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline OPTIONAL< M3UA__Traffic__Mode__Type >& traffic__Mode__Type()
    {return field_traffic__Mode__Type;}
  inline const OPTIONAL< M3UA__Traffic__Mode__Type >& traffic__Mode__Type() const
    {return field_traffic__Mode__Type;}
  inline M3UA__Destination__PointCode& destination__Point__Code()
    {return field_destination__Point__Code;}
  inline const M3UA__Destination__PointCode& destination__Point__Code() const
    {return field_destination__Point__Code;}
  inline OPTIONAL< M3UA__Network__Appearance >& network__Appearance()
    {return field_network__Appearance;}
  inline const OPTIONAL< M3UA__Network__Appearance >& network__Appearance() const
    {return field_network__Appearance;}
  inline OPTIONAL< M3UA__Service__Indicators >& service__Indicators()
    {return field_service__Indicators;}
  inline const OPTIONAL< M3UA__Service__Indicators >& service__Indicators() const
    {return field_service__Indicators;}
  inline OPTIONAL< M3UA__OPC__List >& opc__List()
    {return field_opc__List;}
  inline const OPTIONAL< M3UA__OPC__List >& opc__List() const
    {return field_opc__List;}
  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 M3UA__Routing__Key__Parameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Routing__Key__Parameters_template *list_value;
} value_list;
struct {
M3UA__Routing__Key__Parameters_template* precondition;
M3UA__Routing__Key__Parameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Routing__Key__Parameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Routing__Key__Parameters& other_value);
void copy_template(const M3UA__Routing__Key__Parameters_template& other_value);

public:
M3UA__Routing__Key__Parameters_template();
M3UA__Routing__Key__Parameters_template(template_sel other_value);
M3UA__Routing__Key__Parameters_template(const M3UA__Routing__Key__Parameters& other_value);
M3UA__Routing__Key__Parameters_template(const OPTIONAL<M3UA__Routing__Key__Parameters>& other_value);
M3UA__Routing__Key__Parameters_template(M3UA__Routing__Key__Parameters_template* p_precondition, M3UA__Routing__Key__Parameters_template* p_implied_template);
M3UA__Routing__Key__Parameters_template(Dynamic_Match_Interface<M3UA__Routing__Key__Parameters>* p_dyn_match);
M3UA__Routing__Key__Parameters_template(const M3UA__Routing__Key__Parameters_template& other_value);
~M3UA__Routing__Key__Parameters_template();
M3UA__Routing__Key__Parameters_template& operator=(template_sel other_value);
M3UA__Routing__Key__Parameters_template& operator=(const M3UA__Routing__Key__Parameters& other_value);
M3UA__Routing__Key__Parameters_template& operator=(const OPTIONAL<M3UA__Routing__Key__Parameters>& other_value);
M3UA__Routing__Key__Parameters_template& operator=(const M3UA__Routing__Key__Parameters_template& other_value);
boolean match(const M3UA__Routing__Key__Parameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Routing__Key__Parameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Routing__Key__Parameters_template& list_item(unsigned int list_index) const;
M3UA__Local__Routing__Key__Id_template& local__Routing__Key__Id();
const M3UA__Local__Routing__Key__Id_template& local__Routing__Key__Id() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Traffic__Mode__Type_template& traffic__Mode__Type();
const M3UA__Traffic__Mode__Type_template& traffic__Mode__Type() const;
M3UA__Destination__PointCode_template& destination__Point__Code();
const M3UA__Destination__PointCode_template& destination__Point__Code() const;
M3UA__Network__Appearance_template& network__Appearance();
const M3UA__Network__Appearance_template& network__Appearance() const;
M3UA__Service__Indicators_template& service__Indicators();
const M3UA__Service__Indicators_template& service__Indicators() const;
M3UA__OPC__List_template& opc__List();
const M3UA__OPC__List_template& opc__List() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Routing__Key__Parameters& 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 M3UA__Routing__Key : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  M3UA__Routing__Key__Parameters field_routingKey;
public:
  M3UA__Routing__Key();
  M3UA__Routing__Key(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const M3UA__Routing__Key__Parameters& par_routingKey);
  M3UA__Routing__Key(const M3UA__Routing__Key& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Routing__Key& operator=(const M3UA__Routing__Key& other_value);
  boolean operator==(const M3UA__Routing__Key& other_value) const;
  inline boolean operator!=(const M3UA__Routing__Key& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline M3UA__Routing__Key__Parameters& routingKey()
    {return field_routingKey;}
  inline const M3UA__Routing__Key__Parameters& routingKey() const
    {return field_routingKey;}
  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 M3UA__Routing__Key_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Routing__Key_template *list_value;
} value_list;
struct {
M3UA__Routing__Key_template* precondition;
M3UA__Routing__Key_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Routing__Key>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Routing__Key& other_value);
void copy_template(const M3UA__Routing__Key_template& other_value);

public:
M3UA__Routing__Key_template();
M3UA__Routing__Key_template(template_sel other_value);
M3UA__Routing__Key_template(const M3UA__Routing__Key& other_value);
M3UA__Routing__Key_template(const OPTIONAL<M3UA__Routing__Key>& other_value);
M3UA__Routing__Key_template(M3UA__Routing__Key_template* p_precondition, M3UA__Routing__Key_template* p_implied_template);
M3UA__Routing__Key_template(Dynamic_Match_Interface<M3UA__Routing__Key>* p_dyn_match);
M3UA__Routing__Key_template(const M3UA__Routing__Key_template& other_value);
~M3UA__Routing__Key_template();
M3UA__Routing__Key_template& operator=(template_sel other_value);
M3UA__Routing__Key_template& operator=(const M3UA__Routing__Key& other_value);
M3UA__Routing__Key_template& operator=(const OPTIONAL<M3UA__Routing__Key>& other_value);
M3UA__Routing__Key_template& operator=(const M3UA__Routing__Key_template& other_value);
boolean match(const M3UA__Routing__Key& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Routing__Key valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Routing__Key_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
M3UA__Routing__Key__Parameters_template& routingKey();
const M3UA__Routing__Key__Parameters_template& routingKey() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Routing__Key& 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 M3UA__Registration__Status : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_registrationStatus;
public:
  M3UA__Registration__Status();
  M3UA__Registration__Status(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_registrationStatus);
  M3UA__Registration__Status(const M3UA__Registration__Status& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Registration__Status& operator=(const M3UA__Registration__Status& other_value);
  boolean operator==(const M3UA__Registration__Status& other_value) const;
  inline boolean operator!=(const M3UA__Registration__Status& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& registrationStatus()
    {return field_registrationStatus;}
  inline const OCTETSTRING& registrationStatus() const
    {return field_registrationStatus;}
  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 M3UA__Registration__Status_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Registration__Status_template *list_value;
} value_list;
struct {
M3UA__Registration__Status_template* precondition;
M3UA__Registration__Status_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Registration__Status>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Registration__Status& other_value);
void copy_template(const M3UA__Registration__Status_template& other_value);

public:
M3UA__Registration__Status_template();
M3UA__Registration__Status_template(template_sel other_value);
M3UA__Registration__Status_template(const M3UA__Registration__Status& other_value);
M3UA__Registration__Status_template(const OPTIONAL<M3UA__Registration__Status>& other_value);
M3UA__Registration__Status_template(M3UA__Registration__Status_template* p_precondition, M3UA__Registration__Status_template* p_implied_template);
M3UA__Registration__Status_template(Dynamic_Match_Interface<M3UA__Registration__Status>* p_dyn_match);
M3UA__Registration__Status_template(const M3UA__Registration__Status_template& other_value);
~M3UA__Registration__Status_template();
M3UA__Registration__Status_template& operator=(template_sel other_value);
M3UA__Registration__Status_template& operator=(const M3UA__Registration__Status& other_value);
M3UA__Registration__Status_template& operator=(const OPTIONAL<M3UA__Registration__Status>& other_value);
M3UA__Registration__Status_template& operator=(const M3UA__Registration__Status_template& other_value);
boolean match(const M3UA__Registration__Status& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Registration__Status valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Registration__Status_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& registrationStatus();
const OCTETSTRING_template& registrationStatus() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Registration__Status& 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 M3UA__Deregistration__Status : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  OCTETSTRING field_deregistrationStatus;
public:
  M3UA__Deregistration__Status();
  M3UA__Deregistration__Status(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const OCTETSTRING& par_deregistrationStatus);
  M3UA__Deregistration__Status(const M3UA__Deregistration__Status& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Deregistration__Status& operator=(const M3UA__Deregistration__Status& other_value);
  boolean operator==(const M3UA__Deregistration__Status& other_value) const;
  inline boolean operator!=(const M3UA__Deregistration__Status& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline OCTETSTRING& deregistrationStatus()
    {return field_deregistrationStatus;}
  inline const OCTETSTRING& deregistrationStatus() const
    {return field_deregistrationStatus;}
  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 M3UA__Deregistration__Status_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Deregistration__Status_template *list_value;
} value_list;
struct {
M3UA__Deregistration__Status_template* precondition;
M3UA__Deregistration__Status_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Deregistration__Status>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Deregistration__Status& other_value);
void copy_template(const M3UA__Deregistration__Status_template& other_value);

public:
M3UA__Deregistration__Status_template();
M3UA__Deregistration__Status_template(template_sel other_value);
M3UA__Deregistration__Status_template(const M3UA__Deregistration__Status& other_value);
M3UA__Deregistration__Status_template(const OPTIONAL<M3UA__Deregistration__Status>& other_value);
M3UA__Deregistration__Status_template(M3UA__Deregistration__Status_template* p_precondition, M3UA__Deregistration__Status_template* p_implied_template);
M3UA__Deregistration__Status_template(Dynamic_Match_Interface<M3UA__Deregistration__Status>* p_dyn_match);
M3UA__Deregistration__Status_template(const M3UA__Deregistration__Status_template& other_value);
~M3UA__Deregistration__Status_template();
M3UA__Deregistration__Status_template& operator=(template_sel other_value);
M3UA__Deregistration__Status_template& operator=(const M3UA__Deregistration__Status& other_value);
M3UA__Deregistration__Status_template& operator=(const OPTIONAL<M3UA__Deregistration__Status>& other_value);
M3UA__Deregistration__Status_template& operator=(const M3UA__Deregistration__Status_template& other_value);
boolean match(const M3UA__Deregistration__Status& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Deregistration__Status valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Deregistration__Status_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
OCTETSTRING_template& deregistrationStatus();
const OCTETSTRING_template& deregistrationStatus() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Deregistration__Status& 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 M3UA__Registration__Result__Parameters : public Base_Type {
  M3UA__Local__Routing__Key__Id field_local__Routing__Key__Id;
  M3UA__Registration__Status field_registration__Status;
  M3UA__Routing__Context field_routing__Context;
public:
  M3UA__Registration__Result__Parameters();
  M3UA__Registration__Result__Parameters(const M3UA__Local__Routing__Key__Id& par_local__Routing__Key__Id,
    const M3UA__Registration__Status& par_registration__Status,
    const M3UA__Routing__Context& par_routing__Context);
  M3UA__Registration__Result__Parameters(const M3UA__Registration__Result__Parameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Registration__Result__Parameters& operator=(const M3UA__Registration__Result__Parameters& other_value);
  boolean operator==(const M3UA__Registration__Result__Parameters& other_value) const;
  inline boolean operator!=(const M3UA__Registration__Result__Parameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline M3UA__Local__Routing__Key__Id& local__Routing__Key__Id()
    {return field_local__Routing__Key__Id;}
  inline const M3UA__Local__Routing__Key__Id& local__Routing__Key__Id() const
    {return field_local__Routing__Key__Id;}
  inline M3UA__Registration__Status& registration__Status()
    {return field_registration__Status;}
  inline const M3UA__Registration__Status& registration__Status() const
    {return field_registration__Status;}
  inline M3UA__Routing__Context& routing__Context()
    {return field_routing__Context;}
  inline const M3UA__Routing__Context& routing__Context() const
    {return field_routing__Context;}
  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 M3UA__Registration__Result__Parameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Registration__Result__Parameters_template *list_value;
} value_list;
struct {
M3UA__Registration__Result__Parameters_template* precondition;
M3UA__Registration__Result__Parameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Registration__Result__Parameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Registration__Result__Parameters& other_value);
void copy_template(const M3UA__Registration__Result__Parameters_template& other_value);

public:
M3UA__Registration__Result__Parameters_template();
M3UA__Registration__Result__Parameters_template(template_sel other_value);
M3UA__Registration__Result__Parameters_template(const M3UA__Registration__Result__Parameters& other_value);
M3UA__Registration__Result__Parameters_template(const OPTIONAL<M3UA__Registration__Result__Parameters>& other_value);
M3UA__Registration__Result__Parameters_template(M3UA__Registration__Result__Parameters_template* p_precondition, M3UA__Registration__Result__Parameters_template* p_implied_template);
M3UA__Registration__Result__Parameters_template(Dynamic_Match_Interface<M3UA__Registration__Result__Parameters>* p_dyn_match);
M3UA__Registration__Result__Parameters_template(const M3UA__Registration__Result__Parameters_template& other_value);
~M3UA__Registration__Result__Parameters_template();
M3UA__Registration__Result__Parameters_template& operator=(template_sel other_value);
M3UA__Registration__Result__Parameters_template& operator=(const M3UA__Registration__Result__Parameters& other_value);
M3UA__Registration__Result__Parameters_template& operator=(const OPTIONAL<M3UA__Registration__Result__Parameters>& other_value);
M3UA__Registration__Result__Parameters_template& operator=(const M3UA__Registration__Result__Parameters_template& other_value);
boolean match(const M3UA__Registration__Result__Parameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Registration__Result__Parameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Registration__Result__Parameters_template& list_item(unsigned int list_index) const;
M3UA__Local__Routing__Key__Id_template& local__Routing__Key__Id();
const M3UA__Local__Routing__Key__Id_template& local__Routing__Key__Id() const;
M3UA__Registration__Status_template& registration__Status();
const M3UA__Registration__Status_template& registration__Status() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Registration__Result__Parameters& 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 M3UA__Registration__Result : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  M3UA__Registration__Result__Parameters field_registrationResult;
public:
  M3UA__Registration__Result();
  M3UA__Registration__Result(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const M3UA__Registration__Result__Parameters& par_registrationResult);
  M3UA__Registration__Result(const M3UA__Registration__Result& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Registration__Result& operator=(const M3UA__Registration__Result& other_value);
  boolean operator==(const M3UA__Registration__Result& other_value) const;
  inline boolean operator!=(const M3UA__Registration__Result& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline M3UA__Registration__Result__Parameters& registrationResult()
    {return field_registrationResult;}
  inline const M3UA__Registration__Result__Parameters& registrationResult() const
    {return field_registrationResult;}
  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 M3UA__Registration__Result_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Registration__Result_template *list_value;
} value_list;
struct {
M3UA__Registration__Result_template* precondition;
M3UA__Registration__Result_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Registration__Result>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Registration__Result& other_value);
void copy_template(const M3UA__Registration__Result_template& other_value);

public:
M3UA__Registration__Result_template();
M3UA__Registration__Result_template(template_sel other_value);
M3UA__Registration__Result_template(const M3UA__Registration__Result& other_value);
M3UA__Registration__Result_template(const OPTIONAL<M3UA__Registration__Result>& other_value);
M3UA__Registration__Result_template(M3UA__Registration__Result_template* p_precondition, M3UA__Registration__Result_template* p_implied_template);
M3UA__Registration__Result_template(Dynamic_Match_Interface<M3UA__Registration__Result>* p_dyn_match);
M3UA__Registration__Result_template(const M3UA__Registration__Result_template& other_value);
~M3UA__Registration__Result_template();
M3UA__Registration__Result_template& operator=(template_sel other_value);
M3UA__Registration__Result_template& operator=(const M3UA__Registration__Result& other_value);
M3UA__Registration__Result_template& operator=(const OPTIONAL<M3UA__Registration__Result>& other_value);
M3UA__Registration__Result_template& operator=(const M3UA__Registration__Result_template& other_value);
boolean match(const M3UA__Registration__Result& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Registration__Result valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Registration__Result_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
M3UA__Registration__Result__Parameters_template& registrationResult();
const M3UA__Registration__Result__Parameters_template& registrationResult() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Registration__Result& 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 M3UA__Deregistration__Result__Parameters : public Base_Type {
  M3UA__Routing__Context field_routing__Context;
  M3UA__Deregistration__Status field_deregistration__Status;
public:
  M3UA__Deregistration__Result__Parameters();
  M3UA__Deregistration__Result__Parameters(const M3UA__Routing__Context& par_routing__Context,
    const M3UA__Deregistration__Status& par_deregistration__Status);
  M3UA__Deregistration__Result__Parameters(const M3UA__Deregistration__Result__Parameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Deregistration__Result__Parameters& operator=(const M3UA__Deregistration__Result__Parameters& other_value);
  boolean operator==(const M3UA__Deregistration__Result__Parameters& other_value) const;
  inline boolean operator!=(const M3UA__Deregistration__Result__Parameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline M3UA__Routing__Context& routing__Context()
    {return field_routing__Context;}
  inline const M3UA__Routing__Context& routing__Context() const
    {return field_routing__Context;}
  inline M3UA__Deregistration__Status& deregistration__Status()
    {return field_deregistration__Status;}
  inline const M3UA__Deregistration__Status& deregistration__Status() const
    {return field_deregistration__Status;}
  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 M3UA__Deregistration__Result__Parameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Deregistration__Result__Parameters_template *list_value;
} value_list;
struct {
M3UA__Deregistration__Result__Parameters_template* precondition;
M3UA__Deregistration__Result__Parameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Deregistration__Result__Parameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Deregistration__Result__Parameters& other_value);
void copy_template(const M3UA__Deregistration__Result__Parameters_template& other_value);

public:
M3UA__Deregistration__Result__Parameters_template();
M3UA__Deregistration__Result__Parameters_template(template_sel other_value);
M3UA__Deregistration__Result__Parameters_template(const M3UA__Deregistration__Result__Parameters& other_value);
M3UA__Deregistration__Result__Parameters_template(const OPTIONAL<M3UA__Deregistration__Result__Parameters>& other_value);
M3UA__Deregistration__Result__Parameters_template(M3UA__Deregistration__Result__Parameters_template* p_precondition, M3UA__Deregistration__Result__Parameters_template* p_implied_template);
M3UA__Deregistration__Result__Parameters_template(Dynamic_Match_Interface<M3UA__Deregistration__Result__Parameters>* p_dyn_match);
M3UA__Deregistration__Result__Parameters_template(const M3UA__Deregistration__Result__Parameters_template& other_value);
~M3UA__Deregistration__Result__Parameters_template();
M3UA__Deregistration__Result__Parameters_template& operator=(template_sel other_value);
M3UA__Deregistration__Result__Parameters_template& operator=(const M3UA__Deregistration__Result__Parameters& other_value);
M3UA__Deregistration__Result__Parameters_template& operator=(const OPTIONAL<M3UA__Deregistration__Result__Parameters>& other_value);
M3UA__Deregistration__Result__Parameters_template& operator=(const M3UA__Deregistration__Result__Parameters_template& other_value);
boolean match(const M3UA__Deregistration__Result__Parameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Deregistration__Result__Parameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Deregistration__Result__Parameters_template& list_item(unsigned int list_index) const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Deregistration__Status_template& deregistration__Status();
const M3UA__Deregistration__Status_template& deregistration__Status() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Deregistration__Result__Parameters& 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 M3UA__Deregistration__Result : public Base_Type {
  OCTETSTRING field_tag;
  INTEGER field_lengthInd;
  M3UA__Deregistration__Result__Parameters field_deregistrationResult;
public:
  M3UA__Deregistration__Result();
  M3UA__Deregistration__Result(const OCTETSTRING& par_tag,
    const INTEGER& par_lengthInd,
    const M3UA__Deregistration__Result__Parameters& par_deregistrationResult);
  M3UA__Deregistration__Result(const M3UA__Deregistration__Result& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__Deregistration__Result& operator=(const M3UA__Deregistration__Result& other_value);
  boolean operator==(const M3UA__Deregistration__Result& other_value) const;
  inline boolean operator!=(const M3UA__Deregistration__Result& 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& tag()
    {return field_tag;}
  inline const OCTETSTRING& tag() const
    {return field_tag;}
  inline INTEGER& lengthInd()
    {return field_lengthInd;}
  inline const INTEGER& lengthInd() const
    {return field_lengthInd;}
  inline M3UA__Deregistration__Result__Parameters& deregistrationResult()
    {return field_deregistrationResult;}
  inline const M3UA__Deregistration__Result__Parameters& deregistrationResult() const
    {return field_deregistrationResult;}
  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 M3UA__Deregistration__Result_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__Deregistration__Result_template *list_value;
} value_list;
struct {
M3UA__Deregistration__Result_template* precondition;
M3UA__Deregistration__Result_template* implied_template;
} implication_;
dynmatch_struct<M3UA__Deregistration__Result>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__Deregistration__Result& other_value);
void copy_template(const M3UA__Deregistration__Result_template& other_value);

public:
M3UA__Deregistration__Result_template();
M3UA__Deregistration__Result_template(template_sel other_value);
M3UA__Deregistration__Result_template(const M3UA__Deregistration__Result& other_value);
M3UA__Deregistration__Result_template(const OPTIONAL<M3UA__Deregistration__Result>& other_value);
M3UA__Deregistration__Result_template(M3UA__Deregistration__Result_template* p_precondition, M3UA__Deregistration__Result_template* p_implied_template);
M3UA__Deregistration__Result_template(Dynamic_Match_Interface<M3UA__Deregistration__Result>* p_dyn_match);
M3UA__Deregistration__Result_template(const M3UA__Deregistration__Result_template& other_value);
~M3UA__Deregistration__Result_template();
M3UA__Deregistration__Result_template& operator=(template_sel other_value);
M3UA__Deregistration__Result_template& operator=(const M3UA__Deregistration__Result& other_value);
M3UA__Deregistration__Result_template& operator=(const OPTIONAL<M3UA__Deregistration__Result>& other_value);
M3UA__Deregistration__Result_template& operator=(const M3UA__Deregistration__Result_template& other_value);
boolean match(const M3UA__Deregistration__Result& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__Deregistration__Result valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__Deregistration__Result_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& tag();
const OCTETSTRING_template& tag() const;
INTEGER_template& lengthInd();
const INTEGER_template& lengthInd() const;
M3UA__Deregistration__Result__Parameters_template& deregistrationResult();
const M3UA__Deregistration__Result__Parameters_template& deregistrationResult() const;
int size_of() const;
void log() const;
void log_match(const M3UA__Deregistration__Result& 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 M3UA__ERR__MessageParameters : public Base_Type {
  M3UA__Error__Code field_error__Code;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  OPTIONAL< M3UA__Affected__Point__Codes > field_affected__Point__Codes;
  OPTIONAL< M3UA__Network__Appearance > field_network__Appearance;
  OPTIONAL< M3UA__Diagnostic__information > field_diagnostic__information;
public:
  M3UA__ERR__MessageParameters();
  M3UA__ERR__MessageParameters(const M3UA__Error__Code& par_error__Code,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const OPTIONAL< M3UA__Affected__Point__Codes >& par_affected__Point__Codes,
    const OPTIONAL< M3UA__Network__Appearance >& par_network__Appearance,
    const OPTIONAL< M3UA__Diagnostic__information >& par_diagnostic__information);
  M3UA__ERR__MessageParameters(const M3UA__ERR__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ERR__MessageParameters& operator=(const M3UA__ERR__MessageParameters& other_value);
  boolean operator==(const M3UA__ERR__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ERR__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline M3UA__Error__Code& error__Code()
    {return field_error__Code;}
  inline const M3UA__Error__Code& error__Code() const
    {return field_error__Code;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline OPTIONAL< M3UA__Affected__Point__Codes >& affected__Point__Codes()
    {return field_affected__Point__Codes;}
  inline const OPTIONAL< M3UA__Affected__Point__Codes >& affected__Point__Codes() const
    {return field_affected__Point__Codes;}
  inline OPTIONAL< M3UA__Network__Appearance >& network__Appearance()
    {return field_network__Appearance;}
  inline const OPTIONAL< M3UA__Network__Appearance >& network__Appearance() const
    {return field_network__Appearance;}
  inline OPTIONAL< M3UA__Diagnostic__information >& diagnostic__information()
    {return field_diagnostic__information;}
  inline const OPTIONAL< M3UA__Diagnostic__information >& diagnostic__information() const
    {return field_diagnostic__information;}
  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 M3UA__ERR__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ERR__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ERR__MessageParameters_template* precondition;
M3UA__ERR__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ERR__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ERR__MessageParameters& other_value);
void copy_template(const M3UA__ERR__MessageParameters_template& other_value);

public:
M3UA__ERR__MessageParameters_template();
M3UA__ERR__MessageParameters_template(template_sel other_value);
M3UA__ERR__MessageParameters_template(const M3UA__ERR__MessageParameters& other_value);
M3UA__ERR__MessageParameters_template(const OPTIONAL<M3UA__ERR__MessageParameters>& other_value);
M3UA__ERR__MessageParameters_template(M3UA__ERR__MessageParameters_template* p_precondition, M3UA__ERR__MessageParameters_template* p_implied_template);
M3UA__ERR__MessageParameters_template(Dynamic_Match_Interface<M3UA__ERR__MessageParameters>* p_dyn_match);
M3UA__ERR__MessageParameters_template(const M3UA__ERR__MessageParameters_template& other_value);
~M3UA__ERR__MessageParameters_template();
M3UA__ERR__MessageParameters_template& operator=(template_sel other_value);
M3UA__ERR__MessageParameters_template& operator=(const M3UA__ERR__MessageParameters& other_value);
M3UA__ERR__MessageParameters_template& operator=(const OPTIONAL<M3UA__ERR__MessageParameters>& other_value);
M3UA__ERR__MessageParameters_template& operator=(const M3UA__ERR__MessageParameters_template& other_value);
boolean match(const M3UA__ERR__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ERR__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ERR__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Error__Code_template& error__Code();
const M3UA__Error__Code_template& error__Code() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Affected__Point__Codes_template& affected__Point__Codes();
const M3UA__Affected__Point__Codes_template& affected__Point__Codes() const;
M3UA__Network__Appearance_template& network__Appearance();
const M3UA__Network__Appearance_template& network__Appearance() const;
M3UA__Diagnostic__information_template& diagnostic__information();
const M3UA__Diagnostic__information_template& diagnostic__information() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ERR__MessageParameters& 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 M3UA__ERR : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ERR__MessageParameters field_messageParameters;
public:
  M3UA__ERR();
  M3UA__ERR(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ERR__MessageParameters& par_messageParameters);
  M3UA__ERR(const M3UA__ERR& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ERR& operator=(const M3UA__ERR& other_value);
  boolean operator==(const M3UA__ERR& other_value) const;
  inline boolean operator!=(const M3UA__ERR& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ERR__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ERR__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ERR_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ERR_template *list_value;
} value_list;
struct {
M3UA__ERR_template* precondition;
M3UA__ERR_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ERR>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ERR& other_value);
void copy_template(const M3UA__ERR_template& other_value);

public:
M3UA__ERR_template();
M3UA__ERR_template(template_sel other_value);
M3UA__ERR_template(const M3UA__ERR& other_value);
M3UA__ERR_template(const OPTIONAL<M3UA__ERR>& other_value);
M3UA__ERR_template(M3UA__ERR_template* p_precondition, M3UA__ERR_template* p_implied_template);
M3UA__ERR_template(Dynamic_Match_Interface<M3UA__ERR>* p_dyn_match);
M3UA__ERR_template(const M3UA__ERR_template& other_value);
~M3UA__ERR_template();
M3UA__ERR_template& operator=(template_sel other_value);
M3UA__ERR_template& operator=(const M3UA__ERR& other_value);
M3UA__ERR_template& operator=(const OPTIONAL<M3UA__ERR>& other_value);
M3UA__ERR_template& operator=(const M3UA__ERR_template& other_value);
boolean match(const M3UA__ERR& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ERR valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ERR_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ERR__MessageParameters_template& messageParameters();
const M3UA__ERR__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ERR& 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 M3UA__NOTIFY__MessageParameters : public Base_Type {
  M3UA__Status field_status;
  OPTIONAL< M3UA__ASP__Identifier > field_aSP__Identifier;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__NOTIFY__MessageParameters();
  M3UA__NOTIFY__MessageParameters(const M3UA__Status& par_status,
    const OPTIONAL< M3UA__ASP__Identifier >& par_aSP__Identifier,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__NOTIFY__MessageParameters(const M3UA__NOTIFY__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__NOTIFY__MessageParameters& operator=(const M3UA__NOTIFY__MessageParameters& other_value);
  boolean operator==(const M3UA__NOTIFY__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__NOTIFY__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline M3UA__Status& status()
    {return field_status;}
  inline const M3UA__Status& status() const
    {return field_status;}
  inline OPTIONAL< M3UA__ASP__Identifier >& aSP__Identifier()
    {return field_aSP__Identifier;}
  inline const OPTIONAL< M3UA__ASP__Identifier >& aSP__Identifier() const
    {return field_aSP__Identifier;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__NOTIFY__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__NOTIFY__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__NOTIFY__MessageParameters_template* precondition;
M3UA__NOTIFY__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__NOTIFY__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__NOTIFY__MessageParameters& other_value);
void copy_template(const M3UA__NOTIFY__MessageParameters_template& other_value);

public:
M3UA__NOTIFY__MessageParameters_template();
M3UA__NOTIFY__MessageParameters_template(template_sel other_value);
M3UA__NOTIFY__MessageParameters_template(const M3UA__NOTIFY__MessageParameters& other_value);
M3UA__NOTIFY__MessageParameters_template(const OPTIONAL<M3UA__NOTIFY__MessageParameters>& other_value);
M3UA__NOTIFY__MessageParameters_template(M3UA__NOTIFY__MessageParameters_template* p_precondition, M3UA__NOTIFY__MessageParameters_template* p_implied_template);
M3UA__NOTIFY__MessageParameters_template(Dynamic_Match_Interface<M3UA__NOTIFY__MessageParameters>* p_dyn_match);
M3UA__NOTIFY__MessageParameters_template(const M3UA__NOTIFY__MessageParameters_template& other_value);
~M3UA__NOTIFY__MessageParameters_template();
M3UA__NOTIFY__MessageParameters_template& operator=(template_sel other_value);
M3UA__NOTIFY__MessageParameters_template& operator=(const M3UA__NOTIFY__MessageParameters& other_value);
M3UA__NOTIFY__MessageParameters_template& operator=(const OPTIONAL<M3UA__NOTIFY__MessageParameters>& other_value);
M3UA__NOTIFY__MessageParameters_template& operator=(const M3UA__NOTIFY__MessageParameters_template& other_value);
boolean match(const M3UA__NOTIFY__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__NOTIFY__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__NOTIFY__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Status_template& status();
const M3UA__Status_template& status() const;
M3UA__ASP__Identifier_template& aSP__Identifier();
const M3UA__ASP__Identifier_template& aSP__Identifier() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__NOTIFY__MessageParameters& 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 M3UA__NOTIFY : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__NOTIFY__MessageParameters field_messageParameters;
public:
  M3UA__NOTIFY();
  M3UA__NOTIFY(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__NOTIFY__MessageParameters& par_messageParameters);
  M3UA__NOTIFY(const M3UA__NOTIFY& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__NOTIFY& operator=(const M3UA__NOTIFY& other_value);
  boolean operator==(const M3UA__NOTIFY& other_value) const;
  inline boolean operator!=(const M3UA__NOTIFY& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__NOTIFY__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__NOTIFY__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__NOTIFY_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__NOTIFY_template *list_value;
} value_list;
struct {
M3UA__NOTIFY_template* precondition;
M3UA__NOTIFY_template* implied_template;
} implication_;
dynmatch_struct<M3UA__NOTIFY>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__NOTIFY& other_value);
void copy_template(const M3UA__NOTIFY_template& other_value);

public:
M3UA__NOTIFY_template();
M3UA__NOTIFY_template(template_sel other_value);
M3UA__NOTIFY_template(const M3UA__NOTIFY& other_value);
M3UA__NOTIFY_template(const OPTIONAL<M3UA__NOTIFY>& other_value);
M3UA__NOTIFY_template(M3UA__NOTIFY_template* p_precondition, M3UA__NOTIFY_template* p_implied_template);
M3UA__NOTIFY_template(Dynamic_Match_Interface<M3UA__NOTIFY>* p_dyn_match);
M3UA__NOTIFY_template(const M3UA__NOTIFY_template& other_value);
~M3UA__NOTIFY_template();
M3UA__NOTIFY_template& operator=(template_sel other_value);
M3UA__NOTIFY_template& operator=(const M3UA__NOTIFY& other_value);
M3UA__NOTIFY_template& operator=(const OPTIONAL<M3UA__NOTIFY>& other_value);
M3UA__NOTIFY_template& operator=(const M3UA__NOTIFY_template& other_value);
boolean match(const M3UA__NOTIFY& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__NOTIFY valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__NOTIFY_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__NOTIFY__MessageParameters_template& messageParameters();
const M3UA__NOTIFY__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__NOTIFY& 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 M3UA__DATA__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Network__Appearance > field_network__Appearance;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  M3UA__Protocol__Data field_protocol__Data;
  OPTIONAL< M3UA__Correlation__ID > field_correlation__ID;
public:
  M3UA__DATA__MessageParameters();
  M3UA__DATA__MessageParameters(const OPTIONAL< M3UA__Network__Appearance >& par_network__Appearance,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const M3UA__Protocol__Data& par_protocol__Data,
    const OPTIONAL< M3UA__Correlation__ID >& par_correlation__ID);
  M3UA__DATA__MessageParameters(const M3UA__DATA__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DATA__MessageParameters& operator=(const M3UA__DATA__MessageParameters& other_value);
  boolean operator==(const M3UA__DATA__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__DATA__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Network__Appearance >& network__Appearance()
    {return field_network__Appearance;}
  inline const OPTIONAL< M3UA__Network__Appearance >& network__Appearance() const
    {return field_network__Appearance;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline M3UA__Protocol__Data& protocol__Data()
    {return field_protocol__Data;}
  inline const M3UA__Protocol__Data& protocol__Data() const
    {return field_protocol__Data;}
  inline OPTIONAL< M3UA__Correlation__ID >& correlation__ID()
    {return field_correlation__ID;}
  inline const OPTIONAL< M3UA__Correlation__ID >& correlation__ID() const
    {return field_correlation__ID;}
  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 M3UA__DATA__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DATA__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__DATA__MessageParameters_template* precondition;
M3UA__DATA__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DATA__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DATA__MessageParameters& other_value);
void copy_template(const M3UA__DATA__MessageParameters_template& other_value);

public:
M3UA__DATA__MessageParameters_template();
M3UA__DATA__MessageParameters_template(template_sel other_value);
M3UA__DATA__MessageParameters_template(const M3UA__DATA__MessageParameters& other_value);
M3UA__DATA__MessageParameters_template(const OPTIONAL<M3UA__DATA__MessageParameters>& other_value);
M3UA__DATA__MessageParameters_template(M3UA__DATA__MessageParameters_template* p_precondition, M3UA__DATA__MessageParameters_template* p_implied_template);
M3UA__DATA__MessageParameters_template(Dynamic_Match_Interface<M3UA__DATA__MessageParameters>* p_dyn_match);
M3UA__DATA__MessageParameters_template(const M3UA__DATA__MessageParameters_template& other_value);
~M3UA__DATA__MessageParameters_template();
M3UA__DATA__MessageParameters_template& operator=(template_sel other_value);
M3UA__DATA__MessageParameters_template& operator=(const M3UA__DATA__MessageParameters& other_value);
M3UA__DATA__MessageParameters_template& operator=(const OPTIONAL<M3UA__DATA__MessageParameters>& other_value);
M3UA__DATA__MessageParameters_template& operator=(const M3UA__DATA__MessageParameters_template& other_value);
boolean match(const M3UA__DATA__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DATA__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DATA__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Network__Appearance_template& network__Appearance();
const M3UA__Network__Appearance_template& network__Appearance() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Protocol__Data_template& protocol__Data();
const M3UA__Protocol__Data_template& protocol__Data() const;
M3UA__Correlation__ID_template& correlation__ID();
const M3UA__Correlation__ID_template& correlation__ID() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DATA__MessageParameters& 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 M3UA__DATA : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__DATA__MessageParameters field_messageParameters;
public:
  M3UA__DATA();
  M3UA__DATA(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__DATA__MessageParameters& par_messageParameters);
  M3UA__DATA(const M3UA__DATA& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DATA& operator=(const M3UA__DATA& other_value);
  boolean operator==(const M3UA__DATA& other_value) const;
  inline boolean operator!=(const M3UA__DATA& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__DATA__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__DATA__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__DATA_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DATA_template *list_value;
} value_list;
struct {
M3UA__DATA_template* precondition;
M3UA__DATA_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DATA>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DATA& other_value);
void copy_template(const M3UA__DATA_template& other_value);

public:
M3UA__DATA_template();
M3UA__DATA_template(template_sel other_value);
M3UA__DATA_template(const M3UA__DATA& other_value);
M3UA__DATA_template(const OPTIONAL<M3UA__DATA>& other_value);
M3UA__DATA_template(M3UA__DATA_template* p_precondition, M3UA__DATA_template* p_implied_template);
M3UA__DATA_template(Dynamic_Match_Interface<M3UA__DATA>* p_dyn_match);
M3UA__DATA_template(const M3UA__DATA_template& other_value);
~M3UA__DATA_template();
M3UA__DATA_template& operator=(template_sel other_value);
M3UA__DATA_template& operator=(const M3UA__DATA& other_value);
M3UA__DATA_template& operator=(const OPTIONAL<M3UA__DATA>& other_value);
M3UA__DATA_template& operator=(const M3UA__DATA_template& other_value);
boolean match(const M3UA__DATA& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DATA valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DATA_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__DATA__MessageParameters_template& messageParameters();
const M3UA__DATA__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DATA& 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 M3UA__DUNA__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Network__Appearance > field_network__Appearance;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  M3UA__Affected__Point__Codes field_affected__Point__Codes;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__DUNA__MessageParameters();
  M3UA__DUNA__MessageParameters(const OPTIONAL< M3UA__Network__Appearance >& par_network__Appearance,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const M3UA__Affected__Point__Codes& par_affected__Point__Codes,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__DUNA__MessageParameters(const M3UA__DUNA__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DUNA__MessageParameters& operator=(const M3UA__DUNA__MessageParameters& other_value);
  boolean operator==(const M3UA__DUNA__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__DUNA__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Network__Appearance >& network__Appearance()
    {return field_network__Appearance;}
  inline const OPTIONAL< M3UA__Network__Appearance >& network__Appearance() const
    {return field_network__Appearance;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline M3UA__Affected__Point__Codes& affected__Point__Codes()
    {return field_affected__Point__Codes;}
  inline const M3UA__Affected__Point__Codes& affected__Point__Codes() const
    {return field_affected__Point__Codes;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__DUNA__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DUNA__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__DUNA__MessageParameters_template* precondition;
M3UA__DUNA__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DUNA__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DUNA__MessageParameters& other_value);
void copy_template(const M3UA__DUNA__MessageParameters_template& other_value);

public:
M3UA__DUNA__MessageParameters_template();
M3UA__DUNA__MessageParameters_template(template_sel other_value);
M3UA__DUNA__MessageParameters_template(const M3UA__DUNA__MessageParameters& other_value);
M3UA__DUNA__MessageParameters_template(const OPTIONAL<M3UA__DUNA__MessageParameters>& other_value);
M3UA__DUNA__MessageParameters_template(M3UA__DUNA__MessageParameters_template* p_precondition, M3UA__DUNA__MessageParameters_template* p_implied_template);
M3UA__DUNA__MessageParameters_template(Dynamic_Match_Interface<M3UA__DUNA__MessageParameters>* p_dyn_match);
M3UA__DUNA__MessageParameters_template(const M3UA__DUNA__MessageParameters_template& other_value);
~M3UA__DUNA__MessageParameters_template();
M3UA__DUNA__MessageParameters_template& operator=(template_sel other_value);
M3UA__DUNA__MessageParameters_template& operator=(const M3UA__DUNA__MessageParameters& other_value);
M3UA__DUNA__MessageParameters_template& operator=(const OPTIONAL<M3UA__DUNA__MessageParameters>& other_value);
M3UA__DUNA__MessageParameters_template& operator=(const M3UA__DUNA__MessageParameters_template& other_value);
boolean match(const M3UA__DUNA__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DUNA__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DUNA__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Network__Appearance_template& network__Appearance();
const M3UA__Network__Appearance_template& network__Appearance() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Affected__Point__Codes_template& affected__Point__Codes();
const M3UA__Affected__Point__Codes_template& affected__Point__Codes() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DUNA__MessageParameters& 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 M3UA__DUNA : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__DUNA__MessageParameters field_messageParameters;
public:
  M3UA__DUNA();
  M3UA__DUNA(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__DUNA__MessageParameters& par_messageParameters);
  M3UA__DUNA(const M3UA__DUNA& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DUNA& operator=(const M3UA__DUNA& other_value);
  boolean operator==(const M3UA__DUNA& other_value) const;
  inline boolean operator!=(const M3UA__DUNA& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__DUNA__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__DUNA__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__DUNA_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DUNA_template *list_value;
} value_list;
struct {
M3UA__DUNA_template* precondition;
M3UA__DUNA_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DUNA>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DUNA& other_value);
void copy_template(const M3UA__DUNA_template& other_value);

public:
M3UA__DUNA_template();
M3UA__DUNA_template(template_sel other_value);
M3UA__DUNA_template(const M3UA__DUNA& other_value);
M3UA__DUNA_template(const OPTIONAL<M3UA__DUNA>& other_value);
M3UA__DUNA_template(M3UA__DUNA_template* p_precondition, M3UA__DUNA_template* p_implied_template);
M3UA__DUNA_template(Dynamic_Match_Interface<M3UA__DUNA>* p_dyn_match);
M3UA__DUNA_template(const M3UA__DUNA_template& other_value);
~M3UA__DUNA_template();
M3UA__DUNA_template& operator=(template_sel other_value);
M3UA__DUNA_template& operator=(const M3UA__DUNA& other_value);
M3UA__DUNA_template& operator=(const OPTIONAL<M3UA__DUNA>& other_value);
M3UA__DUNA_template& operator=(const M3UA__DUNA_template& other_value);
boolean match(const M3UA__DUNA& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DUNA valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DUNA_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__DUNA__MessageParameters_template& messageParameters();
const M3UA__DUNA__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DUNA& 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 M3UA__DAVA__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Network__Appearance > field_network__Appearance;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  M3UA__Affected__Point__Codes field_affected__Point__Codes;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__DAVA__MessageParameters();
  M3UA__DAVA__MessageParameters(const OPTIONAL< M3UA__Network__Appearance >& par_network__Appearance,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const M3UA__Affected__Point__Codes& par_affected__Point__Codes,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__DAVA__MessageParameters(const M3UA__DAVA__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DAVA__MessageParameters& operator=(const M3UA__DAVA__MessageParameters& other_value);
  boolean operator==(const M3UA__DAVA__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__DAVA__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Network__Appearance >& network__Appearance()
    {return field_network__Appearance;}
  inline const OPTIONAL< M3UA__Network__Appearance >& network__Appearance() const
    {return field_network__Appearance;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline M3UA__Affected__Point__Codes& affected__Point__Codes()
    {return field_affected__Point__Codes;}
  inline const M3UA__Affected__Point__Codes& affected__Point__Codes() const
    {return field_affected__Point__Codes;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__DAVA__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DAVA__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__DAVA__MessageParameters_template* precondition;
M3UA__DAVA__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DAVA__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DAVA__MessageParameters& other_value);
void copy_template(const M3UA__DAVA__MessageParameters_template& other_value);

public:
M3UA__DAVA__MessageParameters_template();
M3UA__DAVA__MessageParameters_template(template_sel other_value);
M3UA__DAVA__MessageParameters_template(const M3UA__DAVA__MessageParameters& other_value);
M3UA__DAVA__MessageParameters_template(const OPTIONAL<M3UA__DAVA__MessageParameters>& other_value);
M3UA__DAVA__MessageParameters_template(M3UA__DAVA__MessageParameters_template* p_precondition, M3UA__DAVA__MessageParameters_template* p_implied_template);
M3UA__DAVA__MessageParameters_template(Dynamic_Match_Interface<M3UA__DAVA__MessageParameters>* p_dyn_match);
M3UA__DAVA__MessageParameters_template(const M3UA__DAVA__MessageParameters_template& other_value);
~M3UA__DAVA__MessageParameters_template();
M3UA__DAVA__MessageParameters_template& operator=(template_sel other_value);
M3UA__DAVA__MessageParameters_template& operator=(const M3UA__DAVA__MessageParameters& other_value);
M3UA__DAVA__MessageParameters_template& operator=(const OPTIONAL<M3UA__DAVA__MessageParameters>& other_value);
M3UA__DAVA__MessageParameters_template& operator=(const M3UA__DAVA__MessageParameters_template& other_value);
boolean match(const M3UA__DAVA__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DAVA__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DAVA__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Network__Appearance_template& network__Appearance();
const M3UA__Network__Appearance_template& network__Appearance() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Affected__Point__Codes_template& affected__Point__Codes();
const M3UA__Affected__Point__Codes_template& affected__Point__Codes() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DAVA__MessageParameters& 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 M3UA__DAVA : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__DAVA__MessageParameters field_messageParameters;
public:
  M3UA__DAVA();
  M3UA__DAVA(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__DAVA__MessageParameters& par_messageParameters);
  M3UA__DAVA(const M3UA__DAVA& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DAVA& operator=(const M3UA__DAVA& other_value);
  boolean operator==(const M3UA__DAVA& other_value) const;
  inline boolean operator!=(const M3UA__DAVA& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__DAVA__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__DAVA__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__DAVA_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DAVA_template *list_value;
} value_list;
struct {
M3UA__DAVA_template* precondition;
M3UA__DAVA_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DAVA>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DAVA& other_value);
void copy_template(const M3UA__DAVA_template& other_value);

public:
M3UA__DAVA_template();
M3UA__DAVA_template(template_sel other_value);
M3UA__DAVA_template(const M3UA__DAVA& other_value);
M3UA__DAVA_template(const OPTIONAL<M3UA__DAVA>& other_value);
M3UA__DAVA_template(M3UA__DAVA_template* p_precondition, M3UA__DAVA_template* p_implied_template);
M3UA__DAVA_template(Dynamic_Match_Interface<M3UA__DAVA>* p_dyn_match);
M3UA__DAVA_template(const M3UA__DAVA_template& other_value);
~M3UA__DAVA_template();
M3UA__DAVA_template& operator=(template_sel other_value);
M3UA__DAVA_template& operator=(const M3UA__DAVA& other_value);
M3UA__DAVA_template& operator=(const OPTIONAL<M3UA__DAVA>& other_value);
M3UA__DAVA_template& operator=(const M3UA__DAVA_template& other_value);
boolean match(const M3UA__DAVA& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DAVA valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DAVA_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__DAVA__MessageParameters_template& messageParameters();
const M3UA__DAVA__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DAVA& 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 M3UA__DAUD__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Network__Appearance > field_network__Appearance;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  M3UA__Affected__Point__Codes field_affected__Point__Codes;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__DAUD__MessageParameters();
  M3UA__DAUD__MessageParameters(const OPTIONAL< M3UA__Network__Appearance >& par_network__Appearance,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const M3UA__Affected__Point__Codes& par_affected__Point__Codes,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__DAUD__MessageParameters(const M3UA__DAUD__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DAUD__MessageParameters& operator=(const M3UA__DAUD__MessageParameters& other_value);
  boolean operator==(const M3UA__DAUD__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__DAUD__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Network__Appearance >& network__Appearance()
    {return field_network__Appearance;}
  inline const OPTIONAL< M3UA__Network__Appearance >& network__Appearance() const
    {return field_network__Appearance;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline M3UA__Affected__Point__Codes& affected__Point__Codes()
    {return field_affected__Point__Codes;}
  inline const M3UA__Affected__Point__Codes& affected__Point__Codes() const
    {return field_affected__Point__Codes;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__DAUD__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DAUD__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__DAUD__MessageParameters_template* precondition;
M3UA__DAUD__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DAUD__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DAUD__MessageParameters& other_value);
void copy_template(const M3UA__DAUD__MessageParameters_template& other_value);

public:
M3UA__DAUD__MessageParameters_template();
M3UA__DAUD__MessageParameters_template(template_sel other_value);
M3UA__DAUD__MessageParameters_template(const M3UA__DAUD__MessageParameters& other_value);
M3UA__DAUD__MessageParameters_template(const OPTIONAL<M3UA__DAUD__MessageParameters>& other_value);
M3UA__DAUD__MessageParameters_template(M3UA__DAUD__MessageParameters_template* p_precondition, M3UA__DAUD__MessageParameters_template* p_implied_template);
M3UA__DAUD__MessageParameters_template(Dynamic_Match_Interface<M3UA__DAUD__MessageParameters>* p_dyn_match);
M3UA__DAUD__MessageParameters_template(const M3UA__DAUD__MessageParameters_template& other_value);
~M3UA__DAUD__MessageParameters_template();
M3UA__DAUD__MessageParameters_template& operator=(template_sel other_value);
M3UA__DAUD__MessageParameters_template& operator=(const M3UA__DAUD__MessageParameters& other_value);
M3UA__DAUD__MessageParameters_template& operator=(const OPTIONAL<M3UA__DAUD__MessageParameters>& other_value);
M3UA__DAUD__MessageParameters_template& operator=(const M3UA__DAUD__MessageParameters_template& other_value);
boolean match(const M3UA__DAUD__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DAUD__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DAUD__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Network__Appearance_template& network__Appearance();
const M3UA__Network__Appearance_template& network__Appearance() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Affected__Point__Codes_template& affected__Point__Codes();
const M3UA__Affected__Point__Codes_template& affected__Point__Codes() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DAUD__MessageParameters& 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 M3UA__DAUD : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__DAUD__MessageParameters field_messageParameters;
public:
  M3UA__DAUD();
  M3UA__DAUD(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__DAUD__MessageParameters& par_messageParameters);
  M3UA__DAUD(const M3UA__DAUD& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DAUD& operator=(const M3UA__DAUD& other_value);
  boolean operator==(const M3UA__DAUD& other_value) const;
  inline boolean operator!=(const M3UA__DAUD& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__DAUD__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__DAUD__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__DAUD_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DAUD_template *list_value;
} value_list;
struct {
M3UA__DAUD_template* precondition;
M3UA__DAUD_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DAUD>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DAUD& other_value);
void copy_template(const M3UA__DAUD_template& other_value);

public:
M3UA__DAUD_template();
M3UA__DAUD_template(template_sel other_value);
M3UA__DAUD_template(const M3UA__DAUD& other_value);
M3UA__DAUD_template(const OPTIONAL<M3UA__DAUD>& other_value);
M3UA__DAUD_template(M3UA__DAUD_template* p_precondition, M3UA__DAUD_template* p_implied_template);
M3UA__DAUD_template(Dynamic_Match_Interface<M3UA__DAUD>* p_dyn_match);
M3UA__DAUD_template(const M3UA__DAUD_template& other_value);
~M3UA__DAUD_template();
M3UA__DAUD_template& operator=(template_sel other_value);
M3UA__DAUD_template& operator=(const M3UA__DAUD& other_value);
M3UA__DAUD_template& operator=(const OPTIONAL<M3UA__DAUD>& other_value);
M3UA__DAUD_template& operator=(const M3UA__DAUD_template& other_value);
boolean match(const M3UA__DAUD& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DAUD valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DAUD_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__DAUD__MessageParameters_template& messageParameters();
const M3UA__DAUD__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DAUD& 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 M3UA__SCON__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Network__Appearance > field_network__Appearance;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  M3UA__Affected__Point__Codes field_affected__Point__Codes;
  OPTIONAL< M3UA__Concerned__Destination > field_concerned__Destination;
  OPTIONAL< M3UA__Congestion__Indicators > field_congestion__Indicators;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__SCON__MessageParameters();
  M3UA__SCON__MessageParameters(const OPTIONAL< M3UA__Network__Appearance >& par_network__Appearance,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const M3UA__Affected__Point__Codes& par_affected__Point__Codes,
    const OPTIONAL< M3UA__Concerned__Destination >& par_concerned__Destination,
    const OPTIONAL< M3UA__Congestion__Indicators >& par_congestion__Indicators,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__SCON__MessageParameters(const M3UA__SCON__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__SCON__MessageParameters& operator=(const M3UA__SCON__MessageParameters& other_value);
  boolean operator==(const M3UA__SCON__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__SCON__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Network__Appearance >& network__Appearance()
    {return field_network__Appearance;}
  inline const OPTIONAL< M3UA__Network__Appearance >& network__Appearance() const
    {return field_network__Appearance;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline M3UA__Affected__Point__Codes& affected__Point__Codes()
    {return field_affected__Point__Codes;}
  inline const M3UA__Affected__Point__Codes& affected__Point__Codes() const
    {return field_affected__Point__Codes;}
  inline OPTIONAL< M3UA__Concerned__Destination >& concerned__Destination()
    {return field_concerned__Destination;}
  inline const OPTIONAL< M3UA__Concerned__Destination >& concerned__Destination() const
    {return field_concerned__Destination;}
  inline OPTIONAL< M3UA__Congestion__Indicators >& congestion__Indicators()
    {return field_congestion__Indicators;}
  inline const OPTIONAL< M3UA__Congestion__Indicators >& congestion__Indicators() const
    {return field_congestion__Indicators;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__SCON__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__SCON__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__SCON__MessageParameters_template* precondition;
M3UA__SCON__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__SCON__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__SCON__MessageParameters& other_value);
void copy_template(const M3UA__SCON__MessageParameters_template& other_value);

public:
M3UA__SCON__MessageParameters_template();
M3UA__SCON__MessageParameters_template(template_sel other_value);
M3UA__SCON__MessageParameters_template(const M3UA__SCON__MessageParameters& other_value);
M3UA__SCON__MessageParameters_template(const OPTIONAL<M3UA__SCON__MessageParameters>& other_value);
M3UA__SCON__MessageParameters_template(M3UA__SCON__MessageParameters_template* p_precondition, M3UA__SCON__MessageParameters_template* p_implied_template);
M3UA__SCON__MessageParameters_template(Dynamic_Match_Interface<M3UA__SCON__MessageParameters>* p_dyn_match);
M3UA__SCON__MessageParameters_template(const M3UA__SCON__MessageParameters_template& other_value);
~M3UA__SCON__MessageParameters_template();
M3UA__SCON__MessageParameters_template& operator=(template_sel other_value);
M3UA__SCON__MessageParameters_template& operator=(const M3UA__SCON__MessageParameters& other_value);
M3UA__SCON__MessageParameters_template& operator=(const OPTIONAL<M3UA__SCON__MessageParameters>& other_value);
M3UA__SCON__MessageParameters_template& operator=(const M3UA__SCON__MessageParameters_template& other_value);
boolean match(const M3UA__SCON__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__SCON__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__SCON__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Network__Appearance_template& network__Appearance();
const M3UA__Network__Appearance_template& network__Appearance() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Affected__Point__Codes_template& affected__Point__Codes();
const M3UA__Affected__Point__Codes_template& affected__Point__Codes() const;
M3UA__Concerned__Destination_template& concerned__Destination();
const M3UA__Concerned__Destination_template& concerned__Destination() const;
M3UA__Congestion__Indicators_template& congestion__Indicators();
const M3UA__Congestion__Indicators_template& congestion__Indicators() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__SCON__MessageParameters& 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 M3UA__SCON : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__SCON__MessageParameters field_messageParameters;
public:
  M3UA__SCON();
  M3UA__SCON(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__SCON__MessageParameters& par_messageParameters);
  M3UA__SCON(const M3UA__SCON& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__SCON& operator=(const M3UA__SCON& other_value);
  boolean operator==(const M3UA__SCON& other_value) const;
  inline boolean operator!=(const M3UA__SCON& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__SCON__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__SCON__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__SCON_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__SCON_template *list_value;
} value_list;
struct {
M3UA__SCON_template* precondition;
M3UA__SCON_template* implied_template;
} implication_;
dynmatch_struct<M3UA__SCON>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__SCON& other_value);
void copy_template(const M3UA__SCON_template& other_value);

public:
M3UA__SCON_template();
M3UA__SCON_template(template_sel other_value);
M3UA__SCON_template(const M3UA__SCON& other_value);
M3UA__SCON_template(const OPTIONAL<M3UA__SCON>& other_value);
M3UA__SCON_template(M3UA__SCON_template* p_precondition, M3UA__SCON_template* p_implied_template);
M3UA__SCON_template(Dynamic_Match_Interface<M3UA__SCON>* p_dyn_match);
M3UA__SCON_template(const M3UA__SCON_template& other_value);
~M3UA__SCON_template();
M3UA__SCON_template& operator=(template_sel other_value);
M3UA__SCON_template& operator=(const M3UA__SCON& other_value);
M3UA__SCON_template& operator=(const OPTIONAL<M3UA__SCON>& other_value);
M3UA__SCON_template& operator=(const M3UA__SCON_template& other_value);
boolean match(const M3UA__SCON& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__SCON valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__SCON_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__SCON__MessageParameters_template& messageParameters();
const M3UA__SCON__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__SCON& 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 M3UA__DUPU__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Network__Appearance > field_network__Appearance;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  M3UA__Affected__Point__Codes field_affected__Point__Codes;
  M3UA__User__Cause field_user__Cause;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__DUPU__MessageParameters();
  M3UA__DUPU__MessageParameters(const OPTIONAL< M3UA__Network__Appearance >& par_network__Appearance,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const M3UA__Affected__Point__Codes& par_affected__Point__Codes,
    const M3UA__User__Cause& par_user__Cause,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__DUPU__MessageParameters(const M3UA__DUPU__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DUPU__MessageParameters& operator=(const M3UA__DUPU__MessageParameters& other_value);
  boolean operator==(const M3UA__DUPU__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__DUPU__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Network__Appearance >& network__Appearance()
    {return field_network__Appearance;}
  inline const OPTIONAL< M3UA__Network__Appearance >& network__Appearance() const
    {return field_network__Appearance;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline M3UA__Affected__Point__Codes& affected__Point__Codes()
    {return field_affected__Point__Codes;}
  inline const M3UA__Affected__Point__Codes& affected__Point__Codes() const
    {return field_affected__Point__Codes;}
  inline M3UA__User__Cause& user__Cause()
    {return field_user__Cause;}
  inline const M3UA__User__Cause& user__Cause() const
    {return field_user__Cause;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__DUPU__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DUPU__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__DUPU__MessageParameters_template* precondition;
M3UA__DUPU__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DUPU__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DUPU__MessageParameters& other_value);
void copy_template(const M3UA__DUPU__MessageParameters_template& other_value);

public:
M3UA__DUPU__MessageParameters_template();
M3UA__DUPU__MessageParameters_template(template_sel other_value);
M3UA__DUPU__MessageParameters_template(const M3UA__DUPU__MessageParameters& other_value);
M3UA__DUPU__MessageParameters_template(const OPTIONAL<M3UA__DUPU__MessageParameters>& other_value);
M3UA__DUPU__MessageParameters_template(M3UA__DUPU__MessageParameters_template* p_precondition, M3UA__DUPU__MessageParameters_template* p_implied_template);
M3UA__DUPU__MessageParameters_template(Dynamic_Match_Interface<M3UA__DUPU__MessageParameters>* p_dyn_match);
M3UA__DUPU__MessageParameters_template(const M3UA__DUPU__MessageParameters_template& other_value);
~M3UA__DUPU__MessageParameters_template();
M3UA__DUPU__MessageParameters_template& operator=(template_sel other_value);
M3UA__DUPU__MessageParameters_template& operator=(const M3UA__DUPU__MessageParameters& other_value);
M3UA__DUPU__MessageParameters_template& operator=(const OPTIONAL<M3UA__DUPU__MessageParameters>& other_value);
M3UA__DUPU__MessageParameters_template& operator=(const M3UA__DUPU__MessageParameters_template& other_value);
boolean match(const M3UA__DUPU__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DUPU__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DUPU__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Network__Appearance_template& network__Appearance();
const M3UA__Network__Appearance_template& network__Appearance() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Affected__Point__Codes_template& affected__Point__Codes();
const M3UA__Affected__Point__Codes_template& affected__Point__Codes() const;
M3UA__User__Cause_template& user__Cause();
const M3UA__User__Cause_template& user__Cause() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DUPU__MessageParameters& 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 M3UA__DUPU : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__DUPU__MessageParameters field_messageParameters;
public:
  M3UA__DUPU();
  M3UA__DUPU(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__DUPU__MessageParameters& par_messageParameters);
  M3UA__DUPU(const M3UA__DUPU& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DUPU& operator=(const M3UA__DUPU& other_value);
  boolean operator==(const M3UA__DUPU& other_value) const;
  inline boolean operator!=(const M3UA__DUPU& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__DUPU__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__DUPU__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__DUPU_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DUPU_template *list_value;
} value_list;
struct {
M3UA__DUPU_template* precondition;
M3UA__DUPU_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DUPU>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DUPU& other_value);
void copy_template(const M3UA__DUPU_template& other_value);

public:
M3UA__DUPU_template();
M3UA__DUPU_template(template_sel other_value);
M3UA__DUPU_template(const M3UA__DUPU& other_value);
M3UA__DUPU_template(const OPTIONAL<M3UA__DUPU>& other_value);
M3UA__DUPU_template(M3UA__DUPU_template* p_precondition, M3UA__DUPU_template* p_implied_template);
M3UA__DUPU_template(Dynamic_Match_Interface<M3UA__DUPU>* p_dyn_match);
M3UA__DUPU_template(const M3UA__DUPU_template& other_value);
~M3UA__DUPU_template();
M3UA__DUPU_template& operator=(template_sel other_value);
M3UA__DUPU_template& operator=(const M3UA__DUPU& other_value);
M3UA__DUPU_template& operator=(const OPTIONAL<M3UA__DUPU>& other_value);
M3UA__DUPU_template& operator=(const M3UA__DUPU_template& other_value);
boolean match(const M3UA__DUPU& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DUPU valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DUPU_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__DUPU__MessageParameters_template& messageParameters();
const M3UA__DUPU__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DUPU& 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 M3UA__DRST : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  OCTETSTRING field_messageParameters;
public:
  M3UA__DRST();
  M3UA__DRST(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const OCTETSTRING& par_messageParameters);
  M3UA__DRST(const M3UA__DRST& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DRST& operator=(const M3UA__DRST& other_value);
  boolean operator==(const M3UA__DRST& other_value) const;
  inline boolean operator!=(const M3UA__DRST& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline OCTETSTRING& messageParameters()
    {return field_messageParameters;}
  inline const OCTETSTRING& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__DRST_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DRST_template *list_value;
} value_list;
struct {
M3UA__DRST_template* precondition;
M3UA__DRST_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DRST>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DRST& other_value);
void copy_template(const M3UA__DRST_template& other_value);

public:
M3UA__DRST_template();
M3UA__DRST_template(template_sel other_value);
M3UA__DRST_template(const M3UA__DRST& other_value);
M3UA__DRST_template(const OPTIONAL<M3UA__DRST>& other_value);
M3UA__DRST_template(M3UA__DRST_template* p_precondition, M3UA__DRST_template* p_implied_template);
M3UA__DRST_template(Dynamic_Match_Interface<M3UA__DRST>* p_dyn_match);
M3UA__DRST_template(const M3UA__DRST_template& other_value);
~M3UA__DRST_template();
M3UA__DRST_template& operator=(template_sel other_value);
M3UA__DRST_template& operator=(const M3UA__DRST& other_value);
M3UA__DRST_template& operator=(const OPTIONAL<M3UA__DRST>& other_value);
M3UA__DRST_template& operator=(const M3UA__DRST_template& other_value);
boolean match(const M3UA__DRST& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DRST valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DRST_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
OCTETSTRING_template& messageParameters();
const OCTETSTRING_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DRST& 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 M3UA__ASPUP__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__ASP__Identifier > field_aSP__Identifier;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__ASPUP__MessageParameters();
  M3UA__ASPUP__MessageParameters(const OPTIONAL< M3UA__ASP__Identifier >& par_aSP__Identifier,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__ASPUP__MessageParameters(const M3UA__ASPUP__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPUP__MessageParameters& operator=(const M3UA__ASPUP__MessageParameters& other_value);
  boolean operator==(const M3UA__ASPUP__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ASPUP__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__ASP__Identifier >& aSP__Identifier()
    {return field_aSP__Identifier;}
  inline const OPTIONAL< M3UA__ASP__Identifier >& aSP__Identifier() const
    {return field_aSP__Identifier;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__ASPUP__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPUP__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ASPUP__MessageParameters_template* precondition;
M3UA__ASPUP__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPUP__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPUP__MessageParameters& other_value);
void copy_template(const M3UA__ASPUP__MessageParameters_template& other_value);

public:
M3UA__ASPUP__MessageParameters_template();
M3UA__ASPUP__MessageParameters_template(template_sel other_value);
M3UA__ASPUP__MessageParameters_template(const M3UA__ASPUP__MessageParameters& other_value);
M3UA__ASPUP__MessageParameters_template(const OPTIONAL<M3UA__ASPUP__MessageParameters>& other_value);
M3UA__ASPUP__MessageParameters_template(M3UA__ASPUP__MessageParameters_template* p_precondition, M3UA__ASPUP__MessageParameters_template* p_implied_template);
M3UA__ASPUP__MessageParameters_template(Dynamic_Match_Interface<M3UA__ASPUP__MessageParameters>* p_dyn_match);
M3UA__ASPUP__MessageParameters_template(const M3UA__ASPUP__MessageParameters_template& other_value);
~M3UA__ASPUP__MessageParameters_template();
M3UA__ASPUP__MessageParameters_template& operator=(template_sel other_value);
M3UA__ASPUP__MessageParameters_template& operator=(const M3UA__ASPUP__MessageParameters& other_value);
M3UA__ASPUP__MessageParameters_template& operator=(const OPTIONAL<M3UA__ASPUP__MessageParameters>& other_value);
M3UA__ASPUP__MessageParameters_template& operator=(const M3UA__ASPUP__MessageParameters_template& other_value);
boolean match(const M3UA__ASPUP__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPUP__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPUP__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__ASP__Identifier_template& aSP__Identifier();
const M3UA__ASP__Identifier_template& aSP__Identifier() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPUP__MessageParameters& 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 M3UA__ASPUP : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ASPUP__MessageParameters field_messageParameters;
public:
  M3UA__ASPUP();
  M3UA__ASPUP(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ASPUP__MessageParameters& par_messageParameters);
  M3UA__ASPUP(const M3UA__ASPUP& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPUP& operator=(const M3UA__ASPUP& other_value);
  boolean operator==(const M3UA__ASPUP& other_value) const;
  inline boolean operator!=(const M3UA__ASPUP& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ASPUP__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ASPUP__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ASPUP_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPUP_template *list_value;
} value_list;
struct {
M3UA__ASPUP_template* precondition;
M3UA__ASPUP_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPUP>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPUP& other_value);
void copy_template(const M3UA__ASPUP_template& other_value);

public:
M3UA__ASPUP_template();
M3UA__ASPUP_template(template_sel other_value);
M3UA__ASPUP_template(const M3UA__ASPUP& other_value);
M3UA__ASPUP_template(const OPTIONAL<M3UA__ASPUP>& other_value);
M3UA__ASPUP_template(M3UA__ASPUP_template* p_precondition, M3UA__ASPUP_template* p_implied_template);
M3UA__ASPUP_template(Dynamic_Match_Interface<M3UA__ASPUP>* p_dyn_match);
M3UA__ASPUP_template(const M3UA__ASPUP_template& other_value);
~M3UA__ASPUP_template();
M3UA__ASPUP_template& operator=(template_sel other_value);
M3UA__ASPUP_template& operator=(const M3UA__ASPUP& other_value);
M3UA__ASPUP_template& operator=(const OPTIONAL<M3UA__ASPUP>& other_value);
M3UA__ASPUP_template& operator=(const M3UA__ASPUP_template& other_value);
boolean match(const M3UA__ASPUP& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPUP valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPUP_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ASPUP__MessageParameters_template& messageParameters();
const M3UA__ASPUP__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPUP& 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 M3UA__ASPUP__Ack__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__ASPUP__Ack__MessageParameters();
  M3UA__ASPUP__Ack__MessageParameters(const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__ASPUP__Ack__MessageParameters(const M3UA__ASPUP__Ack__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPUP__Ack__MessageParameters& operator=(const M3UA__ASPUP__Ack__MessageParameters& other_value);
  boolean operator==(const M3UA__ASPUP__Ack__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ASPUP__Ack__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__ASPUP__Ack__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPUP__Ack__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ASPUP__Ack__MessageParameters_template* precondition;
M3UA__ASPUP__Ack__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPUP__Ack__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPUP__Ack__MessageParameters& other_value);
void copy_template(const M3UA__ASPUP__Ack__MessageParameters_template& other_value);

public:
M3UA__ASPUP__Ack__MessageParameters_template();
M3UA__ASPUP__Ack__MessageParameters_template(template_sel other_value);
M3UA__ASPUP__Ack__MessageParameters_template(const M3UA__ASPUP__Ack__MessageParameters& other_value);
M3UA__ASPUP__Ack__MessageParameters_template(const OPTIONAL<M3UA__ASPUP__Ack__MessageParameters>& other_value);
M3UA__ASPUP__Ack__MessageParameters_template(M3UA__ASPUP__Ack__MessageParameters_template* p_precondition, M3UA__ASPUP__Ack__MessageParameters_template* p_implied_template);
M3UA__ASPUP__Ack__MessageParameters_template(Dynamic_Match_Interface<M3UA__ASPUP__Ack__MessageParameters>* p_dyn_match);
M3UA__ASPUP__Ack__MessageParameters_template(const M3UA__ASPUP__Ack__MessageParameters_template& other_value);
~M3UA__ASPUP__Ack__MessageParameters_template();
M3UA__ASPUP__Ack__MessageParameters_template& operator=(template_sel other_value);
M3UA__ASPUP__Ack__MessageParameters_template& operator=(const M3UA__ASPUP__Ack__MessageParameters& other_value);
M3UA__ASPUP__Ack__MessageParameters_template& operator=(const OPTIONAL<M3UA__ASPUP__Ack__MessageParameters>& other_value);
M3UA__ASPUP__Ack__MessageParameters_template& operator=(const M3UA__ASPUP__Ack__MessageParameters_template& other_value);
boolean match(const M3UA__ASPUP__Ack__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPUP__Ack__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPUP__Ack__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPUP__Ack__MessageParameters& 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 M3UA__ASPUP__Ack : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ASPUP__Ack__MessageParameters field_messageParameters;
public:
  M3UA__ASPUP__Ack();
  M3UA__ASPUP__Ack(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ASPUP__Ack__MessageParameters& par_messageParameters);
  M3UA__ASPUP__Ack(const M3UA__ASPUP__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPUP__Ack& operator=(const M3UA__ASPUP__Ack& other_value);
  boolean operator==(const M3UA__ASPUP__Ack& other_value) const;
  inline boolean operator!=(const M3UA__ASPUP__Ack& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ASPUP__Ack__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ASPUP__Ack__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ASPUP__Ack_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPUP__Ack_template *list_value;
} value_list;
struct {
M3UA__ASPUP__Ack_template* precondition;
M3UA__ASPUP__Ack_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPUP__Ack>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPUP__Ack& other_value);
void copy_template(const M3UA__ASPUP__Ack_template& other_value);

public:
M3UA__ASPUP__Ack_template();
M3UA__ASPUP__Ack_template(template_sel other_value);
M3UA__ASPUP__Ack_template(const M3UA__ASPUP__Ack& other_value);
M3UA__ASPUP__Ack_template(const OPTIONAL<M3UA__ASPUP__Ack>& other_value);
M3UA__ASPUP__Ack_template(M3UA__ASPUP__Ack_template* p_precondition, M3UA__ASPUP__Ack_template* p_implied_template);
M3UA__ASPUP__Ack_template(Dynamic_Match_Interface<M3UA__ASPUP__Ack>* p_dyn_match);
M3UA__ASPUP__Ack_template(const M3UA__ASPUP__Ack_template& other_value);
~M3UA__ASPUP__Ack_template();
M3UA__ASPUP__Ack_template& operator=(template_sel other_value);
M3UA__ASPUP__Ack_template& operator=(const M3UA__ASPUP__Ack& other_value);
M3UA__ASPUP__Ack_template& operator=(const OPTIONAL<M3UA__ASPUP__Ack>& other_value);
M3UA__ASPUP__Ack_template& operator=(const M3UA__ASPUP__Ack_template& other_value);
boolean match(const M3UA__ASPUP__Ack& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPUP__Ack valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPUP__Ack_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ASPUP__Ack__MessageParameters_template& messageParameters();
const M3UA__ASPUP__Ack__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPUP__Ack& 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 M3UA__ASPDN__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__ASPDN__MessageParameters();
  M3UA__ASPDN__MessageParameters(const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__ASPDN__MessageParameters(const M3UA__ASPDN__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPDN__MessageParameters& operator=(const M3UA__ASPDN__MessageParameters& other_value);
  boolean operator==(const M3UA__ASPDN__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ASPDN__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__ASPDN__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPDN__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ASPDN__MessageParameters_template* precondition;
M3UA__ASPDN__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPDN__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPDN__MessageParameters& other_value);
void copy_template(const M3UA__ASPDN__MessageParameters_template& other_value);

public:
M3UA__ASPDN__MessageParameters_template();
M3UA__ASPDN__MessageParameters_template(template_sel other_value);
M3UA__ASPDN__MessageParameters_template(const M3UA__ASPDN__MessageParameters& other_value);
M3UA__ASPDN__MessageParameters_template(const OPTIONAL<M3UA__ASPDN__MessageParameters>& other_value);
M3UA__ASPDN__MessageParameters_template(M3UA__ASPDN__MessageParameters_template* p_precondition, M3UA__ASPDN__MessageParameters_template* p_implied_template);
M3UA__ASPDN__MessageParameters_template(Dynamic_Match_Interface<M3UA__ASPDN__MessageParameters>* p_dyn_match);
M3UA__ASPDN__MessageParameters_template(const M3UA__ASPDN__MessageParameters_template& other_value);
~M3UA__ASPDN__MessageParameters_template();
M3UA__ASPDN__MessageParameters_template& operator=(template_sel other_value);
M3UA__ASPDN__MessageParameters_template& operator=(const M3UA__ASPDN__MessageParameters& other_value);
M3UA__ASPDN__MessageParameters_template& operator=(const OPTIONAL<M3UA__ASPDN__MessageParameters>& other_value);
M3UA__ASPDN__MessageParameters_template& operator=(const M3UA__ASPDN__MessageParameters_template& other_value);
boolean match(const M3UA__ASPDN__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPDN__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPDN__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPDN__MessageParameters& 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 M3UA__ASPDN : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ASPDN__MessageParameters field_messageParameters;
public:
  M3UA__ASPDN();
  M3UA__ASPDN(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ASPDN__MessageParameters& par_messageParameters);
  M3UA__ASPDN(const M3UA__ASPDN& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPDN& operator=(const M3UA__ASPDN& other_value);
  boolean operator==(const M3UA__ASPDN& other_value) const;
  inline boolean operator!=(const M3UA__ASPDN& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ASPDN__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ASPDN__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ASPDN_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPDN_template *list_value;
} value_list;
struct {
M3UA__ASPDN_template* precondition;
M3UA__ASPDN_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPDN>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPDN& other_value);
void copy_template(const M3UA__ASPDN_template& other_value);

public:
M3UA__ASPDN_template();
M3UA__ASPDN_template(template_sel other_value);
M3UA__ASPDN_template(const M3UA__ASPDN& other_value);
M3UA__ASPDN_template(const OPTIONAL<M3UA__ASPDN>& other_value);
M3UA__ASPDN_template(M3UA__ASPDN_template* p_precondition, M3UA__ASPDN_template* p_implied_template);
M3UA__ASPDN_template(Dynamic_Match_Interface<M3UA__ASPDN>* p_dyn_match);
M3UA__ASPDN_template(const M3UA__ASPDN_template& other_value);
~M3UA__ASPDN_template();
M3UA__ASPDN_template& operator=(template_sel other_value);
M3UA__ASPDN_template& operator=(const M3UA__ASPDN& other_value);
M3UA__ASPDN_template& operator=(const OPTIONAL<M3UA__ASPDN>& other_value);
M3UA__ASPDN_template& operator=(const M3UA__ASPDN_template& other_value);
boolean match(const M3UA__ASPDN& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPDN valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPDN_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ASPDN__MessageParameters_template& messageParameters();
const M3UA__ASPDN__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPDN& 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 M3UA__ASPDN__Ack__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__ASPDN__Ack__MessageParameters();
  M3UA__ASPDN__Ack__MessageParameters(const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__ASPDN__Ack__MessageParameters(const M3UA__ASPDN__Ack__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPDN__Ack__MessageParameters& operator=(const M3UA__ASPDN__Ack__MessageParameters& other_value);
  boolean operator==(const M3UA__ASPDN__Ack__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ASPDN__Ack__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__ASPDN__Ack__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPDN__Ack__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ASPDN__Ack__MessageParameters_template* precondition;
M3UA__ASPDN__Ack__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPDN__Ack__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPDN__Ack__MessageParameters& other_value);
void copy_template(const M3UA__ASPDN__Ack__MessageParameters_template& other_value);

public:
M3UA__ASPDN__Ack__MessageParameters_template();
M3UA__ASPDN__Ack__MessageParameters_template(template_sel other_value);
M3UA__ASPDN__Ack__MessageParameters_template(const M3UA__ASPDN__Ack__MessageParameters& other_value);
M3UA__ASPDN__Ack__MessageParameters_template(const OPTIONAL<M3UA__ASPDN__Ack__MessageParameters>& other_value);
M3UA__ASPDN__Ack__MessageParameters_template(M3UA__ASPDN__Ack__MessageParameters_template* p_precondition, M3UA__ASPDN__Ack__MessageParameters_template* p_implied_template);
M3UA__ASPDN__Ack__MessageParameters_template(Dynamic_Match_Interface<M3UA__ASPDN__Ack__MessageParameters>* p_dyn_match);
M3UA__ASPDN__Ack__MessageParameters_template(const M3UA__ASPDN__Ack__MessageParameters_template& other_value);
~M3UA__ASPDN__Ack__MessageParameters_template();
M3UA__ASPDN__Ack__MessageParameters_template& operator=(template_sel other_value);
M3UA__ASPDN__Ack__MessageParameters_template& operator=(const M3UA__ASPDN__Ack__MessageParameters& other_value);
M3UA__ASPDN__Ack__MessageParameters_template& operator=(const OPTIONAL<M3UA__ASPDN__Ack__MessageParameters>& other_value);
M3UA__ASPDN__Ack__MessageParameters_template& operator=(const M3UA__ASPDN__Ack__MessageParameters_template& other_value);
boolean match(const M3UA__ASPDN__Ack__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPDN__Ack__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPDN__Ack__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPDN__Ack__MessageParameters& 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 M3UA__ASPDN__Ack : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ASPDN__Ack__MessageParameters field_messageParameters;
public:
  M3UA__ASPDN__Ack();
  M3UA__ASPDN__Ack(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ASPDN__Ack__MessageParameters& par_messageParameters);
  M3UA__ASPDN__Ack(const M3UA__ASPDN__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPDN__Ack& operator=(const M3UA__ASPDN__Ack& other_value);
  boolean operator==(const M3UA__ASPDN__Ack& other_value) const;
  inline boolean operator!=(const M3UA__ASPDN__Ack& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ASPDN__Ack__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ASPDN__Ack__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ASPDN__Ack_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPDN__Ack_template *list_value;
} value_list;
struct {
M3UA__ASPDN__Ack_template* precondition;
M3UA__ASPDN__Ack_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPDN__Ack>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPDN__Ack& other_value);
void copy_template(const M3UA__ASPDN__Ack_template& other_value);

public:
M3UA__ASPDN__Ack_template();
M3UA__ASPDN__Ack_template(template_sel other_value);
M3UA__ASPDN__Ack_template(const M3UA__ASPDN__Ack& other_value);
M3UA__ASPDN__Ack_template(const OPTIONAL<M3UA__ASPDN__Ack>& other_value);
M3UA__ASPDN__Ack_template(M3UA__ASPDN__Ack_template* p_precondition, M3UA__ASPDN__Ack_template* p_implied_template);
M3UA__ASPDN__Ack_template(Dynamic_Match_Interface<M3UA__ASPDN__Ack>* p_dyn_match);
M3UA__ASPDN__Ack_template(const M3UA__ASPDN__Ack_template& other_value);
~M3UA__ASPDN__Ack_template();
M3UA__ASPDN__Ack_template& operator=(template_sel other_value);
M3UA__ASPDN__Ack_template& operator=(const M3UA__ASPDN__Ack& other_value);
M3UA__ASPDN__Ack_template& operator=(const OPTIONAL<M3UA__ASPDN__Ack>& other_value);
M3UA__ASPDN__Ack_template& operator=(const M3UA__ASPDN__Ack_template& other_value);
boolean match(const M3UA__ASPDN__Ack& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPDN__Ack valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPDN__Ack_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ASPDN__Ack__MessageParameters_template& messageParameters();
const M3UA__ASPDN__Ack__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPDN__Ack& 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 M3UA__BEAT__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Heartbeat__Data > field_heartbeat__Data;
public:
  M3UA__BEAT__MessageParameters();
  M3UA__BEAT__MessageParameters(const OPTIONAL< M3UA__Heartbeat__Data >& par_heartbeat__Data);
  M3UA__BEAT__MessageParameters(const M3UA__BEAT__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__BEAT__MessageParameters& operator=(const M3UA__BEAT__MessageParameters& other_value);
  boolean operator==(const M3UA__BEAT__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__BEAT__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Heartbeat__Data >& heartbeat__Data()
    {return field_heartbeat__Data;}
  inline const OPTIONAL< M3UA__Heartbeat__Data >& heartbeat__Data() const
    {return field_heartbeat__Data;}
  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 M3UA__BEAT__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__BEAT__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__BEAT__MessageParameters_template* precondition;
M3UA__BEAT__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__BEAT__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__BEAT__MessageParameters& other_value);
void copy_template(const M3UA__BEAT__MessageParameters_template& other_value);

public:
M3UA__BEAT__MessageParameters_template();
M3UA__BEAT__MessageParameters_template(template_sel other_value);
M3UA__BEAT__MessageParameters_template(const M3UA__BEAT__MessageParameters& other_value);
M3UA__BEAT__MessageParameters_template(const OPTIONAL<M3UA__BEAT__MessageParameters>& other_value);
M3UA__BEAT__MessageParameters_template(M3UA__BEAT__MessageParameters_template* p_precondition, M3UA__BEAT__MessageParameters_template* p_implied_template);
M3UA__BEAT__MessageParameters_template(Dynamic_Match_Interface<M3UA__BEAT__MessageParameters>* p_dyn_match);
M3UA__BEAT__MessageParameters_template(const M3UA__BEAT__MessageParameters_template& other_value);
~M3UA__BEAT__MessageParameters_template();
M3UA__BEAT__MessageParameters_template& operator=(template_sel other_value);
M3UA__BEAT__MessageParameters_template& operator=(const M3UA__BEAT__MessageParameters& other_value);
M3UA__BEAT__MessageParameters_template& operator=(const OPTIONAL<M3UA__BEAT__MessageParameters>& other_value);
M3UA__BEAT__MessageParameters_template& operator=(const M3UA__BEAT__MessageParameters_template& other_value);
boolean match(const M3UA__BEAT__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__BEAT__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__BEAT__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Heartbeat__Data_template& heartbeat__Data();
const M3UA__Heartbeat__Data_template& heartbeat__Data() const;
int size_of() const;
void log() const;
void log_match(const M3UA__BEAT__MessageParameters& 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 M3UA__BEAT : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__BEAT__MessageParameters field_messageParameters;
public:
  M3UA__BEAT();
  M3UA__BEAT(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__BEAT__MessageParameters& par_messageParameters);
  M3UA__BEAT(const M3UA__BEAT& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__BEAT& operator=(const M3UA__BEAT& other_value);
  boolean operator==(const M3UA__BEAT& other_value) const;
  inline boolean operator!=(const M3UA__BEAT& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__BEAT__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__BEAT__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__BEAT_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__BEAT_template *list_value;
} value_list;
struct {
M3UA__BEAT_template* precondition;
M3UA__BEAT_template* implied_template;
} implication_;
dynmatch_struct<M3UA__BEAT>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__BEAT& other_value);
void copy_template(const M3UA__BEAT_template& other_value);

public:
M3UA__BEAT_template();
M3UA__BEAT_template(template_sel other_value);
M3UA__BEAT_template(const M3UA__BEAT& other_value);
M3UA__BEAT_template(const OPTIONAL<M3UA__BEAT>& other_value);
M3UA__BEAT_template(M3UA__BEAT_template* p_precondition, M3UA__BEAT_template* p_implied_template);
M3UA__BEAT_template(Dynamic_Match_Interface<M3UA__BEAT>* p_dyn_match);
M3UA__BEAT_template(const M3UA__BEAT_template& other_value);
~M3UA__BEAT_template();
M3UA__BEAT_template& operator=(template_sel other_value);
M3UA__BEAT_template& operator=(const M3UA__BEAT& other_value);
M3UA__BEAT_template& operator=(const OPTIONAL<M3UA__BEAT>& other_value);
M3UA__BEAT_template& operator=(const M3UA__BEAT_template& other_value);
boolean match(const M3UA__BEAT& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__BEAT valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__BEAT_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__BEAT__MessageParameters_template& messageParameters();
const M3UA__BEAT__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__BEAT& 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 M3UA__BEAT__Ack__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Heartbeat__Data > field_heartbeat__Data;
public:
  M3UA__BEAT__Ack__MessageParameters();
  M3UA__BEAT__Ack__MessageParameters(const OPTIONAL< M3UA__Heartbeat__Data >& par_heartbeat__Data);
  M3UA__BEAT__Ack__MessageParameters(const M3UA__BEAT__Ack__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__BEAT__Ack__MessageParameters& operator=(const M3UA__BEAT__Ack__MessageParameters& other_value);
  boolean operator==(const M3UA__BEAT__Ack__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__BEAT__Ack__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Heartbeat__Data >& heartbeat__Data()
    {return field_heartbeat__Data;}
  inline const OPTIONAL< M3UA__Heartbeat__Data >& heartbeat__Data() const
    {return field_heartbeat__Data;}
  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 M3UA__BEAT__Ack__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__BEAT__Ack__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__BEAT__Ack__MessageParameters_template* precondition;
M3UA__BEAT__Ack__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__BEAT__Ack__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__BEAT__Ack__MessageParameters& other_value);
void copy_template(const M3UA__BEAT__Ack__MessageParameters_template& other_value);

public:
M3UA__BEAT__Ack__MessageParameters_template();
M3UA__BEAT__Ack__MessageParameters_template(template_sel other_value);
M3UA__BEAT__Ack__MessageParameters_template(const M3UA__BEAT__Ack__MessageParameters& other_value);
M3UA__BEAT__Ack__MessageParameters_template(const OPTIONAL<M3UA__BEAT__Ack__MessageParameters>& other_value);
M3UA__BEAT__Ack__MessageParameters_template(M3UA__BEAT__Ack__MessageParameters_template* p_precondition, M3UA__BEAT__Ack__MessageParameters_template* p_implied_template);
M3UA__BEAT__Ack__MessageParameters_template(Dynamic_Match_Interface<M3UA__BEAT__Ack__MessageParameters>* p_dyn_match);
M3UA__BEAT__Ack__MessageParameters_template(const M3UA__BEAT__Ack__MessageParameters_template& other_value);
~M3UA__BEAT__Ack__MessageParameters_template();
M3UA__BEAT__Ack__MessageParameters_template& operator=(template_sel other_value);
M3UA__BEAT__Ack__MessageParameters_template& operator=(const M3UA__BEAT__Ack__MessageParameters& other_value);
M3UA__BEAT__Ack__MessageParameters_template& operator=(const OPTIONAL<M3UA__BEAT__Ack__MessageParameters>& other_value);
M3UA__BEAT__Ack__MessageParameters_template& operator=(const M3UA__BEAT__Ack__MessageParameters_template& other_value);
boolean match(const M3UA__BEAT__Ack__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__BEAT__Ack__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__BEAT__Ack__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Heartbeat__Data_template& heartbeat__Data();
const M3UA__Heartbeat__Data_template& heartbeat__Data() const;
int size_of() const;
void log() const;
void log_match(const M3UA__BEAT__Ack__MessageParameters& 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 M3UA__BEAT__Ack : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__BEAT__Ack__MessageParameters field_messageParameters;
public:
  M3UA__BEAT__Ack();
  M3UA__BEAT__Ack(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__BEAT__Ack__MessageParameters& par_messageParameters);
  M3UA__BEAT__Ack(const M3UA__BEAT__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__BEAT__Ack& operator=(const M3UA__BEAT__Ack& other_value);
  boolean operator==(const M3UA__BEAT__Ack& other_value) const;
  inline boolean operator!=(const M3UA__BEAT__Ack& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__BEAT__Ack__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__BEAT__Ack__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__BEAT__Ack_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__BEAT__Ack_template *list_value;
} value_list;
struct {
M3UA__BEAT__Ack_template* precondition;
M3UA__BEAT__Ack_template* implied_template;
} implication_;
dynmatch_struct<M3UA__BEAT__Ack>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__BEAT__Ack& other_value);
void copy_template(const M3UA__BEAT__Ack_template& other_value);

public:
M3UA__BEAT__Ack_template();
M3UA__BEAT__Ack_template(template_sel other_value);
M3UA__BEAT__Ack_template(const M3UA__BEAT__Ack& other_value);
M3UA__BEAT__Ack_template(const OPTIONAL<M3UA__BEAT__Ack>& other_value);
M3UA__BEAT__Ack_template(M3UA__BEAT__Ack_template* p_precondition, M3UA__BEAT__Ack_template* p_implied_template);
M3UA__BEAT__Ack_template(Dynamic_Match_Interface<M3UA__BEAT__Ack>* p_dyn_match);
M3UA__BEAT__Ack_template(const M3UA__BEAT__Ack_template& other_value);
~M3UA__BEAT__Ack_template();
M3UA__BEAT__Ack_template& operator=(template_sel other_value);
M3UA__BEAT__Ack_template& operator=(const M3UA__BEAT__Ack& other_value);
M3UA__BEAT__Ack_template& operator=(const OPTIONAL<M3UA__BEAT__Ack>& other_value);
M3UA__BEAT__Ack_template& operator=(const M3UA__BEAT__Ack_template& other_value);
boolean match(const M3UA__BEAT__Ack& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__BEAT__Ack valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__BEAT__Ack_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__BEAT__Ack__MessageParameters_template& messageParameters();
const M3UA__BEAT__Ack__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__BEAT__Ack& 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 M3UA__ASPAC__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Traffic__Mode__Type > field_traffic__Mode__Type;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__ASPAC__MessageParameters();
  M3UA__ASPAC__MessageParameters(const OPTIONAL< M3UA__Traffic__Mode__Type >& par_traffic__Mode__Type,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__ASPAC__MessageParameters(const M3UA__ASPAC__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPAC__MessageParameters& operator=(const M3UA__ASPAC__MessageParameters& other_value);
  boolean operator==(const M3UA__ASPAC__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ASPAC__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Traffic__Mode__Type >& traffic__Mode__Type()
    {return field_traffic__Mode__Type;}
  inline const OPTIONAL< M3UA__Traffic__Mode__Type >& traffic__Mode__Type() const
    {return field_traffic__Mode__Type;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__ASPAC__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPAC__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ASPAC__MessageParameters_template* precondition;
M3UA__ASPAC__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPAC__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPAC__MessageParameters& other_value);
void copy_template(const M3UA__ASPAC__MessageParameters_template& other_value);

public:
M3UA__ASPAC__MessageParameters_template();
M3UA__ASPAC__MessageParameters_template(template_sel other_value);
M3UA__ASPAC__MessageParameters_template(const M3UA__ASPAC__MessageParameters& other_value);
M3UA__ASPAC__MessageParameters_template(const OPTIONAL<M3UA__ASPAC__MessageParameters>& other_value);
M3UA__ASPAC__MessageParameters_template(M3UA__ASPAC__MessageParameters_template* p_precondition, M3UA__ASPAC__MessageParameters_template* p_implied_template);
M3UA__ASPAC__MessageParameters_template(Dynamic_Match_Interface<M3UA__ASPAC__MessageParameters>* p_dyn_match);
M3UA__ASPAC__MessageParameters_template(const M3UA__ASPAC__MessageParameters_template& other_value);
~M3UA__ASPAC__MessageParameters_template();
M3UA__ASPAC__MessageParameters_template& operator=(template_sel other_value);
M3UA__ASPAC__MessageParameters_template& operator=(const M3UA__ASPAC__MessageParameters& other_value);
M3UA__ASPAC__MessageParameters_template& operator=(const OPTIONAL<M3UA__ASPAC__MessageParameters>& other_value);
M3UA__ASPAC__MessageParameters_template& operator=(const M3UA__ASPAC__MessageParameters_template& other_value);
boolean match(const M3UA__ASPAC__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPAC__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPAC__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Traffic__Mode__Type_template& traffic__Mode__Type();
const M3UA__Traffic__Mode__Type_template& traffic__Mode__Type() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPAC__MessageParameters& 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 M3UA__ASPAC : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ASPAC__MessageParameters field_messageParameters;
public:
  M3UA__ASPAC();
  M3UA__ASPAC(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ASPAC__MessageParameters& par_messageParameters);
  M3UA__ASPAC(const M3UA__ASPAC& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPAC& operator=(const M3UA__ASPAC& other_value);
  boolean operator==(const M3UA__ASPAC& other_value) const;
  inline boolean operator!=(const M3UA__ASPAC& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ASPAC__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ASPAC__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ASPAC_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPAC_template *list_value;
} value_list;
struct {
M3UA__ASPAC_template* precondition;
M3UA__ASPAC_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPAC>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPAC& other_value);
void copy_template(const M3UA__ASPAC_template& other_value);

public:
M3UA__ASPAC_template();
M3UA__ASPAC_template(template_sel other_value);
M3UA__ASPAC_template(const M3UA__ASPAC& other_value);
M3UA__ASPAC_template(const OPTIONAL<M3UA__ASPAC>& other_value);
M3UA__ASPAC_template(M3UA__ASPAC_template* p_precondition, M3UA__ASPAC_template* p_implied_template);
M3UA__ASPAC_template(Dynamic_Match_Interface<M3UA__ASPAC>* p_dyn_match);
M3UA__ASPAC_template(const M3UA__ASPAC_template& other_value);
~M3UA__ASPAC_template();
M3UA__ASPAC_template& operator=(template_sel other_value);
M3UA__ASPAC_template& operator=(const M3UA__ASPAC& other_value);
M3UA__ASPAC_template& operator=(const OPTIONAL<M3UA__ASPAC>& other_value);
M3UA__ASPAC_template& operator=(const M3UA__ASPAC_template& other_value);
boolean match(const M3UA__ASPAC& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPAC valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPAC_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ASPAC__MessageParameters_template& messageParameters();
const M3UA__ASPAC__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPAC& 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 M3UA__ASPAC__Ack__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Traffic__Mode__Type > field_traffic__Mode__Type;
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__ASPAC__Ack__MessageParameters();
  M3UA__ASPAC__Ack__MessageParameters(const OPTIONAL< M3UA__Traffic__Mode__Type >& par_traffic__Mode__Type,
    const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__ASPAC__Ack__MessageParameters(const M3UA__ASPAC__Ack__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPAC__Ack__MessageParameters& operator=(const M3UA__ASPAC__Ack__MessageParameters& other_value);
  boolean operator==(const M3UA__ASPAC__Ack__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ASPAC__Ack__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Traffic__Mode__Type >& traffic__Mode__Type()
    {return field_traffic__Mode__Type;}
  inline const OPTIONAL< M3UA__Traffic__Mode__Type >& traffic__Mode__Type() const
    {return field_traffic__Mode__Type;}
  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__ASPAC__Ack__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPAC__Ack__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ASPAC__Ack__MessageParameters_template* precondition;
M3UA__ASPAC__Ack__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPAC__Ack__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPAC__Ack__MessageParameters& other_value);
void copy_template(const M3UA__ASPAC__Ack__MessageParameters_template& other_value);

public:
M3UA__ASPAC__Ack__MessageParameters_template();
M3UA__ASPAC__Ack__MessageParameters_template(template_sel other_value);
M3UA__ASPAC__Ack__MessageParameters_template(const M3UA__ASPAC__Ack__MessageParameters& other_value);
M3UA__ASPAC__Ack__MessageParameters_template(const OPTIONAL<M3UA__ASPAC__Ack__MessageParameters>& other_value);
M3UA__ASPAC__Ack__MessageParameters_template(M3UA__ASPAC__Ack__MessageParameters_template* p_precondition, M3UA__ASPAC__Ack__MessageParameters_template* p_implied_template);
M3UA__ASPAC__Ack__MessageParameters_template(Dynamic_Match_Interface<M3UA__ASPAC__Ack__MessageParameters>* p_dyn_match);
M3UA__ASPAC__Ack__MessageParameters_template(const M3UA__ASPAC__Ack__MessageParameters_template& other_value);
~M3UA__ASPAC__Ack__MessageParameters_template();
M3UA__ASPAC__Ack__MessageParameters_template& operator=(template_sel other_value);
M3UA__ASPAC__Ack__MessageParameters_template& operator=(const M3UA__ASPAC__Ack__MessageParameters& other_value);
M3UA__ASPAC__Ack__MessageParameters_template& operator=(const OPTIONAL<M3UA__ASPAC__Ack__MessageParameters>& other_value);
M3UA__ASPAC__Ack__MessageParameters_template& operator=(const M3UA__ASPAC__Ack__MessageParameters_template& other_value);
boolean match(const M3UA__ASPAC__Ack__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPAC__Ack__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPAC__Ack__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Traffic__Mode__Type_template& traffic__Mode__Type();
const M3UA__Traffic__Mode__Type_template& traffic__Mode__Type() const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPAC__Ack__MessageParameters& 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 M3UA__ASPAC__Ack : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ASPAC__Ack__MessageParameters field_messageParameters;
public:
  M3UA__ASPAC__Ack();
  M3UA__ASPAC__Ack(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ASPAC__Ack__MessageParameters& par_messageParameters);
  M3UA__ASPAC__Ack(const M3UA__ASPAC__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPAC__Ack& operator=(const M3UA__ASPAC__Ack& other_value);
  boolean operator==(const M3UA__ASPAC__Ack& other_value) const;
  inline boolean operator!=(const M3UA__ASPAC__Ack& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ASPAC__Ack__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ASPAC__Ack__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ASPAC__Ack_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPAC__Ack_template *list_value;
} value_list;
struct {
M3UA__ASPAC__Ack_template* precondition;
M3UA__ASPAC__Ack_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPAC__Ack>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPAC__Ack& other_value);
void copy_template(const M3UA__ASPAC__Ack_template& other_value);

public:
M3UA__ASPAC__Ack_template();
M3UA__ASPAC__Ack_template(template_sel other_value);
M3UA__ASPAC__Ack_template(const M3UA__ASPAC__Ack& other_value);
M3UA__ASPAC__Ack_template(const OPTIONAL<M3UA__ASPAC__Ack>& other_value);
M3UA__ASPAC__Ack_template(M3UA__ASPAC__Ack_template* p_precondition, M3UA__ASPAC__Ack_template* p_implied_template);
M3UA__ASPAC__Ack_template(Dynamic_Match_Interface<M3UA__ASPAC__Ack>* p_dyn_match);
M3UA__ASPAC__Ack_template(const M3UA__ASPAC__Ack_template& other_value);
~M3UA__ASPAC__Ack_template();
M3UA__ASPAC__Ack_template& operator=(template_sel other_value);
M3UA__ASPAC__Ack_template& operator=(const M3UA__ASPAC__Ack& other_value);
M3UA__ASPAC__Ack_template& operator=(const OPTIONAL<M3UA__ASPAC__Ack>& other_value);
M3UA__ASPAC__Ack_template& operator=(const M3UA__ASPAC__Ack_template& other_value);
boolean match(const M3UA__ASPAC__Ack& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPAC__Ack valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPAC__Ack_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ASPAC__Ack__MessageParameters_template& messageParameters();
const M3UA__ASPAC__Ack__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPAC__Ack& 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 M3UA__ASPIA__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__ASPIA__MessageParameters();
  M3UA__ASPIA__MessageParameters(const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__ASPIA__MessageParameters(const M3UA__ASPIA__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPIA__MessageParameters& operator=(const M3UA__ASPIA__MessageParameters& other_value);
  boolean operator==(const M3UA__ASPIA__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ASPIA__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__ASPIA__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPIA__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ASPIA__MessageParameters_template* precondition;
M3UA__ASPIA__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPIA__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPIA__MessageParameters& other_value);
void copy_template(const M3UA__ASPIA__MessageParameters_template& other_value);

public:
M3UA__ASPIA__MessageParameters_template();
M3UA__ASPIA__MessageParameters_template(template_sel other_value);
M3UA__ASPIA__MessageParameters_template(const M3UA__ASPIA__MessageParameters& other_value);
M3UA__ASPIA__MessageParameters_template(const OPTIONAL<M3UA__ASPIA__MessageParameters>& other_value);
M3UA__ASPIA__MessageParameters_template(M3UA__ASPIA__MessageParameters_template* p_precondition, M3UA__ASPIA__MessageParameters_template* p_implied_template);
M3UA__ASPIA__MessageParameters_template(Dynamic_Match_Interface<M3UA__ASPIA__MessageParameters>* p_dyn_match);
M3UA__ASPIA__MessageParameters_template(const M3UA__ASPIA__MessageParameters_template& other_value);
~M3UA__ASPIA__MessageParameters_template();
M3UA__ASPIA__MessageParameters_template& operator=(template_sel other_value);
M3UA__ASPIA__MessageParameters_template& operator=(const M3UA__ASPIA__MessageParameters& other_value);
M3UA__ASPIA__MessageParameters_template& operator=(const OPTIONAL<M3UA__ASPIA__MessageParameters>& other_value);
M3UA__ASPIA__MessageParameters_template& operator=(const M3UA__ASPIA__MessageParameters_template& other_value);
boolean match(const M3UA__ASPIA__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPIA__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPIA__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPIA__MessageParameters& 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 M3UA__ASPIA : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ASPIA__MessageParameters field_messageParameters;
public:
  M3UA__ASPIA();
  M3UA__ASPIA(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ASPIA__MessageParameters& par_messageParameters);
  M3UA__ASPIA(const M3UA__ASPIA& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPIA& operator=(const M3UA__ASPIA& other_value);
  boolean operator==(const M3UA__ASPIA& other_value) const;
  inline boolean operator!=(const M3UA__ASPIA& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ASPIA__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ASPIA__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ASPIA_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPIA_template *list_value;
} value_list;
struct {
M3UA__ASPIA_template* precondition;
M3UA__ASPIA_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPIA>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPIA& other_value);
void copy_template(const M3UA__ASPIA_template& other_value);

public:
M3UA__ASPIA_template();
M3UA__ASPIA_template(template_sel other_value);
M3UA__ASPIA_template(const M3UA__ASPIA& other_value);
M3UA__ASPIA_template(const OPTIONAL<M3UA__ASPIA>& other_value);
M3UA__ASPIA_template(M3UA__ASPIA_template* p_precondition, M3UA__ASPIA_template* p_implied_template);
M3UA__ASPIA_template(Dynamic_Match_Interface<M3UA__ASPIA>* p_dyn_match);
M3UA__ASPIA_template(const M3UA__ASPIA_template& other_value);
~M3UA__ASPIA_template();
M3UA__ASPIA_template& operator=(template_sel other_value);
M3UA__ASPIA_template& operator=(const M3UA__ASPIA& other_value);
M3UA__ASPIA_template& operator=(const OPTIONAL<M3UA__ASPIA>& other_value);
M3UA__ASPIA_template& operator=(const M3UA__ASPIA_template& other_value);
boolean match(const M3UA__ASPIA& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPIA valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPIA_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ASPIA__MessageParameters_template& messageParameters();
const M3UA__ASPIA__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPIA& 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 M3UA__ASPIA__Ack__MessageParameters : public Base_Type {
  OPTIONAL< M3UA__Routing__Context > field_routing__Context;
  OPTIONAL< M3UA__Info__String > field_info__String;
public:
  M3UA__ASPIA__Ack__MessageParameters();
  M3UA__ASPIA__Ack__MessageParameters(const OPTIONAL< M3UA__Routing__Context >& par_routing__Context,
    const OPTIONAL< M3UA__Info__String >& par_info__String);
  M3UA__ASPIA__Ack__MessageParameters(const M3UA__ASPIA__Ack__MessageParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPIA__Ack__MessageParameters& operator=(const M3UA__ASPIA__Ack__MessageParameters& other_value);
  boolean operator==(const M3UA__ASPIA__Ack__MessageParameters& other_value) const;
  inline boolean operator!=(const M3UA__ASPIA__Ack__MessageParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OPTIONAL< M3UA__Routing__Context >& routing__Context()
    {return field_routing__Context;}
  inline const OPTIONAL< M3UA__Routing__Context >& routing__Context() const
    {return field_routing__Context;}
  inline OPTIONAL< M3UA__Info__String >& info__String()
    {return field_info__String;}
  inline const OPTIONAL< M3UA__Info__String >& info__String() const
    {return field_info__String;}
  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 M3UA__ASPIA__Ack__MessageParameters_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPIA__Ack__MessageParameters_template *list_value;
} value_list;
struct {
M3UA__ASPIA__Ack__MessageParameters_template* precondition;
M3UA__ASPIA__Ack__MessageParameters_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPIA__Ack__MessageParameters>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPIA__Ack__MessageParameters& other_value);
void copy_template(const M3UA__ASPIA__Ack__MessageParameters_template& other_value);

public:
M3UA__ASPIA__Ack__MessageParameters_template();
M3UA__ASPIA__Ack__MessageParameters_template(template_sel other_value);
M3UA__ASPIA__Ack__MessageParameters_template(const M3UA__ASPIA__Ack__MessageParameters& other_value);
M3UA__ASPIA__Ack__MessageParameters_template(const OPTIONAL<M3UA__ASPIA__Ack__MessageParameters>& other_value);
M3UA__ASPIA__Ack__MessageParameters_template(M3UA__ASPIA__Ack__MessageParameters_template* p_precondition, M3UA__ASPIA__Ack__MessageParameters_template* p_implied_template);
M3UA__ASPIA__Ack__MessageParameters_template(Dynamic_Match_Interface<M3UA__ASPIA__Ack__MessageParameters>* p_dyn_match);
M3UA__ASPIA__Ack__MessageParameters_template(const M3UA__ASPIA__Ack__MessageParameters_template& other_value);
~M3UA__ASPIA__Ack__MessageParameters_template();
M3UA__ASPIA__Ack__MessageParameters_template& operator=(template_sel other_value);
M3UA__ASPIA__Ack__MessageParameters_template& operator=(const M3UA__ASPIA__Ack__MessageParameters& other_value);
M3UA__ASPIA__Ack__MessageParameters_template& operator=(const OPTIONAL<M3UA__ASPIA__Ack__MessageParameters>& other_value);
M3UA__ASPIA__Ack__MessageParameters_template& operator=(const M3UA__ASPIA__Ack__MessageParameters_template& other_value);
boolean match(const M3UA__ASPIA__Ack__MessageParameters& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPIA__Ack__MessageParameters valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPIA__Ack__MessageParameters_template& list_item(unsigned int list_index) const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
M3UA__Info__String_template& info__String();
const M3UA__Info__String_template& info__String() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPIA__Ack__MessageParameters& 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 M3UA__ASPIA__Ack : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__ASPIA__Ack__MessageParameters field_messageParameters;
public:
  M3UA__ASPIA__Ack();
  M3UA__ASPIA__Ack(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__ASPIA__Ack__MessageParameters& par_messageParameters);
  M3UA__ASPIA__Ack(const M3UA__ASPIA__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__ASPIA__Ack& operator=(const M3UA__ASPIA__Ack& other_value);
  boolean operator==(const M3UA__ASPIA__Ack& other_value) const;
  inline boolean operator!=(const M3UA__ASPIA__Ack& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__ASPIA__Ack__MessageParameters& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__ASPIA__Ack__MessageParameters& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__ASPIA__Ack_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__ASPIA__Ack_template *list_value;
} value_list;
struct {
M3UA__ASPIA__Ack_template* precondition;
M3UA__ASPIA__Ack_template* implied_template;
} implication_;
dynmatch_struct<M3UA__ASPIA__Ack>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__ASPIA__Ack& other_value);
void copy_template(const M3UA__ASPIA__Ack_template& other_value);

public:
M3UA__ASPIA__Ack_template();
M3UA__ASPIA__Ack_template(template_sel other_value);
M3UA__ASPIA__Ack_template(const M3UA__ASPIA__Ack& other_value);
M3UA__ASPIA__Ack_template(const OPTIONAL<M3UA__ASPIA__Ack>& other_value);
M3UA__ASPIA__Ack_template(M3UA__ASPIA__Ack_template* p_precondition, M3UA__ASPIA__Ack_template* p_implied_template);
M3UA__ASPIA__Ack_template(Dynamic_Match_Interface<M3UA__ASPIA__Ack>* p_dyn_match);
M3UA__ASPIA__Ack_template(const M3UA__ASPIA__Ack_template& other_value);
~M3UA__ASPIA__Ack_template();
M3UA__ASPIA__Ack_template& operator=(template_sel other_value);
M3UA__ASPIA__Ack_template& operator=(const M3UA__ASPIA__Ack& other_value);
M3UA__ASPIA__Ack_template& operator=(const OPTIONAL<M3UA__ASPIA__Ack>& other_value);
M3UA__ASPIA__Ack_template& operator=(const M3UA__ASPIA__Ack_template& other_value);
boolean match(const M3UA__ASPIA__Ack& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__ASPIA__Ack valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ASPIA__Ack_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__ASPIA__Ack__MessageParameters_template& messageParameters();
const M3UA__ASPIA__Ack__MessageParameters_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__ASPIA__Ack& 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 M3UA__Routing__Keys : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
M3UA__Routing__Key **value_elements;
} *val_ptr;

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

public:
  typedef M3UA__Routing__Key of_type;
M3UA__Routing__Keys();
M3UA__Routing__Keys(null_type other_value);
M3UA__Routing__Keys(const M3UA__Routing__Keys& other_value);
~M3UA__Routing__Keys();

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

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

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

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

M3UA__Routing__Keys operator+(const M3UA__Routing__Keys& other_value) const;

M3UA__Routing__Keys substr(int index, int returncount) const;

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

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

void clean_up();
M3UA__Routing__Keys_template& operator=(template_sel other_value);
M3UA__Routing__Keys_template& operator=(null_type other_value);
M3UA__Routing__Keys_template& operator=(const M3UA__Routing__Keys& other_value);
M3UA__Routing__Keys_template& operator=(const OPTIONAL<M3UA__Routing__Keys>& other_value);
M3UA__Routing__Keys_template& operator=(const M3UA__Routing__Keys_template& other_value);

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

M3UA__Routing__Keys replace(int index, int len, const M3UA__Routing__Keys_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
M3UA__Routing__Keys_template& list_item(unsigned int list_index);
void log() const;
void log_match(const M3UA__Routing__Keys& 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 M3UA__REG__REQ : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__Routing__Keys field_messageParameters;
public:
  M3UA__REG__REQ();
  M3UA__REG__REQ(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__Routing__Keys& par_messageParameters);
  M3UA__REG__REQ(const M3UA__REG__REQ& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__REG__REQ& operator=(const M3UA__REG__REQ& other_value);
  boolean operator==(const M3UA__REG__REQ& other_value) const;
  inline boolean operator!=(const M3UA__REG__REQ& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__Routing__Keys& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__Routing__Keys& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__REG__REQ_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__REG__REQ_template *list_value;
} value_list;
struct {
M3UA__REG__REQ_template* precondition;
M3UA__REG__REQ_template* implied_template;
} implication_;
dynmatch_struct<M3UA__REG__REQ>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__REG__REQ& other_value);
void copy_template(const M3UA__REG__REQ_template& other_value);

public:
M3UA__REG__REQ_template();
M3UA__REG__REQ_template(template_sel other_value);
M3UA__REG__REQ_template(const M3UA__REG__REQ& other_value);
M3UA__REG__REQ_template(const OPTIONAL<M3UA__REG__REQ>& other_value);
M3UA__REG__REQ_template(M3UA__REG__REQ_template* p_precondition, M3UA__REG__REQ_template* p_implied_template);
M3UA__REG__REQ_template(Dynamic_Match_Interface<M3UA__REG__REQ>* p_dyn_match);
M3UA__REG__REQ_template(const M3UA__REG__REQ_template& other_value);
~M3UA__REG__REQ_template();
M3UA__REG__REQ_template& operator=(template_sel other_value);
M3UA__REG__REQ_template& operator=(const M3UA__REG__REQ& other_value);
M3UA__REG__REQ_template& operator=(const OPTIONAL<M3UA__REG__REQ>& other_value);
M3UA__REG__REQ_template& operator=(const M3UA__REG__REQ_template& other_value);
boolean match(const M3UA__REG__REQ& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__REG__REQ valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__REG__REQ_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__Routing__Keys_template& messageParameters();
const M3UA__Routing__Keys_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__REG__REQ& 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 M3UA__Registration__Results : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
M3UA__Registration__Result **value_elements;
} *val_ptr;

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

public:
  typedef M3UA__Registration__Result of_type;
M3UA__Registration__Results();
M3UA__Registration__Results(null_type other_value);
M3UA__Registration__Results(const M3UA__Registration__Results& other_value);
~M3UA__Registration__Results();

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

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

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

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

M3UA__Registration__Results operator+(const M3UA__Registration__Results& other_value) const;

M3UA__Registration__Results substr(int index, int returncount) const;

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

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

void clean_up();
M3UA__Registration__Results_template& operator=(template_sel other_value);
M3UA__Registration__Results_template& operator=(null_type other_value);
M3UA__Registration__Results_template& operator=(const M3UA__Registration__Results& other_value);
M3UA__Registration__Results_template& operator=(const OPTIONAL<M3UA__Registration__Results>& other_value);
M3UA__Registration__Results_template& operator=(const M3UA__Registration__Results_template& other_value);

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

M3UA__Registration__Results replace(int index, int len, const M3UA__Registration__Results_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
M3UA__Registration__Results_template& list_item(unsigned int list_index);
void log() const;
void log_match(const M3UA__Registration__Results& 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 M3UA__REG__RSP : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__Registration__Results field_messageParameters;
public:
  M3UA__REG__RSP();
  M3UA__REG__RSP(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__Registration__Results& par_messageParameters);
  M3UA__REG__RSP(const M3UA__REG__RSP& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__REG__RSP& operator=(const M3UA__REG__RSP& other_value);
  boolean operator==(const M3UA__REG__RSP& other_value) const;
  inline boolean operator!=(const M3UA__REG__RSP& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__Registration__Results& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__Registration__Results& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__REG__RSP_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__REG__RSP_template *list_value;
} value_list;
struct {
M3UA__REG__RSP_template* precondition;
M3UA__REG__RSP_template* implied_template;
} implication_;
dynmatch_struct<M3UA__REG__RSP>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__REG__RSP& other_value);
void copy_template(const M3UA__REG__RSP_template& other_value);

public:
M3UA__REG__RSP_template();
M3UA__REG__RSP_template(template_sel other_value);
M3UA__REG__RSP_template(const M3UA__REG__RSP& other_value);
M3UA__REG__RSP_template(const OPTIONAL<M3UA__REG__RSP>& other_value);
M3UA__REG__RSP_template(M3UA__REG__RSP_template* p_precondition, M3UA__REG__RSP_template* p_implied_template);
M3UA__REG__RSP_template(Dynamic_Match_Interface<M3UA__REG__RSP>* p_dyn_match);
M3UA__REG__RSP_template(const M3UA__REG__RSP_template& other_value);
~M3UA__REG__RSP_template();
M3UA__REG__RSP_template& operator=(template_sel other_value);
M3UA__REG__RSP_template& operator=(const M3UA__REG__RSP& other_value);
M3UA__REG__RSP_template& operator=(const OPTIONAL<M3UA__REG__RSP>& other_value);
M3UA__REG__RSP_template& operator=(const M3UA__REG__RSP_template& other_value);
boolean match(const M3UA__REG__RSP& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__REG__RSP valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__REG__RSP_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__Registration__Results_template& messageParameters();
const M3UA__Registration__Results_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__REG__RSP& 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 M3UA__DEREG__REQ__MsgParams : public Base_Type {
  M3UA__Routing__Context field_routing__Context;
public:
  M3UA__DEREG__REQ__MsgParams();
  M3UA__DEREG__REQ__MsgParams(const M3UA__Routing__Context& par_routing__Context);
  M3UA__DEREG__REQ__MsgParams(const M3UA__DEREG__REQ__MsgParams& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DEREG__REQ__MsgParams& operator=(const M3UA__DEREG__REQ__MsgParams& other_value);
  boolean operator==(const M3UA__DEREG__REQ__MsgParams& other_value) const;
  inline boolean operator!=(const M3UA__DEREG__REQ__MsgParams& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline M3UA__Routing__Context& routing__Context()
    {return field_routing__Context;}
  inline const M3UA__Routing__Context& routing__Context() const
    {return field_routing__Context;}
  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 M3UA__DEREG__REQ__MsgParams_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DEREG__REQ__MsgParams_template *list_value;
} value_list;
struct {
M3UA__DEREG__REQ__MsgParams_template* precondition;
M3UA__DEREG__REQ__MsgParams_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DEREG__REQ__MsgParams>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DEREG__REQ__MsgParams& other_value);
void copy_template(const M3UA__DEREG__REQ__MsgParams_template& other_value);

public:
M3UA__DEREG__REQ__MsgParams_template();
M3UA__DEREG__REQ__MsgParams_template(template_sel other_value);
M3UA__DEREG__REQ__MsgParams_template(const M3UA__DEREG__REQ__MsgParams& other_value);
M3UA__DEREG__REQ__MsgParams_template(const OPTIONAL<M3UA__DEREG__REQ__MsgParams>& other_value);
M3UA__DEREG__REQ__MsgParams_template(M3UA__DEREG__REQ__MsgParams_template* p_precondition, M3UA__DEREG__REQ__MsgParams_template* p_implied_template);
M3UA__DEREG__REQ__MsgParams_template(Dynamic_Match_Interface<M3UA__DEREG__REQ__MsgParams>* p_dyn_match);
M3UA__DEREG__REQ__MsgParams_template(const M3UA__DEREG__REQ__MsgParams_template& other_value);
~M3UA__DEREG__REQ__MsgParams_template();
M3UA__DEREG__REQ__MsgParams_template& operator=(template_sel other_value);
M3UA__DEREG__REQ__MsgParams_template& operator=(const M3UA__DEREG__REQ__MsgParams& other_value);
M3UA__DEREG__REQ__MsgParams_template& operator=(const OPTIONAL<M3UA__DEREG__REQ__MsgParams>& other_value);
M3UA__DEREG__REQ__MsgParams_template& operator=(const M3UA__DEREG__REQ__MsgParams_template& other_value);
boolean match(const M3UA__DEREG__REQ__MsgParams& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DEREG__REQ__MsgParams valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DEREG__REQ__MsgParams_template& list_item(unsigned int list_index) const;
M3UA__Routing__Context_template& routing__Context();
const M3UA__Routing__Context_template& routing__Context() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DEREG__REQ__MsgParams& 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 M3UA__DEREG__REQ : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__DEREG__REQ__MsgParams field_messageParameters;
public:
  M3UA__DEREG__REQ();
  M3UA__DEREG__REQ(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__DEREG__REQ__MsgParams& par_messageParameters);
  M3UA__DEREG__REQ(const M3UA__DEREG__REQ& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DEREG__REQ& operator=(const M3UA__DEREG__REQ& other_value);
  boolean operator==(const M3UA__DEREG__REQ& other_value) const;
  inline boolean operator!=(const M3UA__DEREG__REQ& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__DEREG__REQ__MsgParams& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__DEREG__REQ__MsgParams& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__DEREG__REQ_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DEREG__REQ_template *list_value;
} value_list;
struct {
M3UA__DEREG__REQ_template* precondition;
M3UA__DEREG__REQ_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DEREG__REQ>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DEREG__REQ& other_value);
void copy_template(const M3UA__DEREG__REQ_template& other_value);

public:
M3UA__DEREG__REQ_template();
M3UA__DEREG__REQ_template(template_sel other_value);
M3UA__DEREG__REQ_template(const M3UA__DEREG__REQ& other_value);
M3UA__DEREG__REQ_template(const OPTIONAL<M3UA__DEREG__REQ>& other_value);
M3UA__DEREG__REQ_template(M3UA__DEREG__REQ_template* p_precondition, M3UA__DEREG__REQ_template* p_implied_template);
M3UA__DEREG__REQ_template(Dynamic_Match_Interface<M3UA__DEREG__REQ>* p_dyn_match);
M3UA__DEREG__REQ_template(const M3UA__DEREG__REQ_template& other_value);
~M3UA__DEREG__REQ_template();
M3UA__DEREG__REQ_template& operator=(template_sel other_value);
M3UA__DEREG__REQ_template& operator=(const M3UA__DEREG__REQ& other_value);
M3UA__DEREG__REQ_template& operator=(const OPTIONAL<M3UA__DEREG__REQ>& other_value);
M3UA__DEREG__REQ_template& operator=(const M3UA__DEREG__REQ_template& other_value);
boolean match(const M3UA__DEREG__REQ& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DEREG__REQ valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DEREG__REQ_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__DEREG__REQ__MsgParams_template& messageParameters();
const M3UA__DEREG__REQ__MsgParams_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DEREG__REQ& 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 M3UA__Deregistration__Results : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
M3UA__Deregistration__Result **value_elements;
} *val_ptr;

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

public:
  typedef M3UA__Deregistration__Result of_type;
M3UA__Deregistration__Results();
M3UA__Deregistration__Results(null_type other_value);
M3UA__Deregistration__Results(const M3UA__Deregistration__Results& other_value);
~M3UA__Deregistration__Results();

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

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

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

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

M3UA__Deregistration__Results operator+(const M3UA__Deregistration__Results& other_value) const;

M3UA__Deregistration__Results substr(int index, int returncount) const;

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

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

void clean_up();
M3UA__Deregistration__Results_template& operator=(template_sel other_value);
M3UA__Deregistration__Results_template& operator=(null_type other_value);
M3UA__Deregistration__Results_template& operator=(const M3UA__Deregistration__Results& other_value);
M3UA__Deregistration__Results_template& operator=(const OPTIONAL<M3UA__Deregistration__Results>& other_value);
M3UA__Deregistration__Results_template& operator=(const M3UA__Deregistration__Results_template& other_value);

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

M3UA__Deregistration__Results replace(int index, int len, const M3UA__Deregistration__Results_template& repl) const;

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

void set_type(template_sel template_type, unsigned int list_length);
M3UA__Deregistration__Results_template& list_item(unsigned int list_index);
void log() const;
void log_match(const M3UA__Deregistration__Results& 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 M3UA__DEREG__RSP : public Base_Type {
  OCTETSTRING field_version;
  OCTETSTRING field_reserved;
  OCTETSTRING field_messageClassAndType;
  INTEGER field_messageLength;
  M3UA__Deregistration__Results field_messageParameters;
public:
  M3UA__DEREG__RSP();
  M3UA__DEREG__RSP(const OCTETSTRING& par_version,
    const OCTETSTRING& par_reserved,
    const OCTETSTRING& par_messageClassAndType,
    const INTEGER& par_messageLength,
    const M3UA__Deregistration__Results& par_messageParameters);
  M3UA__DEREG__RSP(const M3UA__DEREG__RSP& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  M3UA__DEREG__RSP& operator=(const M3UA__DEREG__RSP& other_value);
  boolean operator==(const M3UA__DEREG__RSP& other_value) const;
  inline boolean operator!=(const M3UA__DEREG__RSP& 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& version()
    {return field_version;}
  inline const OCTETSTRING& version() const
    {return field_version;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline OCTETSTRING& messageClassAndType()
    {return field_messageClassAndType;}
  inline const OCTETSTRING& messageClassAndType() const
    {return field_messageClassAndType;}
  inline INTEGER& messageLength()
    {return field_messageLength;}
  inline const INTEGER& messageLength() const
    {return field_messageLength;}
  inline M3UA__Deregistration__Results& messageParameters()
    {return field_messageParameters;}
  inline const M3UA__Deregistration__Results& messageParameters() const
    {return field_messageParameters;}
  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 M3UA__DEREG__RSP_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
M3UA__DEREG__RSP_template *list_value;
} value_list;
struct {
M3UA__DEREG__RSP_template* precondition;
M3UA__DEREG__RSP_template* implied_template;
} implication_;
dynmatch_struct<M3UA__DEREG__RSP>* dyn_match;
};

void set_specific();
void copy_value(const M3UA__DEREG__RSP& other_value);
void copy_template(const M3UA__DEREG__RSP_template& other_value);

public:
M3UA__DEREG__RSP_template();
M3UA__DEREG__RSP_template(template_sel other_value);
M3UA__DEREG__RSP_template(const M3UA__DEREG__RSP& other_value);
M3UA__DEREG__RSP_template(const OPTIONAL<M3UA__DEREG__RSP>& other_value);
M3UA__DEREG__RSP_template(M3UA__DEREG__RSP_template* p_precondition, M3UA__DEREG__RSP_template* p_implied_template);
M3UA__DEREG__RSP_template(Dynamic_Match_Interface<M3UA__DEREG__RSP>* p_dyn_match);
M3UA__DEREG__RSP_template(const M3UA__DEREG__RSP_template& other_value);
~M3UA__DEREG__RSP_template();
M3UA__DEREG__RSP_template& operator=(template_sel other_value);
M3UA__DEREG__RSP_template& operator=(const M3UA__DEREG__RSP& other_value);
M3UA__DEREG__RSP_template& operator=(const OPTIONAL<M3UA__DEREG__RSP>& other_value);
M3UA__DEREG__RSP_template& operator=(const M3UA__DEREG__RSP_template& other_value);
boolean match(const M3UA__DEREG__RSP& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
M3UA__DEREG__RSP valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__DEREG__RSP_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& version();
const OCTETSTRING_template& version() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
OCTETSTRING_template& messageClassAndType();
const OCTETSTRING_template& messageClassAndType() const;
INTEGER_template& messageLength();
const INTEGER_template& messageLength() const;
M3UA__Deregistration__Results_template& messageParameters();
const M3UA__Deregistration__Results_template& messageParameters() const;
int size_of() const;
void log() const;
void log_match(const M3UA__DEREG__RSP& 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__M3UA : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_m3UA__ERR = 1, ALT_m3UA__NOTIFY = 2, ALT_m3UA__DATA = 3, ALT_m3UA__DUNA = 4, ALT_m3UA__DAVA = 5, ALT_m3UA__DAUD = 6, ALT_m3UA__SCON = 7, ALT_m3UA__DUPU = 8, ALT_m3UA__DRST = 9, ALT_m3UA__ASPUP = 10, ALT_m3UA__ASPDN = 11, ALT_m3UA__BEAT = 12, ALT_m3UA__BEAT__Ack = 13, ALT_m3UA__ASPUP__Ack = 14, ALT_m3UA__ASPDN__Ack = 15, ALT_m3UA__ASPAC = 16, ALT_m3UA__ASPIA = 17, ALT_m3UA__ASPAC__Ack = 18, ALT_m3UA__ASPIA__Ack = 19, ALT_m3UA__REG__REQ = 20, ALT_m3UA__REG__RSP = 21, ALT_m3UA__DEREG__REQ = 22, ALT_m3UA__DEREG__RSP = 23 };
private:
union_selection_type union_selection;
union {
M3UA__ERR *field_m3UA__ERR;
M3UA__NOTIFY *field_m3UA__NOTIFY;
M3UA__DATA *field_m3UA__DATA;
M3UA__DUNA *field_m3UA__DUNA;
M3UA__DAVA *field_m3UA__DAVA;
M3UA__DAUD *field_m3UA__DAUD;
M3UA__SCON *field_m3UA__SCON;
M3UA__DUPU *field_m3UA__DUPU;
M3UA__DRST *field_m3UA__DRST;
M3UA__ASPUP *field_m3UA__ASPUP;
M3UA__ASPDN *field_m3UA__ASPDN;
M3UA__BEAT *field_m3UA__BEAT;
M3UA__BEAT__Ack *field_m3UA__BEAT__Ack;
M3UA__ASPUP__Ack *field_m3UA__ASPUP__Ack;
M3UA__ASPDN__Ack *field_m3UA__ASPDN__Ack;
M3UA__ASPAC *field_m3UA__ASPAC;
M3UA__ASPIA *field_m3UA__ASPIA;
M3UA__ASPAC__Ack *field_m3UA__ASPAC__Ack;
M3UA__ASPIA__Ack *field_m3UA__ASPIA__Ack;
M3UA__REG__REQ *field_m3UA__REG__REQ;
M3UA__REG__RSP *field_m3UA__REG__RSP;
M3UA__DEREG__REQ *field_m3UA__DEREG__REQ;
M3UA__DEREG__RSP *field_m3UA__DEREG__RSP;
};
void copy_value(const PDU__M3UA& other_value);

public:
PDU__M3UA();
PDU__M3UA(const PDU__M3UA& other_value);
~PDU__M3UA();
PDU__M3UA& operator=(const PDU__M3UA& other_value);
boolean operator==(const PDU__M3UA& other_value) const;
inline boolean operator!=(const PDU__M3UA& other_value) const { return !(*this == other_value); }
M3UA__ERR& m3UA__ERR();
const M3UA__ERR& m3UA__ERR() const;
M3UA__NOTIFY& m3UA__NOTIFY();
const M3UA__NOTIFY& m3UA__NOTIFY() const;
M3UA__DATA& m3UA__DATA();
const M3UA__DATA& m3UA__DATA() const;
M3UA__DUNA& m3UA__DUNA();
const M3UA__DUNA& m3UA__DUNA() const;
M3UA__DAVA& m3UA__DAVA();
const M3UA__DAVA& m3UA__DAVA() const;
M3UA__DAUD& m3UA__DAUD();
const M3UA__DAUD& m3UA__DAUD() const;
M3UA__SCON& m3UA__SCON();
const M3UA__SCON& m3UA__SCON() const;
M3UA__DUPU& m3UA__DUPU();
const M3UA__DUPU& m3UA__DUPU() const;
M3UA__DRST& m3UA__DRST();
const M3UA__DRST& m3UA__DRST() const;
M3UA__ASPUP& m3UA__ASPUP();
const M3UA__ASPUP& m3UA__ASPUP() const;
M3UA__ASPDN& m3UA__ASPDN();
const M3UA__ASPDN& m3UA__ASPDN() const;
M3UA__BEAT& m3UA__BEAT();
const M3UA__BEAT& m3UA__BEAT() const;
M3UA__BEAT__Ack& m3UA__BEAT__Ack();
const M3UA__BEAT__Ack& m3UA__BEAT__Ack() const;
M3UA__ASPUP__Ack& m3UA__ASPUP__Ack();
const M3UA__ASPUP__Ack& m3UA__ASPUP__Ack() const;
M3UA__ASPDN__Ack& m3UA__ASPDN__Ack();
const M3UA__ASPDN__Ack& m3UA__ASPDN__Ack() const;
M3UA__ASPAC& m3UA__ASPAC();
const M3UA__ASPAC& m3UA__ASPAC() const;
M3UA__ASPIA& m3UA__ASPIA();
const M3UA__ASPIA& m3UA__ASPIA() const;
M3UA__ASPAC__Ack& m3UA__ASPAC__Ack();
const M3UA__ASPAC__Ack& m3UA__ASPAC__Ack() const;
M3UA__ASPIA__Ack& m3UA__ASPIA__Ack();
const M3UA__ASPIA__Ack& m3UA__ASPIA__Ack() const;
M3UA__REG__REQ& m3UA__REG__REQ();
const M3UA__REG__REQ& m3UA__REG__REQ() const;
M3UA__REG__RSP& m3UA__REG__RSP();
const M3UA__REG__RSP& m3UA__REG__RSP() const;
M3UA__DEREG__REQ& m3UA__DEREG__REQ();
const M3UA__DEREG__REQ& m3UA__DEREG__REQ() const;
M3UA__DEREG__RSP& m3UA__DEREG__RSP();
const M3UA__DEREG__RSP& m3UA__DEREG__RSP() 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__M3UA_template : public Base_Template {
union {
struct {
PDU__M3UA::union_selection_type union_selection;
union {
M3UA__ERR_template *field_m3UA__ERR;
M3UA__NOTIFY_template *field_m3UA__NOTIFY;
M3UA__DATA_template *field_m3UA__DATA;
M3UA__DUNA_template *field_m3UA__DUNA;
M3UA__DAVA_template *field_m3UA__DAVA;
M3UA__DAUD_template *field_m3UA__DAUD;
M3UA__SCON_template *field_m3UA__SCON;
M3UA__DUPU_template *field_m3UA__DUPU;
M3UA__DRST_template *field_m3UA__DRST;
M3UA__ASPUP_template *field_m3UA__ASPUP;
M3UA__ASPDN_template *field_m3UA__ASPDN;
M3UA__BEAT_template *field_m3UA__BEAT;
M3UA__BEAT__Ack_template *field_m3UA__BEAT__Ack;
M3UA__ASPUP__Ack_template *field_m3UA__ASPUP__Ack;
M3UA__ASPDN__Ack_template *field_m3UA__ASPDN__Ack;
M3UA__ASPAC_template *field_m3UA__ASPAC;
M3UA__ASPIA_template *field_m3UA__ASPIA;
M3UA__ASPAC__Ack_template *field_m3UA__ASPAC__Ack;
M3UA__ASPIA__Ack_template *field_m3UA__ASPIA__Ack;
M3UA__REG__REQ_template *field_m3UA__REG__REQ;
M3UA__REG__RSP_template *field_m3UA__REG__RSP;
M3UA__DEREG__REQ_template *field_m3UA__DEREG__REQ;
M3UA__DEREG__RSP_template *field_m3UA__DEREG__RSP;
};
} single_value;
struct {
unsigned int n_values;
PDU__M3UA_template *list_value;
} value_list;
struct {
PDU__M3UA_template* precondition;
PDU__M3UA_template* implied_template;
} implication_;
dynmatch_struct<PDU__M3UA>* dyn_match;
};
void copy_value(const PDU__M3UA& other_value);

void copy_template(const PDU__M3UA_template& other_value);

public:
PDU__M3UA_template();
PDU__M3UA_template(template_sel other_value);
PDU__M3UA_template(const PDU__M3UA& other_value);
PDU__M3UA_template(const OPTIONAL<PDU__M3UA>& other_value);
PDU__M3UA_template(PDU__M3UA_template* p_precondition, PDU__M3UA_template* p_implied_template);
PDU__M3UA_template(Dynamic_Match_Interface<PDU__M3UA>* p_dyn_match);
PDU__M3UA_template(const PDU__M3UA_template& other_value);
~PDU__M3UA_template();
void clean_up();
PDU__M3UA_template& operator=(template_sel other_value);
PDU__M3UA_template& operator=(const PDU__M3UA& other_value);
PDU__M3UA_template& operator=(const OPTIONAL<PDU__M3UA>& other_value);
PDU__M3UA_template& operator=(const PDU__M3UA_template& other_value);
boolean match(const PDU__M3UA& other_value, boolean legacy = FALSE) const;
boolean is_value() const;PDU__M3UA valueof() const;
PDU__M3UA_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
M3UA__ERR_template& m3UA__ERR();
const M3UA__ERR_template& m3UA__ERR() const;
M3UA__NOTIFY_template& m3UA__NOTIFY();
const M3UA__NOTIFY_template& m3UA__NOTIFY() const;
M3UA__DATA_template& m3UA__DATA();
const M3UA__DATA_template& m3UA__DATA() const;
M3UA__DUNA_template& m3UA__DUNA();
const M3UA__DUNA_template& m3UA__DUNA() const;
M3UA__DAVA_template& m3UA__DAVA();
const M3UA__DAVA_template& m3UA__DAVA() const;
M3UA__DAUD_template& m3UA__DAUD();
const M3UA__DAUD_template& m3UA__DAUD() const;
M3UA__SCON_template& m3UA__SCON();
const M3UA__SCON_template& m3UA__SCON() const;
M3UA__DUPU_template& m3UA__DUPU();
const M3UA__DUPU_template& m3UA__DUPU() const;
M3UA__DRST_template& m3UA__DRST();
const M3UA__DRST_template& m3UA__DRST() const;
M3UA__ASPUP_template& m3UA__ASPUP();
const M3UA__ASPUP_template& m3UA__ASPUP() const;
M3UA__ASPDN_template& m3UA__ASPDN();
const M3UA__ASPDN_template& m3UA__ASPDN() const;
M3UA__BEAT_template& m3UA__BEAT();
const M3UA__BEAT_template& m3UA__BEAT() const;
M3UA__BEAT__Ack_template& m3UA__BEAT__Ack();
const M3UA__BEAT__Ack_template& m3UA__BEAT__Ack() const;
M3UA__ASPUP__Ack_template& m3UA__ASPUP__Ack();
const M3UA__ASPUP__Ack_template& m3UA__ASPUP__Ack() const;
M3UA__ASPDN__Ack_template& m3UA__ASPDN__Ack();
const M3UA__ASPDN__Ack_template& m3UA__ASPDN__Ack() const;
M3UA__ASPAC_template& m3UA__ASPAC();
const M3UA__ASPAC_template& m3UA__ASPAC() const;
M3UA__ASPIA_template& m3UA__ASPIA();
const M3UA__ASPIA_template& m3UA__ASPIA() const;
M3UA__ASPAC__Ack_template& m3UA__ASPAC__Ack();
const M3UA__ASPAC__Ack_template& m3UA__ASPAC__Ack() const;
M3UA__ASPIA__Ack_template& m3UA__ASPIA__Ack();
const M3UA__ASPIA__Ack_template& m3UA__ASPIA__Ack() const;
M3UA__REG__REQ_template& m3UA__REG__REQ();
const M3UA__REG__REQ_template& m3UA__REG__REQ() const;
M3UA__REG__RSP_template& m3UA__REG__RSP();
const M3UA__REG__RSP_template& m3UA__REG__RSP() const;
M3UA__DEREG__REQ_template& m3UA__DEREG__REQ();
const M3UA__DEREG__REQ_template& m3UA__DEREG__REQ() const;
M3UA__DEREG__RSP_template& m3UA__DEREG__RSP();
const M3UA__DEREG__RSP_template& m3UA__DEREG__RSP() const;
boolean ischosen(PDU__M3UA::union_selection_type checked_selection) const;
void log() const;
void log_match(const PDU__M3UA& 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 OCTETSTRING enc__PDU__M3UA(const PDU__M3UA& pdu);
extern PDU__M3UA dec__PDU__M3UA(const OCTETSTRING& stream);
extern void M3UA__OCT0__255_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__OCT0__255_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Point__Code_encoder(const M3UA__Point__Code& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Point__Code_decoder(OCTETSTRING& input_stream, M3UA__Point__Code& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const M3UA__Point__Codes& other_value);
inline boolean operator!=(null_type null_value, const M3UA__Point__Codes& other_value) { return !(null_value == other_value); }
extern void M3UA__Point__Codes_encoder(const M3UA__Point__Codes& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Point__Codes_decoder(OCTETSTRING& input_stream, M3UA__Point__Codes& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Error__Code_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Error__Code_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Error__Code_encoder(const M3UA__Error__Code& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Error__Code_decoder(OCTETSTRING& input_stream, M3UA__Error__Code& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Routing__Context_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Routing__Context_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Routing__Context_routingContext_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Routing__Context_routingContext_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Routing__Context_encoder(const M3UA__Routing__Context& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Routing__Context_decoder(OCTETSTRING& input_stream, M3UA__Routing__Context& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Affected__Point__Codes_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Affected__Point__Codes_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Affected__Point__Codes_encoder(const M3UA__Affected__Point__Codes& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Affected__Point__Codes_decoder(OCTETSTRING& input_stream, M3UA__Affected__Point__Codes& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Network__Appearance_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Network__Appearance_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Network__Appearance_encoder(const M3UA__Network__Appearance& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Network__Appearance_decoder(OCTETSTRING& input_stream, M3UA__Network__Appearance& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Diagnostic__information_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Diagnostic__information_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Diagnostic__information_diagnosticInformation_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Diagnostic__information_diagnosticInformation_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Diagnostic__information_encoder(const M3UA__Diagnostic__information& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Diagnostic__information_decoder(OCTETSTRING& input_stream, M3UA__Diagnostic__information& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Correlation__ID_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Correlation__ID_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Correlation__ID_encoder(const M3UA__Correlation__ID& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Correlation__ID_decoder(OCTETSTRING& input_stream, M3UA__Correlation__ID& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Protocol__Data_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Protocol__Data_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Protocol__Data_userProtocolData_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Protocol__Data_userProtocolData_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Protocol__Data_encoder(const M3UA__Protocol__Data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Protocol__Data_decoder(OCTETSTRING& input_stream, M3UA__Protocol__Data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Info__String_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Info__String_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Info__String_encoder(const M3UA__Info__String& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Info__String_decoder(OCTETSTRING& input_stream, M3UA__Info__String& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Concerned__Destination_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Concerned__Destination_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Concerned__Destination_encoder(const M3UA__Concerned__Destination& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Concerned__Destination_decoder(OCTETSTRING& input_stream, M3UA__Concerned__Destination& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Congestion__Indicators_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Congestion__Indicators_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Congestion__Indicators_encoder(const M3UA__Congestion__Indicators& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Congestion__Indicators_decoder(OCTETSTRING& input_stream, M3UA__Congestion__Indicators& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__User__Cause_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__User__Cause_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__User__Cause_encoder(const M3UA__User__Cause& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__User__Cause_decoder(OCTETSTRING& input_stream, M3UA__User__Cause& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASP__Identifier_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASP__Identifier_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASP__Identifier_encoder(const M3UA__ASP__Identifier& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASP__Identifier_decoder(OCTETSTRING& input_stream, M3UA__ASP__Identifier& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Heartbeat__Data_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Heartbeat__Data_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Heartbeat__Data_heartbeat__Data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Heartbeat__Data_heartbeat__Data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Heartbeat__Data_encoder(const M3UA__Heartbeat__Data& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Heartbeat__Data_decoder(OCTETSTRING& input_stream, M3UA__Heartbeat__Data& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Traffic__Mode__Type_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Traffic__Mode__Type_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Traffic__Mode__Type_encoder(const M3UA__Traffic__Mode__Type& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Traffic__Mode__Type_decoder(OCTETSTRING& input_stream, M3UA__Traffic__Mode__Type& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Status_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Status_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Status_encoder(const M3UA__Status& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Status_decoder(OCTETSTRING& input_stream, M3UA__Status& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Local__Routing__Key__Id_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Local__Routing__Key__Id_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Local__Routing__Key__Id_encoder(const M3UA__Local__Routing__Key__Id& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Local__Routing__Key__Id_decoder(OCTETSTRING& input_stream, M3UA__Local__Routing__Key__Id& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Destination__PointCode_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Destination__PointCode_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Destination__PointCode_encoder(const M3UA__Destination__PointCode& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Destination__PointCode_decoder(OCTETSTRING& input_stream, M3UA__Destination__PointCode& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Service__Indicators_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Service__Indicators_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Service__Indicators_serviceIndicators_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Service__Indicators_serviceIndicators_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Service__Indicators_encoder(const M3UA__Service__Indicators& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Service__Indicators_decoder(OCTETSTRING& input_stream, M3UA__Service__Indicators& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__OPC__List_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__OPC__List_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__OPC__List_encoder(const M3UA__OPC__List& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__OPC__List_decoder(OCTETSTRING& input_stream, M3UA__OPC__List& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Routing__Key_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Routing__Key_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Routing__Key__Parameters_encoder(const M3UA__Routing__Key__Parameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Routing__Key__Parameters_decoder(OCTETSTRING& input_stream, M3UA__Routing__Key__Parameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Routing__Key_encoder(const M3UA__Routing__Key& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Routing__Key_decoder(OCTETSTRING& input_stream, M3UA__Routing__Key& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Registration__Status_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Registration__Status_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Registration__Status_encoder(const M3UA__Registration__Status& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Registration__Status_decoder(OCTETSTRING& input_stream, M3UA__Registration__Status& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Deregistration__Status_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Deregistration__Status_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Deregistration__Status_encoder(const M3UA__Deregistration__Status& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Deregistration__Status_decoder(OCTETSTRING& input_stream, M3UA__Deregistration__Status& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Registration__Result_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Registration__Result_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Registration__Result__Parameters_encoder(const M3UA__Registration__Result__Parameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Registration__Result__Parameters_decoder(OCTETSTRING& input_stream, M3UA__Registration__Result__Parameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Registration__Result_encoder(const M3UA__Registration__Result& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Registration__Result_decoder(OCTETSTRING& input_stream, M3UA__Registration__Result& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Deregistration__Result_lengthInd_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Deregistration__Result_lengthInd_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Deregistration__Result__Parameters_encoder(const M3UA__Deregistration__Result__Parameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Deregistration__Result__Parameters_decoder(OCTETSTRING& input_stream, M3UA__Deregistration__Result__Parameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__Deregistration__Result_encoder(const M3UA__Deregistration__Result& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Deregistration__Result_decoder(OCTETSTRING& input_stream, M3UA__Deregistration__Result& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ERR_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ERR_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ERR__MessageParameters_encoder(const M3UA__ERR__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ERR__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ERR__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ERR_encoder(const M3UA__ERR& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ERR_decoder(OCTETSTRING& input_stream, M3UA__ERR& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__NOTIFY_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__NOTIFY_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__NOTIFY__MessageParameters_encoder(const M3UA__NOTIFY__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__NOTIFY__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__NOTIFY__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__NOTIFY_encoder(const M3UA__NOTIFY& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__NOTIFY_decoder(OCTETSTRING& input_stream, M3UA__NOTIFY& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DATA_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DATA_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DATA__MessageParameters_encoder(const M3UA__DATA__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DATA__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__DATA__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DATA_encoder(const M3UA__DATA& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DATA_decoder(OCTETSTRING& input_stream, M3UA__DATA& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DUNA_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DUNA_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DUNA__MessageParameters_encoder(const M3UA__DUNA__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DUNA__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__DUNA__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DUNA_encoder(const M3UA__DUNA& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DUNA_decoder(OCTETSTRING& input_stream, M3UA__DUNA& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DAVA_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DAVA_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DAVA__MessageParameters_encoder(const M3UA__DAVA__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DAVA__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__DAVA__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DAVA_encoder(const M3UA__DAVA& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DAVA_decoder(OCTETSTRING& input_stream, M3UA__DAVA& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DAUD_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DAUD_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DAUD__MessageParameters_encoder(const M3UA__DAUD__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DAUD__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__DAUD__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DAUD_encoder(const M3UA__DAUD& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DAUD_decoder(OCTETSTRING& input_stream, M3UA__DAUD& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__SCON_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__SCON_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__SCON__MessageParameters_encoder(const M3UA__SCON__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__SCON__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__SCON__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__SCON_encoder(const M3UA__SCON& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__SCON_decoder(OCTETSTRING& input_stream, M3UA__SCON& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DUPU_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DUPU_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DUPU__MessageParameters_encoder(const M3UA__DUPU__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DUPU__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__DUPU__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DUPU_encoder(const M3UA__DUPU& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DUPU_decoder(OCTETSTRING& input_stream, M3UA__DUPU& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DRST_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DRST_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DRST_messageParameters_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DRST_messageParameters_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DRST_encoder(const M3UA__DRST& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DRST_decoder(OCTETSTRING& input_stream, M3UA__DRST& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPUP_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPUP_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPUP__MessageParameters_encoder(const M3UA__ASPUP__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPUP__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ASPUP__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPUP_encoder(const M3UA__ASPUP& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPUP_decoder(OCTETSTRING& input_stream, M3UA__ASPUP& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPUP__Ack_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPUP__Ack_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPUP__Ack__MessageParameters_encoder(const M3UA__ASPUP__Ack__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPUP__Ack__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ASPUP__Ack__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPUP__Ack_encoder(const M3UA__ASPUP__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPUP__Ack_decoder(OCTETSTRING& input_stream, M3UA__ASPUP__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPDN_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPDN_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPDN__MessageParameters_encoder(const M3UA__ASPDN__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPDN__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ASPDN__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPDN_encoder(const M3UA__ASPDN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPDN_decoder(OCTETSTRING& input_stream, M3UA__ASPDN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPDN__Ack_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPDN__Ack_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPDN__Ack__MessageParameters_encoder(const M3UA__ASPDN__Ack__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPDN__Ack__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ASPDN__Ack__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPDN__Ack_encoder(const M3UA__ASPDN__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPDN__Ack_decoder(OCTETSTRING& input_stream, M3UA__ASPDN__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__BEAT_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__BEAT_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__BEAT__MessageParameters_encoder(const M3UA__BEAT__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__BEAT__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__BEAT__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__BEAT_encoder(const M3UA__BEAT& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__BEAT_decoder(OCTETSTRING& input_stream, M3UA__BEAT& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__BEAT__Ack_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__BEAT__Ack_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__BEAT__Ack__MessageParameters_encoder(const M3UA__BEAT__Ack__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__BEAT__Ack__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__BEAT__Ack__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__BEAT__Ack_encoder(const M3UA__BEAT__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__BEAT__Ack_decoder(OCTETSTRING& input_stream, M3UA__BEAT__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPAC_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPAC_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPAC__MessageParameters_encoder(const M3UA__ASPAC__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPAC__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ASPAC__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPAC_encoder(const M3UA__ASPAC& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPAC_decoder(OCTETSTRING& input_stream, M3UA__ASPAC& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPAC__Ack_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPAC__Ack_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPAC__Ack__MessageParameters_encoder(const M3UA__ASPAC__Ack__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPAC__Ack__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ASPAC__Ack__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPAC__Ack_encoder(const M3UA__ASPAC__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPAC__Ack_decoder(OCTETSTRING& input_stream, M3UA__ASPAC__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPIA_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPIA_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPIA__MessageParameters_encoder(const M3UA__ASPIA__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPIA__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ASPIA__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPIA_encoder(const M3UA__ASPIA& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPIA_decoder(OCTETSTRING& input_stream, M3UA__ASPIA& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPIA__Ack_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPIA__Ack_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPIA__Ack__MessageParameters_encoder(const M3UA__ASPIA__Ack__MessageParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPIA__Ack__MessageParameters_decoder(OCTETSTRING& input_stream, M3UA__ASPIA__Ack__MessageParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__ASPIA__Ack_encoder(const M3UA__ASPIA__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__ASPIA__Ack_decoder(OCTETSTRING& input_stream, M3UA__ASPIA__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__REG__REQ_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__REG__REQ_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const M3UA__Routing__Keys& other_value);
inline boolean operator!=(null_type null_value, const M3UA__Routing__Keys& other_value) { return !(null_value == other_value); }
extern void M3UA__Routing__Keys_encoder(const M3UA__Routing__Keys& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Routing__Keys_decoder(OCTETSTRING& input_stream, M3UA__Routing__Keys& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__REG__REQ_encoder(const M3UA__REG__REQ& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__REG__REQ_decoder(OCTETSTRING& input_stream, M3UA__REG__REQ& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__REG__RSP_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__REG__RSP_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const M3UA__Registration__Results& other_value);
inline boolean operator!=(null_type null_value, const M3UA__Registration__Results& other_value) { return !(null_value == other_value); }
extern void M3UA__Registration__Results_encoder(const M3UA__Registration__Results& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Registration__Results_decoder(OCTETSTRING& input_stream, M3UA__Registration__Results& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__REG__RSP_encoder(const M3UA__REG__RSP& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__REG__RSP_decoder(OCTETSTRING& input_stream, M3UA__REG__RSP& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DEREG__REQ_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DEREG__REQ_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DEREG__REQ__MsgParams_encoder(const M3UA__DEREG__REQ__MsgParams& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DEREG__REQ__MsgParams_decoder(OCTETSTRING& input_stream, M3UA__DEREG__REQ__MsgParams& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DEREG__REQ_encoder(const M3UA__DEREG__REQ& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DEREG__REQ_decoder(OCTETSTRING& input_stream, M3UA__DEREG__REQ& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DEREG__RSP_messageLength_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DEREG__RSP_messageLength_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const M3UA__Deregistration__Results& other_value);
inline boolean operator!=(null_type null_value, const M3UA__Deregistration__Results& other_value) { return !(null_value == other_value); }
extern void M3UA__Deregistration__Results_encoder(const M3UA__Deregistration__Results& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__Deregistration__Results_decoder(OCTETSTRING& input_stream, M3UA__Deregistration__Results& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void M3UA__DEREG__RSP_encoder(const M3UA__DEREG__RSP& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER M3UA__DEREG__RSP_decoder(OCTETSTRING& input_stream, M3UA__DEREG__RSP& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__M3UA_encoder(const PDU__M3UA& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__M3UA_decoder(OCTETSTRING& input_stream, PDU__M3UA& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const XERdescriptor_t M3UA__OCT0__255_xer_;
extern const TTCN_OERdescriptor_t M3UA__OCT0__255_oer_;
extern const TTCN_Typedescriptor_t M3UA__OCT0__255_descr_;
extern UNIVERSAL_CHARSTRING M3UA__OCT0__255_default_coding;
extern const XERdescriptor_t M3UA__Point__Code_mask_xer_;
extern const TTCN_OERdescriptor_t M3UA__Point__Code_mask_oer_;
extern const TTCN_Typedescriptor_t M3UA__Point__Code_mask_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Point__Code_mask_default_coding;
extern const XERdescriptor_t M3UA__Point__Code_affected__Point__Code_xer_;
extern const TTCN_OERdescriptor_t M3UA__Point__Code_affected__Point__Code_oer_;
extern const TTCN_Typedescriptor_t M3UA__Point__Code_affected__Point__Code_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Point__Code_affected__Point__Code_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Point__Code_raw_;
extern const TTCN_Typedescriptor_t M3UA__Point__Code_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Point__Code_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Point__Codes_raw_;
extern const TTCN_Typedescriptor_t M3UA__Point__Codes_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Point__Codes_0_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Point__Codes_default_coding;
extern const XERdescriptor_t M3UA__Error__Code_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Error__Code_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Error__Code_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Error__Code_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Error__Code_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Error__Code_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Error__Code_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Error__Code_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Error__Code_errorCode_xer_;
extern const TTCN_OERdescriptor_t M3UA__Error__Code_errorCode_oer_;
extern const TTCN_Typedescriptor_t M3UA__Error__Code_errorCode_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Error__Code_errorCode_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Error__Code_raw_;
extern const TTCN_Typedescriptor_t M3UA__Error__Code_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Error__Code_default_coding;
extern const XERdescriptor_t M3UA__Routing__Context_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Routing__Context_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Context_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Context_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Routing__Context_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Routing__Context_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Context_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Context_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Routing__Context_routingContext_xer_;
extern const TTCN_OERdescriptor_t M3UA__Routing__Context_routingContext_oer_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Context_routingContext_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Context_routingContext_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Routing__Context_raw_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Context_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Context_default_coding;
extern const XERdescriptor_t M3UA__Affected__Point__Codes_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Affected__Point__Codes_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Affected__Point__Codes_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Affected__Point__Codes_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Affected__Point__Codes_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Affected__Point__Codes_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Affected__Point__Codes_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Affected__Point__Codes_lengthInd_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Affected__Point__Codes_pointCodes_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Affected__Point__Codes_raw_;
extern const TTCN_Typedescriptor_t M3UA__Affected__Point__Codes_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Affected__Point__Codes_default_coding;
extern const XERdescriptor_t M3UA__Network__Appearance_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Network__Appearance_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Network__Appearance_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Network__Appearance_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Network__Appearance_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Network__Appearance_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Network__Appearance_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Network__Appearance_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Network__Appearance_networkAppearance_xer_;
extern const TTCN_OERdescriptor_t M3UA__Network__Appearance_networkAppearance_oer_;
extern const TTCN_Typedescriptor_t M3UA__Network__Appearance_networkAppearance_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Network__Appearance_networkAppearance_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Network__Appearance_raw_;
extern const TTCN_Typedescriptor_t M3UA__Network__Appearance_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Network__Appearance_default_coding;
extern const XERdescriptor_t M3UA__Diagnostic__information_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Diagnostic__information_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Diagnostic__information_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Diagnostic__information_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Diagnostic__information_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Diagnostic__information_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Diagnostic__information_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Diagnostic__information_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Diagnostic__information_diagnosticInformation_xer_;
extern const TTCN_OERdescriptor_t M3UA__Diagnostic__information_diagnosticInformation_oer_;
extern const TTCN_Typedescriptor_t M3UA__Diagnostic__information_diagnosticInformation_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Diagnostic__information_diagnosticInformation_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Diagnostic__information_raw_;
extern const TTCN_Typedescriptor_t M3UA__Diagnostic__information_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Diagnostic__information_default_coding;
extern const XERdescriptor_t M3UA__Correlation__ID_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Correlation__ID_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Correlation__ID_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Correlation__ID_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Correlation__ID_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Correlation__ID_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Correlation__ID_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Correlation__ID_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Correlation__ID_correlationID_xer_;
extern const TTCN_OERdescriptor_t M3UA__Correlation__ID_correlationID_oer_;
extern const TTCN_Typedescriptor_t M3UA__Correlation__ID_correlationID_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Correlation__ID_correlationID_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Correlation__ID_raw_;
extern const TTCN_Typedescriptor_t M3UA__Correlation__ID_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Correlation__ID_default_coding;
extern const XERdescriptor_t M3UA__Protocol__Data_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Protocol__Data_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Protocol__Data_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Protocol__Data_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Protocol__Data_oPC_xer_;
extern const TTCN_OERdescriptor_t M3UA__Protocol__Data_oPC_oer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_oPC_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_oPC_default_coding;
extern const XERdescriptor_t M3UA__Protocol__Data_dPC_xer_;
extern const TTCN_OERdescriptor_t M3UA__Protocol__Data_dPC_oer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_dPC_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_dPC_default_coding;
extern const XERdescriptor_t M3UA__Protocol__Data_sI_xer_;
extern const TTCN_OERdescriptor_t M3UA__Protocol__Data_sI_oer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_sI_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_sI_default_coding;
extern const XERdescriptor_t M3UA__Protocol__Data_nI_xer_;
extern const TTCN_OERdescriptor_t M3UA__Protocol__Data_nI_oer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_nI_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_nI_default_coding;
extern const XERdescriptor_t M3UA__Protocol__Data_mP_xer_;
extern const TTCN_OERdescriptor_t M3UA__Protocol__Data_mP_oer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_mP_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_mP_default_coding;
extern const XERdescriptor_t M3UA__Protocol__Data_sLS_xer_;
extern const TTCN_OERdescriptor_t M3UA__Protocol__Data_sLS_oer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_sLS_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_sLS_default_coding;
extern const XERdescriptor_t M3UA__Protocol__Data_userProtocolData_xer_;
extern const TTCN_OERdescriptor_t M3UA__Protocol__Data_userProtocolData_oer_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_userProtocolData_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_userProtocolData_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Protocol__Data_raw_;
extern const TTCN_Typedescriptor_t M3UA__Protocol__Data_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Protocol__Data_default_coding;
extern const XERdescriptor_t M3UA__Info__String_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Info__String_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Info__String_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Info__String_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Info__String_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Info__String_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Info__String_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Info__String_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Info__String_infoString_xer_;
extern const TTCN_OERdescriptor_t M3UA__Info__String_infoString_oer_;
extern const TTCN_Typedescriptor_t M3UA__Info__String_infoString_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Info__String_infoString_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Info__String_raw_;
extern const TTCN_Typedescriptor_t M3UA__Info__String_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Info__String_default_coding;
extern const XERdescriptor_t M3UA__Concerned__Destination_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Concerned__Destination_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Concerned__Destination_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Concerned__Destination_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Concerned__Destination_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Concerned__Destination_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Concerned__Destination_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Concerned__Destination_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Concerned__Destination_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__Concerned__Destination_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__Concerned__Destination_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Concerned__Destination_reserved_default_coding;
extern const XERdescriptor_t M3UA__Concerned__Destination_concernedDestination_xer_;
extern const TTCN_OERdescriptor_t M3UA__Concerned__Destination_concernedDestination_oer_;
extern const TTCN_Typedescriptor_t M3UA__Concerned__Destination_concernedDestination_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Concerned__Destination_concernedDestination_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Concerned__Destination_raw_;
extern const TTCN_Typedescriptor_t M3UA__Concerned__Destination_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Concerned__Destination_default_coding;
extern const XERdescriptor_t M3UA__Congestion__Indicators_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Congestion__Indicators_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Congestion__Indicators_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Congestion__Indicators_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Congestion__Indicators_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Congestion__Indicators_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Congestion__Indicators_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Congestion__Indicators_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Congestion__Indicators_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__Congestion__Indicators_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__Congestion__Indicators_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Congestion__Indicators_reserved_default_coding;
extern const XERdescriptor_t M3UA__Congestion__Indicators_congestionLevel_xer_;
extern const TTCN_OERdescriptor_t M3UA__Congestion__Indicators_congestionLevel_oer_;
extern const TTCN_Typedescriptor_t M3UA__Congestion__Indicators_congestionLevel_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Congestion__Indicators_congestionLevel_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Congestion__Indicators_raw_;
extern const TTCN_Typedescriptor_t M3UA__Congestion__Indicators_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Congestion__Indicators_default_coding;
extern const XERdescriptor_t M3UA__User__Cause_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__User__Cause_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__User__Cause_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__User__Cause_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__User__Cause_lengthInd_raw_;
extern const XERdescriptor_t M3UA__User__Cause_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__User__Cause_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__User__Cause_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__User__Cause_cause_xer_;
extern const TTCN_OERdescriptor_t M3UA__User__Cause_cause_oer_;
extern const TTCN_Typedescriptor_t M3UA__User__Cause_cause_descr_;
extern UNIVERSAL_CHARSTRING M3UA__User__Cause_cause_default_coding;
extern const XERdescriptor_t M3UA__User__Cause_user_xer_;
extern const TTCN_OERdescriptor_t M3UA__User__Cause_user_oer_;
extern const TTCN_Typedescriptor_t M3UA__User__Cause_user_descr_;
extern UNIVERSAL_CHARSTRING M3UA__User__Cause_user_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__User__Cause_raw_;
extern const TTCN_Typedescriptor_t M3UA__User__Cause_descr_;
extern UNIVERSAL_CHARSTRING M3UA__User__Cause_default_coding;
extern const XERdescriptor_t M3UA__ASP__Identifier_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASP__Identifier_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASP__Identifier_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASP__Identifier_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASP__Identifier_lengthInd_raw_;
extern const XERdescriptor_t M3UA__ASP__Identifier_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASP__Identifier_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASP__Identifier_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__ASP__Identifier_aSPIdentifier_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASP__Identifier_aSPIdentifier_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASP__Identifier_aSPIdentifier_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASP__Identifier_aSPIdentifier_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASP__Identifier_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASP__Identifier_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASP__Identifier_default_coding;
extern const XERdescriptor_t M3UA__Heartbeat__Data_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Heartbeat__Data_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Heartbeat__Data_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Heartbeat__Data_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Heartbeat__Data_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Heartbeat__Data_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Heartbeat__Data_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Heartbeat__Data_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Heartbeat__Data_heartbeat__Data_xer_;
extern const TTCN_OERdescriptor_t M3UA__Heartbeat__Data_heartbeat__Data_oer_;
extern const TTCN_Typedescriptor_t M3UA__Heartbeat__Data_heartbeat__Data_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Heartbeat__Data_heartbeat__Data_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Heartbeat__Data_raw_;
extern const TTCN_Typedescriptor_t M3UA__Heartbeat__Data_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Heartbeat__Data_default_coding;
extern const XERdescriptor_t M3UA__Traffic__Mode__Type_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Traffic__Mode__Type_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Traffic__Mode__Type_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Traffic__Mode__Type_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Traffic__Mode__Type_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Traffic__Mode__Type_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Traffic__Mode__Type_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Traffic__Mode__Type_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Traffic__Mode__Type_trafficModeType_xer_;
extern const TTCN_OERdescriptor_t M3UA__Traffic__Mode__Type_trafficModeType_oer_;
extern const TTCN_Typedescriptor_t M3UA__Traffic__Mode__Type_trafficModeType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Traffic__Mode__Type_trafficModeType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Traffic__Mode__Type_raw_;
extern const TTCN_Typedescriptor_t M3UA__Traffic__Mode__Type_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Traffic__Mode__Type_default_coding;
extern const XERdescriptor_t M3UA__Status_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Status_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Status_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Status_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Status_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Status_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Status_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Status_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Status_statusType_xer_;
extern const TTCN_OERdescriptor_t M3UA__Status_statusType_oer_;
extern const TTCN_Typedescriptor_t M3UA__Status_statusType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Status_statusType_default_coding;
extern const XERdescriptor_t M3UA__Status_statusInfo_xer_;
extern const TTCN_OERdescriptor_t M3UA__Status_statusInfo_oer_;
extern const TTCN_Typedescriptor_t M3UA__Status_statusInfo_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Status_statusInfo_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Status_raw_;
extern const TTCN_Typedescriptor_t M3UA__Status_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Status_default_coding;
extern const XERdescriptor_t M3UA__Local__Routing__Key__Id_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Local__Routing__Key__Id_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Local__Routing__Key__Id_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Local__Routing__Key__Id_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Local__Routing__Key__Id_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Local__Routing__Key__Id_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Local__Routing__Key__Id_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Local__Routing__Key__Id_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Local__Routing__Key__Id_localRkId_xer_;
extern const TTCN_OERdescriptor_t M3UA__Local__Routing__Key__Id_localRkId_oer_;
extern const TTCN_Typedescriptor_t M3UA__Local__Routing__Key__Id_localRkId_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Local__Routing__Key__Id_localRkId_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Local__Routing__Key__Id_raw_;
extern const TTCN_Typedescriptor_t M3UA__Local__Routing__Key__Id_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Local__Routing__Key__Id_default_coding;
extern const XERdescriptor_t M3UA__Destination__PointCode_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Destination__PointCode_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Destination__PointCode_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Destination__PointCode_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Destination__PointCode_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Destination__PointCode_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Destination__PointCode_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Destination__PointCode_lengthInd_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Destination__PointCode_pointCode_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Destination__PointCode_raw_;
extern const TTCN_Typedescriptor_t M3UA__Destination__PointCode_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Destination__PointCode_default_coding;
extern const XERdescriptor_t M3UA__Service__Indicators_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Service__Indicators_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Service__Indicators_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Service__Indicators_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Service__Indicators_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Service__Indicators_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Service__Indicators_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Service__Indicators_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Service__Indicators_serviceIndicators_xer_;
extern const TTCN_OERdescriptor_t M3UA__Service__Indicators_serviceIndicators_oer_;
extern const TTCN_Typedescriptor_t M3UA__Service__Indicators_serviceIndicators_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Service__Indicators_serviceIndicators_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Service__Indicators_raw_;
extern const TTCN_Typedescriptor_t M3UA__Service__Indicators_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Service__Indicators_default_coding;
extern const XERdescriptor_t M3UA__OPC__List_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__OPC__List_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__OPC__List_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__OPC__List_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__OPC__List_lengthInd_raw_;
extern const XERdescriptor_t M3UA__OPC__List_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__OPC__List_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__OPC__List_lengthInd_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__OPC__List_pointCodes_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__OPC__List_raw_;
extern const TTCN_Typedescriptor_t M3UA__OPC__List_descr_;
extern UNIVERSAL_CHARSTRING M3UA__OPC__List_default_coding;
extern const XERdescriptor_t M3UA__Routing__Key_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Routing__Key_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Key_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Routing__Key_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Routing__Key_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Key_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key_lengthInd_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key__Parameters_local__Routing__Key__Id_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key__Parameters_destination__Point__Code_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Routing__Key__Parameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Key__Parameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key__Parameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key__Parameters_traffic__Mode__Type_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key__Parameters_network__Appearance_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key__Parameters_service__Indicators_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key__Parameters_opc__List_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key__Parameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key_routingKey_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Routing__Key_raw_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Key_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Key_default_coding;
extern const XERdescriptor_t M3UA__Registration__Status_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Registration__Status_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Status_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Status_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Registration__Status_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Registration__Status_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Status_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Status_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Registration__Status_registrationStatus_xer_;
extern const TTCN_OERdescriptor_t M3UA__Registration__Status_registrationStatus_oer_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Status_registrationStatus_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Status_registrationStatus_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Registration__Status_raw_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Status_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Status_default_coding;
extern const XERdescriptor_t M3UA__Deregistration__Status_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Deregistration__Status_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Status_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Status_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Deregistration__Status_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Deregistration__Status_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Status_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Status_lengthInd_default_coding;
extern const XERdescriptor_t M3UA__Deregistration__Status_deregistrationStatus_xer_;
extern const TTCN_OERdescriptor_t M3UA__Deregistration__Status_deregistrationStatus_oer_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Status_deregistrationStatus_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Status_deregistrationStatus_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Deregistration__Status_raw_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Status_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Status_default_coding;
extern const XERdescriptor_t M3UA__Registration__Result_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Registration__Result_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Result_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Result_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Registration__Result_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Registration__Result_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Result_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Result_lengthInd_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Result__Parameters_local__Routing__Key__Id_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Result__Parameters_registration__Status_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Result__Parameters_routing__Context_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Registration__Result__Parameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Result__Parameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Result__Parameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Result_registrationResult_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Registration__Result_raw_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Result_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Result_default_coding;
extern const XERdescriptor_t M3UA__Deregistration__Result_tag_xer_;
extern const TTCN_OERdescriptor_t M3UA__Deregistration__Result_tag_oer_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Result_tag_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Result_tag_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Deregistration__Result_lengthInd_raw_;
extern const XERdescriptor_t M3UA__Deregistration__Result_lengthInd_xer_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Result_lengthInd_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Result_lengthInd_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Result__Parameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Result__Parameters_deregistration__Status_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Deregistration__Result__Parameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Result__Parameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Result__Parameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Result_deregistrationResult_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Deregistration__Result_raw_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Result_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Result_default_coding;
extern const XERdescriptor_t M3UA__ERR_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ERR_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ERR_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ERR_version_default_coding;
extern const XERdescriptor_t M3UA__ERR_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ERR_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ERR_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ERR_reserved_default_coding;
extern const XERdescriptor_t M3UA__ERR_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ERR_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ERR_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ERR_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ERR_messageLength_raw_;
extern const XERdescriptor_t M3UA__ERR_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ERR_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ERR_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ERR__MessageParameters_error__Code_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ERR__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ERR__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ERR__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ERR__MessageParameters_affected__Point__Codes_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ERR__MessageParameters_network__Appearance_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ERR__MessageParameters_diagnostic__information_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ERR__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ERR_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ERR_raw_;
extern const TTCN_Typedescriptor_t M3UA__ERR_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ERR_default_coding;
extern const XERdescriptor_t M3UA__NOTIFY_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__NOTIFY_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__NOTIFY_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY_version_default_coding;
extern const XERdescriptor_t M3UA__NOTIFY_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__NOTIFY_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__NOTIFY_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY_reserved_default_coding;
extern const XERdescriptor_t M3UA__NOTIFY_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__NOTIFY_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__NOTIFY_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__NOTIFY_messageLength_raw_;
extern const XERdescriptor_t M3UA__NOTIFY_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__NOTIFY_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY__MessageParameters_status_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__NOTIFY__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__NOTIFY__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY__MessageParameters_aSP__Identifier_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__NOTIFY_raw_;
extern const TTCN_Typedescriptor_t M3UA__NOTIFY_descr_;
extern UNIVERSAL_CHARSTRING M3UA__NOTIFY_default_coding;
extern const XERdescriptor_t M3UA__DATA_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__DATA_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__DATA_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DATA_version_default_coding;
extern const XERdescriptor_t M3UA__DATA_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__DATA_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__DATA_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DATA_reserved_default_coding;
extern const XERdescriptor_t M3UA__DATA_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__DATA_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__DATA_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DATA_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DATA_messageLength_raw_;
extern const XERdescriptor_t M3UA__DATA_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__DATA_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DATA_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DATA__MessageParameters_protocol__Data_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DATA__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__DATA__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DATA__MessageParameters_network__Appearance_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DATA__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DATA__MessageParameters_correlation__ID_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DATA__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DATA_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DATA_raw_;
extern const TTCN_Typedescriptor_t M3UA__DATA_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DATA_default_coding;
extern const XERdescriptor_t M3UA__DUNA_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__DUNA_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__DUNA_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUNA_version_default_coding;
extern const XERdescriptor_t M3UA__DUNA_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__DUNA_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__DUNA_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUNA_reserved_default_coding;
extern const XERdescriptor_t M3UA__DUNA_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__DUNA_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__DUNA_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUNA_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DUNA_messageLength_raw_;
extern const XERdescriptor_t M3UA__DUNA_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__DUNA_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUNA_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUNA__MessageParameters_affected__Point__Codes_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DUNA__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__DUNA__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUNA__MessageParameters_network__Appearance_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUNA__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUNA__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUNA__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUNA_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DUNA_raw_;
extern const TTCN_Typedescriptor_t M3UA__DUNA_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUNA_default_coding;
extern const XERdescriptor_t M3UA__DAVA_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__DAVA_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__DAVA_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAVA_version_default_coding;
extern const XERdescriptor_t M3UA__DAVA_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__DAVA_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__DAVA_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAVA_reserved_default_coding;
extern const XERdescriptor_t M3UA__DAVA_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__DAVA_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__DAVA_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAVA_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DAVA_messageLength_raw_;
extern const XERdescriptor_t M3UA__DAVA_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__DAVA_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAVA_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAVA__MessageParameters_affected__Point__Codes_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DAVA__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__DAVA__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAVA__MessageParameters_network__Appearance_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAVA__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAVA__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAVA__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAVA_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DAVA_raw_;
extern const TTCN_Typedescriptor_t M3UA__DAVA_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAVA_default_coding;
extern const XERdescriptor_t M3UA__DAUD_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__DAUD_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__DAUD_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAUD_version_default_coding;
extern const XERdescriptor_t M3UA__DAUD_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__DAUD_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__DAUD_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAUD_reserved_default_coding;
extern const XERdescriptor_t M3UA__DAUD_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__DAUD_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__DAUD_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAUD_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DAUD_messageLength_raw_;
extern const XERdescriptor_t M3UA__DAUD_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__DAUD_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAUD_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAUD__MessageParameters_affected__Point__Codes_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DAUD__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__DAUD__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAUD__MessageParameters_network__Appearance_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAUD__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAUD__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAUD__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DAUD_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DAUD_raw_;
extern const TTCN_Typedescriptor_t M3UA__DAUD_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DAUD_default_coding;
extern const XERdescriptor_t M3UA__SCON_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__SCON_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__SCON_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__SCON_version_default_coding;
extern const XERdescriptor_t M3UA__SCON_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__SCON_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__SCON_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__SCON_reserved_default_coding;
extern const XERdescriptor_t M3UA__SCON_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__SCON_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__SCON_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__SCON_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__SCON_messageLength_raw_;
extern const XERdescriptor_t M3UA__SCON_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__SCON_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__SCON_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__SCON__MessageParameters_affected__Point__Codes_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__SCON__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__SCON__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__SCON__MessageParameters_network__Appearance_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__SCON__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__SCON__MessageParameters_concerned__Destination_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__SCON__MessageParameters_congestion__Indicators_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__SCON__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__SCON__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__SCON_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__SCON_raw_;
extern const TTCN_Typedescriptor_t M3UA__SCON_descr_;
extern UNIVERSAL_CHARSTRING M3UA__SCON_default_coding;
extern const XERdescriptor_t M3UA__DUPU_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__DUPU_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__DUPU_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUPU_version_default_coding;
extern const XERdescriptor_t M3UA__DUPU_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__DUPU_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__DUPU_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUPU_reserved_default_coding;
extern const XERdescriptor_t M3UA__DUPU_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__DUPU_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__DUPU_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUPU_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DUPU_messageLength_raw_;
extern const XERdescriptor_t M3UA__DUPU_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__DUPU_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUPU_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUPU__MessageParameters_affected__Point__Codes_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUPU__MessageParameters_user__Cause_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DUPU__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__DUPU__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUPU__MessageParameters_network__Appearance_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUPU__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUPU__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUPU__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DUPU_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DUPU_raw_;
extern const TTCN_Typedescriptor_t M3UA__DUPU_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DUPU_default_coding;
extern const XERdescriptor_t M3UA__DRST_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__DRST_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__DRST_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DRST_version_default_coding;
extern const XERdescriptor_t M3UA__DRST_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__DRST_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__DRST_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DRST_reserved_default_coding;
extern const XERdescriptor_t M3UA__DRST_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__DRST_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__DRST_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DRST_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DRST_messageLength_raw_;
extern const XERdescriptor_t M3UA__DRST_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__DRST_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DRST_messageLength_default_coding;
extern const XERdescriptor_t M3UA__DRST_messageParameters_xer_;
extern const TTCN_OERdescriptor_t M3UA__DRST_messageParameters_oer_;
extern const TTCN_Typedescriptor_t M3UA__DRST_messageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DRST_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DRST_raw_;
extern const TTCN_Typedescriptor_t M3UA__DRST_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DRST_default_coding;
extern const XERdescriptor_t M3UA__ASPUP_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPUP_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP_version_default_coding;
extern const XERdescriptor_t M3UA__ASPUP_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPUP_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP_reserved_default_coding;
extern const XERdescriptor_t M3UA__ASPUP_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPUP_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPUP_messageLength_raw_;
extern const XERdescriptor_t M3UA__ASPUP_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPUP__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__MessageParameters_aSP__Identifier_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPUP_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP_default_coding;
extern const XERdescriptor_t M3UA__ASPUP__Ack_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPUP__Ack_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP__Ack_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__Ack_version_default_coding;
extern const XERdescriptor_t M3UA__ASPUP__Ack_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPUP__Ack_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP__Ack_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__Ack_reserved_default_coding;
extern const XERdescriptor_t M3UA__ASPUP__Ack_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPUP__Ack_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP__Ack_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__Ack_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPUP__Ack_messageLength_raw_;
extern const XERdescriptor_t M3UA__ASPUP__Ack_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP__Ack_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__Ack_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPUP__Ack__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP__Ack__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__Ack__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__Ack__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__Ack_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPUP__Ack_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPUP__Ack_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPUP__Ack_default_coding;
extern const XERdescriptor_t M3UA__ASPDN_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPDN_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN_version_default_coding;
extern const XERdescriptor_t M3UA__ASPDN_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPDN_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN_reserved_default_coding;
extern const XERdescriptor_t M3UA__ASPDN_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPDN_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPDN_messageLength_raw_;
extern const XERdescriptor_t M3UA__ASPDN_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPDN__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPDN_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN_default_coding;
extern const XERdescriptor_t M3UA__ASPDN__Ack_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPDN__Ack_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN__Ack_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__Ack_version_default_coding;
extern const XERdescriptor_t M3UA__ASPDN__Ack_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPDN__Ack_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN__Ack_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__Ack_reserved_default_coding;
extern const XERdescriptor_t M3UA__ASPDN__Ack_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPDN__Ack_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN__Ack_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__Ack_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPDN__Ack_messageLength_raw_;
extern const XERdescriptor_t M3UA__ASPDN__Ack_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN__Ack_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__Ack_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPDN__Ack__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN__Ack__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__Ack__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__Ack__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__Ack_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPDN__Ack_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPDN__Ack_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPDN__Ack_default_coding;
extern const XERdescriptor_t M3UA__BEAT_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__BEAT_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__BEAT_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT_version_default_coding;
extern const XERdescriptor_t M3UA__BEAT_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__BEAT_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__BEAT_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT_reserved_default_coding;
extern const XERdescriptor_t M3UA__BEAT_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__BEAT_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__BEAT_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__BEAT_messageLength_raw_;
extern const XERdescriptor_t M3UA__BEAT_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__BEAT_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__BEAT__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__BEAT__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__MessageParameters_heartbeat__Data_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__BEAT_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__BEAT_raw_;
extern const TTCN_Typedescriptor_t M3UA__BEAT_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT_default_coding;
extern const XERdescriptor_t M3UA__BEAT__Ack_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__BEAT__Ack_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__BEAT__Ack_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__Ack_version_default_coding;
extern const XERdescriptor_t M3UA__BEAT__Ack_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__BEAT__Ack_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__BEAT__Ack_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__Ack_reserved_default_coding;
extern const XERdescriptor_t M3UA__BEAT__Ack_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__BEAT__Ack_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__BEAT__Ack_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__Ack_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__BEAT__Ack_messageLength_raw_;
extern const XERdescriptor_t M3UA__BEAT__Ack_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__BEAT__Ack_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__Ack_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__BEAT__Ack__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__BEAT__Ack__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__Ack__MessageParameters_heartbeat__Data_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__Ack__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__Ack_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__BEAT__Ack_raw_;
extern const TTCN_Typedescriptor_t M3UA__BEAT__Ack_descr_;
extern UNIVERSAL_CHARSTRING M3UA__BEAT__Ack_default_coding;
extern const XERdescriptor_t M3UA__ASPAC_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPAC_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC_version_default_coding;
extern const XERdescriptor_t M3UA__ASPAC_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPAC_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC_reserved_default_coding;
extern const XERdescriptor_t M3UA__ASPAC_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPAC_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPAC_messageLength_raw_;
extern const XERdescriptor_t M3UA__ASPAC_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPAC__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__MessageParameters_traffic__Mode__Type_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPAC_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC_default_coding;
extern const XERdescriptor_t M3UA__ASPAC__Ack_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPAC__Ack_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC__Ack_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack_version_default_coding;
extern const XERdescriptor_t M3UA__ASPAC__Ack_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPAC__Ack_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC__Ack_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack_reserved_default_coding;
extern const XERdescriptor_t M3UA__ASPAC__Ack_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPAC__Ack_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC__Ack_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPAC__Ack_messageLength_raw_;
extern const XERdescriptor_t M3UA__ASPAC__Ack_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC__Ack_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPAC__Ack__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC__Ack__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack__MessageParameters_traffic__Mode__Type_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPAC__Ack_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPAC__Ack_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPAC__Ack_default_coding;
extern const XERdescriptor_t M3UA__ASPIA_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPIA_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA_version_default_coding;
extern const XERdescriptor_t M3UA__ASPIA_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPIA_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA_reserved_default_coding;
extern const XERdescriptor_t M3UA__ASPIA_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPIA_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPIA_messageLength_raw_;
extern const XERdescriptor_t M3UA__ASPIA_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPIA__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPIA_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA_default_coding;
extern const XERdescriptor_t M3UA__ASPIA__Ack_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPIA__Ack_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA__Ack_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack_version_default_coding;
extern const XERdescriptor_t M3UA__ASPIA__Ack_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPIA__Ack_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA__Ack_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack_reserved_default_coding;
extern const XERdescriptor_t M3UA__ASPIA__Ack_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__ASPIA__Ack_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA__Ack_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPIA__Ack_messageLength_raw_;
extern const XERdescriptor_t M3UA__ASPIA__Ack_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA__Ack_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPIA__Ack__MessageParameters_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA__Ack__MessageParameters_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack__MessageParameters_routing__Context_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack__MessageParameters_info__String_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack__MessageParameters_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__ASPIA__Ack_raw_;
extern const TTCN_Typedescriptor_t M3UA__ASPIA__Ack_descr_;
extern UNIVERSAL_CHARSTRING M3UA__ASPIA__Ack_default_coding;
extern const XERdescriptor_t M3UA__REG__REQ_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__REG__REQ_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__REG__REQ_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__REQ_version_default_coding;
extern const XERdescriptor_t M3UA__REG__REQ_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__REG__REQ_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__REG__REQ_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__REQ_reserved_default_coding;
extern const XERdescriptor_t M3UA__REG__REQ_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__REG__REQ_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__REG__REQ_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__REQ_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__REG__REQ_messageLength_raw_;
extern const XERdescriptor_t M3UA__REG__REQ_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__REG__REQ_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__REQ_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Routing__Keys_raw_;
extern const TTCN_Typedescriptor_t M3UA__Routing__Keys_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Keys_0_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Routing__Keys_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__REG__REQ_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__REG__REQ_raw_;
extern const TTCN_Typedescriptor_t M3UA__REG__REQ_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__REQ_default_coding;
extern const XERdescriptor_t M3UA__REG__RSP_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__REG__RSP_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__REG__RSP_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__RSP_version_default_coding;
extern const XERdescriptor_t M3UA__REG__RSP_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__REG__RSP_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__REG__RSP_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__RSP_reserved_default_coding;
extern const XERdescriptor_t M3UA__REG__RSP_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__REG__RSP_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__REG__RSP_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__RSP_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__REG__RSP_messageLength_raw_;
extern const XERdescriptor_t M3UA__REG__RSP_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__REG__RSP_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__RSP_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Registration__Results_raw_;
extern const TTCN_Typedescriptor_t M3UA__Registration__Results_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Results_0_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Registration__Results_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__REG__RSP_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__REG__RSP_raw_;
extern const TTCN_Typedescriptor_t M3UA__REG__RSP_descr_;
extern UNIVERSAL_CHARSTRING M3UA__REG__RSP_default_coding;
extern const XERdescriptor_t M3UA__DEREG__REQ_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__DEREG__REQ_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__REQ_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__REQ_version_default_coding;
extern const XERdescriptor_t M3UA__DEREG__REQ_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__DEREG__REQ_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__REQ_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__REQ_reserved_default_coding;
extern const XERdescriptor_t M3UA__DEREG__REQ_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__DEREG__REQ_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__REQ_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__REQ_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DEREG__REQ_messageLength_raw_;
extern const XERdescriptor_t M3UA__DEREG__REQ_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__REQ_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__REQ_messageLength_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__REQ__MsgParams_routing__Context_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DEREG__REQ__MsgParams_raw_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__REQ__MsgParams_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__REQ__MsgParams_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__REQ_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DEREG__REQ_raw_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__REQ_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__REQ_default_coding;
extern const XERdescriptor_t M3UA__DEREG__RSP_version_xer_;
extern const TTCN_OERdescriptor_t M3UA__DEREG__RSP_version_oer_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__RSP_version_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__RSP_version_default_coding;
extern const XERdescriptor_t M3UA__DEREG__RSP_reserved_xer_;
extern const TTCN_OERdescriptor_t M3UA__DEREG__RSP_reserved_oer_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__RSP_reserved_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__RSP_reserved_default_coding;
extern const XERdescriptor_t M3UA__DEREG__RSP_messageClassAndType_xer_;
extern const TTCN_OERdescriptor_t M3UA__DEREG__RSP_messageClassAndType_oer_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__RSP_messageClassAndType_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__RSP_messageClassAndType_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DEREG__RSP_messageLength_raw_;
extern const XERdescriptor_t M3UA__DEREG__RSP_messageLength_xer_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__RSP_messageLength_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__RSP_messageLength_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__Deregistration__Results_raw_;
extern const TTCN_Typedescriptor_t M3UA__Deregistration__Results_descr_;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Results_0_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__Deregistration__Results_default_coding;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__RSP_messageParameters_default_coding;
extern const TTCN_RAWdescriptor_t M3UA__DEREG__RSP_raw_;
extern const TTCN_Typedescriptor_t M3UA__DEREG__RSP_descr_;
extern UNIVERSAL_CHARSTRING M3UA__DEREG__RSP_default_coding;
extern const TTCN_RAWdescriptor_t PDU__M3UA_raw_;
extern const TTCN_Typedescriptor_t PDU__M3UA_descr_;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ERR_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__NOTIFY_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__DATA_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__DUNA_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__DAVA_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__DAUD_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__SCON_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__DUPU_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__DRST_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ASPUP_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ASPDN_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__BEAT_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__BEAT__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ASPUP__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ASPDN__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ASPAC_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ASPIA_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ASPAC__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__ASPIA__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__REG__REQ_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__REG__RSP_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__DEREG__REQ_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_m3UA__DEREG__RSP_default_coding;
extern UNIVERSAL_CHARSTRING PDU__M3UA_default_coding;
extern const OCTETSTRING os_21,
os_22,
os_6,
os_1,
os_4,
os_12,
os_13,
os_0,
os_15,
os_5,
os_2,
os_8,
os_23,
os_3,
os_24,
os_25,
os_26,
os_11,
os_10,
os_9,
os_14,
os_16,
os_17,
os_18,
os_7,
os_19,
os_20,
os_27,
os_28,
os_29,
os_30,
os_31,
os_32,
os_33,
os_34,
os_35,
os_36,
os_37,
os_38,
os_39,
os_40;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
