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

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

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

#ifndef NS__Types_HH
#define NS__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 != 90000
#error Version mismatch detected.\
 Please check the version of the TTCN-3 compiler and the base library.\
 Run make clean and rebuild the project if the version of the compiler changed recently.
#endif

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

#undef NS__Types_HH
#endif

namespace NS__Types {

/* Forward declarations of classes */

class LIN1__2;
class LIN1__2_template;
class CauseNS;
class CauseNS_template;
class NS__VCI;
class NS__VCI_template;
class NS__PDU;
class NS__PDU_template;
class BVCI__NS;
class BVCI__NS_template;
class IP4__Elements;
class IP4__Elements_template;
class IP4__Element;
class IP4__Element_template;
class ListofIP4Elements;
class ListofIP4Elements_template;
class IP6__Elements;
class IP6__Elements_template;
class IP6__Element;
class IP6__Element_template;
class ListofIP6Elements;
class ListofIP6Elements_template;
class IPAddress;
class IPAddress_template;
class IP__Address__NS;
class IP__Address__NS_template;
class EndFlag;
class EndFlag_template;
class ResetFlag;
class ResetFlag_template;
class MaxNumberOfNSVCs;
class MaxNumberOfNSVCs_template;
class NumberOfIP__Endpoints;
class NumberOfIP__Endpoints_template;
class NSEI__NS;
class NSEI__NS_template;
class NS__SDU__ControlBits;
class NS__SDU__ControlBits_template;
class PDU__NS__Alive;
class PDU__NS__Alive_template;
class PDU__NS__Alive__Ack;
class PDU__NS__Alive__Ack_template;
class PDU__NS__Block;
class PDU__NS__Block_template;
class PDU__NS__Block__Ack;
class PDU__NS__Block__Ack_template;
class PDU__NS__Reset;
class PDU__NS__Reset_template;
class PDU__NS__Reset__Ack;
class PDU__NS__Reset__Ack_template;
class PDU__NS__Status;
class PDU__NS__Status_template;
class PDU__NS__Unblock;
class PDU__NS__Unblock_template;
class PDU__NS__Unblock__Ack;
class PDU__NS__Unblock__Ack_template;
class PDU__NS__Unitdata;
class PDU__NS__Unitdata_template;
class PDU__SNS__Ack;
class PDU__SNS__Ack_template;
class PDU__SNS__Add;
class PDU__SNS__Add_template;
class PDU__SNS__ChangeWeight;
class PDU__SNS__ChangeWeight_template;
class PDU__SNS__Config;
class PDU__SNS__Config_template;
class PDU__SNS__Config__Ack;
class PDU__SNS__Config__Ack_template;
class PDU__SNS__Delete;
class PDU__SNS__Delete_template;
class PDU__SNS__Size;
class PDU__SNS__Size_template;
class PDU__SNS__Size__Ack;
class PDU__SNS__Size__Ack_template;
class PDU__NS;
class PDU__NS_template;

} /* end of namespace */

#ifndef NS__Types_HH
#define NS__Types_HH

namespace NS__Types {

/* Class definitions */

class LIN1__2 : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_length1 = 1, ALT_length2 = 2 };
private:
union_selection_type union_selection;
union {
INTEGER *field_length1;
INTEGER *field_length2;
};
void copy_value(const LIN1__2& other_value);

public:
LIN1__2();
LIN1__2(const LIN1__2& other_value);
~LIN1__2();
LIN1__2& operator=(const LIN1__2& other_value);
boolean operator==(const LIN1__2& other_value) const;
inline boolean operator!=(const LIN1__2& other_value) const { return !(*this == other_value); }
INTEGER& length1();
const INTEGER& length1() const;
INTEGER& length2();
const INTEGER& length2() 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 LIN1__2_template : public Base_Template {
union {
struct {
LIN1__2::union_selection_type union_selection;
union {
INTEGER_template *field_length1;
INTEGER_template *field_length2;
};
} single_value;
struct {
unsigned int n_values;
LIN1__2_template *list_value;
} value_list;
struct {
LIN1__2_template* precondition;
LIN1__2_template* implied_template;
} implication_;
dynmatch_struct<LIN1__2>* dyn_match;
};
void copy_value(const LIN1__2& other_value);

void copy_template(const LIN1__2_template& other_value);

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

class CauseNS : public Base_Type {
  OCTETSTRING field_iEI;
  BITSTRING field_ext;
  LIN1__2 field_lengthIndicator;
  OCTETSTRING field_cause;
public:
  CauseNS();
  CauseNS(const OCTETSTRING& par_iEI,
    const BITSTRING& par_ext,
    const LIN1__2& par_lengthIndicator,
    const OCTETSTRING& par_cause);
  CauseNS(const CauseNS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CauseNS& operator=(const CauseNS& other_value);
  boolean operator==(const CauseNS& other_value) const;
  inline boolean operator!=(const CauseNS& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline BITSTRING& ext()
    {return field_ext;}
  inline const BITSTRING& ext() const
    {return field_ext;}
  inline LIN1__2& lengthIndicator()
    {return field_lengthIndicator;}
  inline const LIN1__2& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& cause()
    {return field_cause;}
  inline const OCTETSTRING& cause() const
    {return field_cause;}
  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 CauseNS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CauseNS_template *list_value;
} value_list;
struct {
CauseNS_template* precondition;
CauseNS_template* implied_template;
} implication_;
dynmatch_struct<CauseNS>* dyn_match;
};

void set_specific();
void copy_value(const CauseNS& other_value);
void copy_template(const CauseNS_template& other_value);

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

class NS__VCI : public Base_Type {
  OCTETSTRING field_iEI;
  BITSTRING field_ext;
  LIN1__2 field_lengthIndicator;
  OCTETSTRING field_nS__VCI;
public:
  NS__VCI();
  NS__VCI(const OCTETSTRING& par_iEI,
    const BITSTRING& par_ext,
    const LIN1__2& par_lengthIndicator,
    const OCTETSTRING& par_nS__VCI);
  NS__VCI(const NS__VCI& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NS__VCI& operator=(const NS__VCI& other_value);
  boolean operator==(const NS__VCI& other_value) const;
  inline boolean operator!=(const NS__VCI& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline BITSTRING& ext()
    {return field_ext;}
  inline const BITSTRING& ext() const
    {return field_ext;}
  inline LIN1__2& lengthIndicator()
    {return field_lengthIndicator;}
  inline const LIN1__2& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& nS__VCI()
    {return field_nS__VCI;}
  inline const OCTETSTRING& nS__VCI() const
    {return field_nS__VCI;}
  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 NS__VCI_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NS__VCI_template *list_value;
} value_list;
struct {
NS__VCI_template* precondition;
NS__VCI_template* implied_template;
} implication_;
dynmatch_struct<NS__VCI>* dyn_match;
};

void set_specific();
void copy_value(const NS__VCI& other_value);
void copy_template(const NS__VCI_template& other_value);

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

class NS__PDU : public Base_Type {
  OCTETSTRING field_iEI;
  BITSTRING field_ext;
  LIN1__2 field_lengthIndicator;
  OCTETSTRING field_ns__PDU;
public:
  NS__PDU();
  NS__PDU(const OCTETSTRING& par_iEI,
    const BITSTRING& par_ext,
    const LIN1__2& par_lengthIndicator,
    const OCTETSTRING& par_ns__PDU);
  NS__PDU(const NS__PDU& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NS__PDU& operator=(const NS__PDU& other_value);
  boolean operator==(const NS__PDU& other_value) const;
  inline boolean operator!=(const NS__PDU& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline BITSTRING& ext()
    {return field_ext;}
  inline const BITSTRING& ext() const
    {return field_ext;}
  inline LIN1__2& lengthIndicator()
    {return field_lengthIndicator;}
  inline const LIN1__2& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& ns__PDU()
    {return field_ns__PDU;}
  inline const OCTETSTRING& ns__PDU() const
    {return field_ns__PDU;}
  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 NS__PDU_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NS__PDU_template *list_value;
} value_list;
struct {
NS__PDU_template* precondition;
NS__PDU_template* implied_template;
} implication_;
dynmatch_struct<NS__PDU>* dyn_match;
};

void set_specific();
void copy_value(const NS__PDU& other_value);
void copy_template(const NS__PDU_template& other_value);

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

class BVCI__NS : public Base_Type {
  OCTETSTRING field_iEI;
  BITSTRING field_ext;
  LIN1__2 field_lengthIndicator;
  OCTETSTRING field_bVCI;
public:
  BVCI__NS();
  BVCI__NS(const OCTETSTRING& par_iEI,
    const BITSTRING& par_ext,
    const LIN1__2& par_lengthIndicator,
    const OCTETSTRING& par_bVCI);
  BVCI__NS(const BVCI__NS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  BVCI__NS& operator=(const BVCI__NS& other_value);
  boolean operator==(const BVCI__NS& other_value) const;
  inline boolean operator!=(const BVCI__NS& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline BITSTRING& ext()
    {return field_ext;}
  inline const BITSTRING& ext() const
    {return field_ext;}
  inline LIN1__2& lengthIndicator()
    {return field_lengthIndicator;}
  inline const LIN1__2& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& bVCI()
    {return field_bVCI;}
  inline const OCTETSTRING& bVCI() const
    {return field_bVCI;}
  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 BVCI__NS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
BVCI__NS_template *list_value;
} value_list;
struct {
BVCI__NS_template* precondition;
BVCI__NS_template* implied_template;
} implication_;
dynmatch_struct<BVCI__NS>* dyn_match;
};

void set_specific();
void copy_value(const BVCI__NS& other_value);
void copy_template(const BVCI__NS_template& other_value);

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

class IP4__Elements : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
IP4__Element **value_elements;
} *val_ptr;

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

public:
  typedef IP4__Element of_type;
IP4__Elements();
IP4__Elements(null_type other_value);
IP4__Elements(const IP4__Elements& other_value);
~IP4__Elements();

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

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

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

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

IP4__Elements operator+(const IP4__Elements& other_value) const;

IP4__Elements substr(int index, int returncount) const;

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

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

void clean_up();
IP4__Elements_template& operator=(template_sel other_value);
IP4__Elements_template& operator=(null_type other_value);
IP4__Elements_template& operator=(const IP4__Elements& other_value);
IP4__Elements_template& operator=(const OPTIONAL<IP4__Elements>& other_value);
IP4__Elements_template& operator=(const IP4__Elements_template& other_value);

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

IP4__Elements replace(int index, int len, const IP4__Elements_template& repl) const;

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

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

class IP4__Element : public Base_Type {
  OCTETSTRING field_ipAddress;
  OCTETSTRING field_uDP__Port;
  OCTETSTRING field_signallingWeight;
  OCTETSTRING field_dataWeight;
public:
  IP4__Element();
  IP4__Element(const OCTETSTRING& par_ipAddress,
    const OCTETSTRING& par_uDP__Port,
    const OCTETSTRING& par_signallingWeight,
    const OCTETSTRING& par_dataWeight);
  IP4__Element(const IP4__Element& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  IP4__Element& operator=(const IP4__Element& other_value);
  boolean operator==(const IP4__Element& other_value) const;
  inline boolean operator!=(const IP4__Element& 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& ipAddress()
    {return field_ipAddress;}
  inline const OCTETSTRING& ipAddress() const
    {return field_ipAddress;}
  inline OCTETSTRING& uDP__Port()
    {return field_uDP__Port;}
  inline const OCTETSTRING& uDP__Port() const
    {return field_uDP__Port;}
  inline OCTETSTRING& signallingWeight()
    {return field_signallingWeight;}
  inline const OCTETSTRING& signallingWeight() const
    {return field_signallingWeight;}
  inline OCTETSTRING& dataWeight()
    {return field_dataWeight;}
  inline const OCTETSTRING& dataWeight() const
    {return field_dataWeight;}
  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 IP4__Element_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
IP4__Element_template *list_value;
} value_list;
struct {
IP4__Element_template* precondition;
IP4__Element_template* implied_template;
} implication_;
dynmatch_struct<IP4__Element>* dyn_match;
};

void set_specific();
void copy_value(const IP4__Element& other_value);
void copy_template(const IP4__Element_template& other_value);

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

class ListofIP4Elements : public Base_Type {
  OCTETSTRING field_iEI;
  BITSTRING field_ext;
  LIN1__2 field_lengthIndicator;
  IP4__Elements field_iP4__Elements;
public:
  ListofIP4Elements();
  ListofIP4Elements(const OCTETSTRING& par_iEI,
    const BITSTRING& par_ext,
    const LIN1__2& par_lengthIndicator,
    const IP4__Elements& par_iP4__Elements);
  ListofIP4Elements(const ListofIP4Elements& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ListofIP4Elements& operator=(const ListofIP4Elements& other_value);
  boolean operator==(const ListofIP4Elements& other_value) const;
  inline boolean operator!=(const ListofIP4Elements& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline BITSTRING& ext()
    {return field_ext;}
  inline const BITSTRING& ext() const
    {return field_ext;}
  inline LIN1__2& lengthIndicator()
    {return field_lengthIndicator;}
  inline const LIN1__2& lengthIndicator() const
    {return field_lengthIndicator;}
  inline IP4__Elements& iP4__Elements()
    {return field_iP4__Elements;}
  inline const IP4__Elements& iP4__Elements() const
    {return field_iP4__Elements;}
  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 ListofIP4Elements_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ListofIP4Elements_template *list_value;
} value_list;
struct {
ListofIP4Elements_template* precondition;
ListofIP4Elements_template* implied_template;
} implication_;
dynmatch_struct<ListofIP4Elements>* dyn_match;
};

void set_specific();
void copy_value(const ListofIP4Elements& other_value);
void copy_template(const ListofIP4Elements_template& other_value);

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

class IP6__Elements : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
IP6__Element **value_elements;
} *val_ptr;

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

public:
  typedef IP6__Element of_type;
IP6__Elements();
IP6__Elements(null_type other_value);
IP6__Elements(const IP6__Elements& other_value);
~IP6__Elements();

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

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

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

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

IP6__Elements operator+(const IP6__Elements& other_value) const;

IP6__Elements substr(int index, int returncount) const;

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

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

void clean_up();
IP6__Elements_template& operator=(template_sel other_value);
IP6__Elements_template& operator=(null_type other_value);
IP6__Elements_template& operator=(const IP6__Elements& other_value);
IP6__Elements_template& operator=(const OPTIONAL<IP6__Elements>& other_value);
IP6__Elements_template& operator=(const IP6__Elements_template& other_value);

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

IP6__Elements replace(int index, int len, const IP6__Elements_template& repl) const;

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

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

class IP6__Element : public Base_Type {
  OCTETSTRING field_ipAddress;
  OCTETSTRING field_uDP__Port;
  OCTETSTRING field_signallingWeight;
  OCTETSTRING field_dataWeight;
public:
  IP6__Element();
  IP6__Element(const OCTETSTRING& par_ipAddress,
    const OCTETSTRING& par_uDP__Port,
    const OCTETSTRING& par_signallingWeight,
    const OCTETSTRING& par_dataWeight);
  IP6__Element(const IP6__Element& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  IP6__Element& operator=(const IP6__Element& other_value);
  boolean operator==(const IP6__Element& other_value) const;
  inline boolean operator!=(const IP6__Element& 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& ipAddress()
    {return field_ipAddress;}
  inline const OCTETSTRING& ipAddress() const
    {return field_ipAddress;}
  inline OCTETSTRING& uDP__Port()
    {return field_uDP__Port;}
  inline const OCTETSTRING& uDP__Port() const
    {return field_uDP__Port;}
  inline OCTETSTRING& signallingWeight()
    {return field_signallingWeight;}
  inline const OCTETSTRING& signallingWeight() const
    {return field_signallingWeight;}
  inline OCTETSTRING& dataWeight()
    {return field_dataWeight;}
  inline const OCTETSTRING& dataWeight() const
    {return field_dataWeight;}
  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 IP6__Element_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
IP6__Element_template *list_value;
} value_list;
struct {
IP6__Element_template* precondition;
IP6__Element_template* implied_template;
} implication_;
dynmatch_struct<IP6__Element>* dyn_match;
};

void set_specific();
void copy_value(const IP6__Element& other_value);
void copy_template(const IP6__Element_template& other_value);

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

class ListofIP6Elements : public Base_Type {
  OCTETSTRING field_iEI;
  BITSTRING field_ext;
  LIN1__2 field_lengthIndicator;
  IP6__Elements field_iP6__Elements;
public:
  ListofIP6Elements();
  ListofIP6Elements(const OCTETSTRING& par_iEI,
    const BITSTRING& par_ext,
    const LIN1__2& par_lengthIndicator,
    const IP6__Elements& par_iP6__Elements);
  ListofIP6Elements(const ListofIP6Elements& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ListofIP6Elements& operator=(const ListofIP6Elements& other_value);
  boolean operator==(const ListofIP6Elements& other_value) const;
  inline boolean operator!=(const ListofIP6Elements& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline BITSTRING& ext()
    {return field_ext;}
  inline const BITSTRING& ext() const
    {return field_ext;}
  inline LIN1__2& lengthIndicator()
    {return field_lengthIndicator;}
  inline const LIN1__2& lengthIndicator() const
    {return field_lengthIndicator;}
  inline IP6__Elements& iP6__Elements()
    {return field_iP6__Elements;}
  inline const IP6__Elements& iP6__Elements() const
    {return field_iP6__Elements;}
  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 ListofIP6Elements_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ListofIP6Elements_template *list_value;
} value_list;
struct {
ListofIP6Elements_template* precondition;
ListofIP6Elements_template* implied_template;
} implication_;
dynmatch_struct<ListofIP6Elements>* dyn_match;
};

void set_specific();
void copy_value(const ListofIP6Elements& other_value);
void copy_template(const ListofIP6Elements_template& other_value);

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

class IPAddress : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_ip4Address = 1, ALT_ip6Address = 2 };
private:
union_selection_type union_selection;
union {
OCTETSTRING *field_ip4Address;
OCTETSTRING *field_ip6Address;
};
void copy_value(const IPAddress& other_value);

public:
IPAddress();
IPAddress(const IPAddress& other_value);
~IPAddress();
IPAddress& operator=(const IPAddress& other_value);
boolean operator==(const IPAddress& other_value) const;
inline boolean operator!=(const IPAddress& other_value) const { return !(*this == other_value); }
OCTETSTRING& ip4Address();
const OCTETSTRING& ip4Address() const;
OCTETSTRING& ip6Address();
const OCTETSTRING& ip6Address() 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 IPAddress_template : public Base_Template {
union {
struct {
IPAddress::union_selection_type union_selection;
union {
OCTETSTRING_template *field_ip4Address;
OCTETSTRING_template *field_ip6Address;
};
} single_value;
struct {
unsigned int n_values;
IPAddress_template *list_value;
} value_list;
struct {
IPAddress_template* precondition;
IPAddress_template* implied_template;
} implication_;
dynmatch_struct<IPAddress>* dyn_match;
};
void copy_value(const IPAddress& other_value);

void copy_template(const IPAddress_template& other_value);

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

class IP__Address__NS : public Base_Type {
  OCTETSTRING field_iEI;
  OCTETSTRING field_addressType;
  IPAddress field_ipAddress;
public:
  IP__Address__NS();
  IP__Address__NS(const OCTETSTRING& par_iEI,
    const OCTETSTRING& par_addressType,
    const IPAddress& par_ipAddress);
  IP__Address__NS(const IP__Address__NS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  IP__Address__NS& operator=(const IP__Address__NS& other_value);
  boolean operator==(const IP__Address__NS& other_value) const;
  inline boolean operator!=(const IP__Address__NS& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline OCTETSTRING& addressType()
    {return field_addressType;}
  inline const OCTETSTRING& addressType() const
    {return field_addressType;}
  inline IPAddress& ipAddress()
    {return field_ipAddress;}
  inline const IPAddress& ipAddress() const
    {return field_ipAddress;}
  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 IP__Address__NS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
IP__Address__NS_template *list_value;
} value_list;
struct {
IP__Address__NS_template* precondition;
IP__Address__NS_template* implied_template;
} implication_;
dynmatch_struct<IP__Address__NS>* dyn_match;
};

void set_specific();
void copy_value(const IP__Address__NS& other_value);
void copy_template(const IP__Address__NS_template& other_value);

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

class EndFlag : public Base_Type {
  BITSTRING field_eBIT;
  BITSTRING field_spare;
public:
  EndFlag();
  EndFlag(const BITSTRING& par_eBIT,
    const BITSTRING& par_spare);
  EndFlag(const EndFlag& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  EndFlag& operator=(const EndFlag& other_value);
  boolean operator==(const EndFlag& other_value) const;
  inline boolean operator!=(const EndFlag& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline BITSTRING& eBIT()
    {return field_eBIT;}
  inline const BITSTRING& eBIT() const
    {return field_eBIT;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const EndFlag& other_value);
void copy_template(const EndFlag_template& other_value);

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

class ResetFlag : public Base_Type {
  OCTETSTRING field_iEI;
  BITSTRING field_resetBIT;
  BITSTRING field_spare;
public:
  ResetFlag();
  ResetFlag(const OCTETSTRING& par_iEI,
    const BITSTRING& par_resetBIT,
    const BITSTRING& par_spare);
  ResetFlag(const ResetFlag& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ResetFlag& operator=(const ResetFlag& other_value);
  boolean operator==(const ResetFlag& other_value) const;
  inline boolean operator!=(const ResetFlag& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline BITSTRING& resetBIT()
    {return field_resetBIT;}
  inline const BITSTRING& resetBIT() const
    {return field_resetBIT;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const ResetFlag& other_value);
void copy_template(const ResetFlag_template& other_value);

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

class MaxNumberOfNSVCs : public Base_Type {
  OCTETSTRING field_iEI;
  OCTETSTRING field_maxNumberOfNSVCs;
public:
  MaxNumberOfNSVCs();
  MaxNumberOfNSVCs(const OCTETSTRING& par_iEI,
    const OCTETSTRING& par_maxNumberOfNSVCs);
  MaxNumberOfNSVCs(const MaxNumberOfNSVCs& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MaxNumberOfNSVCs& operator=(const MaxNumberOfNSVCs& other_value);
  boolean operator==(const MaxNumberOfNSVCs& other_value) const;
  inline boolean operator!=(const MaxNumberOfNSVCs& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline OCTETSTRING& maxNumberOfNSVCs()
    {return field_maxNumberOfNSVCs;}
  inline const OCTETSTRING& maxNumberOfNSVCs() const
    {return field_maxNumberOfNSVCs;}
  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 MaxNumberOfNSVCs_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MaxNumberOfNSVCs_template *list_value;
} value_list;
struct {
MaxNumberOfNSVCs_template* precondition;
MaxNumberOfNSVCs_template* implied_template;
} implication_;
dynmatch_struct<MaxNumberOfNSVCs>* dyn_match;
};

void set_specific();
void copy_value(const MaxNumberOfNSVCs& other_value);
void copy_template(const MaxNumberOfNSVCs_template& other_value);

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

class NumberOfIP__Endpoints : public Base_Type {
  OCTETSTRING field_iEI;
  OCTETSTRING field_numberOfIP__Endpoints;
public:
  NumberOfIP__Endpoints();
  NumberOfIP__Endpoints(const OCTETSTRING& par_iEI,
    const OCTETSTRING& par_numberOfIP__Endpoints);
  NumberOfIP__Endpoints(const NumberOfIP__Endpoints& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NumberOfIP__Endpoints& operator=(const NumberOfIP__Endpoints& other_value);
  boolean operator==(const NumberOfIP__Endpoints& other_value) const;
  inline boolean operator!=(const NumberOfIP__Endpoints& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline OCTETSTRING& numberOfIP__Endpoints()
    {return field_numberOfIP__Endpoints;}
  inline const OCTETSTRING& numberOfIP__Endpoints() const
    {return field_numberOfIP__Endpoints;}
  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 NumberOfIP__Endpoints_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NumberOfIP__Endpoints_template *list_value;
} value_list;
struct {
NumberOfIP__Endpoints_template* precondition;
NumberOfIP__Endpoints_template* implied_template;
} implication_;
dynmatch_struct<NumberOfIP__Endpoints>* dyn_match;
};

void set_specific();
void copy_value(const NumberOfIP__Endpoints& other_value);
void copy_template(const NumberOfIP__Endpoints_template& other_value);

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

class NSEI__NS : public Base_Type {
  OCTETSTRING field_iEI;
  BITSTRING field_ext;
  LIN1__2 field_lengthIndicator;
  OCTETSTRING field_nSEI;
public:
  NSEI__NS();
  NSEI__NS(const OCTETSTRING& par_iEI,
    const BITSTRING& par_ext,
    const LIN1__2& par_lengthIndicator,
    const OCTETSTRING& par_nSEI);
  NSEI__NS(const NSEI__NS& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NSEI__NS& operator=(const NSEI__NS& other_value);
  boolean operator==(const NSEI__NS& other_value) const;
  inline boolean operator!=(const NSEI__NS& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& iEI()
    {return field_iEI;}
  inline const OCTETSTRING& iEI() const
    {return field_iEI;}
  inline BITSTRING& ext()
    {return field_ext;}
  inline const BITSTRING& ext() const
    {return field_ext;}
  inline LIN1__2& lengthIndicator()
    {return field_lengthIndicator;}
  inline const LIN1__2& lengthIndicator() const
    {return field_lengthIndicator;}
  inline OCTETSTRING& nSEI()
    {return field_nSEI;}
  inline const OCTETSTRING& nSEI() const
    {return field_nSEI;}
  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 NSEI__NS_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NSEI__NS_template *list_value;
} value_list;
struct {
NSEI__NS_template* precondition;
NSEI__NS_template* implied_template;
} implication_;
dynmatch_struct<NSEI__NS>* dyn_match;
};

void set_specific();
void copy_value(const NSEI__NS& other_value);
void copy_template(const NSEI__NS_template& other_value);

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

class NS__SDU__ControlBits : public Base_Type {
  BITSTRING field_rBit;
  BITSTRING field_cBit;
  BITSTRING field_spare;
public:
  NS__SDU__ControlBits();
  NS__SDU__ControlBits(const BITSTRING& par_rBit,
    const BITSTRING& par_cBit,
    const BITSTRING& par_spare);
  NS__SDU__ControlBits(const NS__SDU__ControlBits& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NS__SDU__ControlBits& operator=(const NS__SDU__ControlBits& other_value);
  boolean operator==(const NS__SDU__ControlBits& other_value) const;
  inline boolean operator!=(const NS__SDU__ControlBits& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline BITSTRING& rBit()
    {return field_rBit;}
  inline const BITSTRING& rBit() const
    {return field_rBit;}
  inline BITSTRING& cBit()
    {return field_cBit;}
  inline const BITSTRING& cBit() const
    {return field_cBit;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const NS__SDU__ControlBits& other_value);
void copy_template(const NS__SDU__ControlBits_template& other_value);

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

class PDU__NS__Alive : public Base_Type {
  OCTETSTRING field_nsPduType;
public:
  PDU__NS__Alive();
  PDU__NS__Alive(const OCTETSTRING& par_nsPduType);
  PDU__NS__Alive(const PDU__NS__Alive& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Alive& operator=(const PDU__NS__Alive& other_value);
  boolean operator==(const PDU__NS__Alive& other_value) const;
  inline boolean operator!=(const PDU__NS__Alive& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Alive& other_value);
void copy_template(const PDU__NS__Alive_template& other_value);

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

class PDU__NS__Alive__Ack : public Base_Type {
  OCTETSTRING field_nsPduType;
public:
  PDU__NS__Alive__Ack();
  PDU__NS__Alive__Ack(const OCTETSTRING& par_nsPduType);
  PDU__NS__Alive__Ack(const PDU__NS__Alive__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Alive__Ack& operator=(const PDU__NS__Alive__Ack& other_value);
  boolean operator==(const PDU__NS__Alive__Ack& other_value) const;
  inline boolean operator!=(const PDU__NS__Alive__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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Alive__Ack& other_value);
void copy_template(const PDU__NS__Alive__Ack_template& other_value);

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

class PDU__NS__Block : public Base_Type {
  OCTETSTRING field_nsPduType;
  CauseNS field_causeNS;
  NS__VCI field_nS__VCI;
public:
  PDU__NS__Block();
  PDU__NS__Block(const OCTETSTRING& par_nsPduType,
    const CauseNS& par_causeNS,
    const NS__VCI& par_nS__VCI);
  PDU__NS__Block(const PDU__NS__Block& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Block& operator=(const PDU__NS__Block& other_value);
  boolean operator==(const PDU__NS__Block& other_value) const;
  inline boolean operator!=(const PDU__NS__Block& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline CauseNS& causeNS()
    {return field_causeNS;}
  inline const CauseNS& causeNS() const
    {return field_causeNS;}
  inline NS__VCI& nS__VCI()
    {return field_nS__VCI;}
  inline const NS__VCI& nS__VCI() const
    {return field_nS__VCI;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Block& other_value);
void copy_template(const PDU__NS__Block_template& other_value);

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

class PDU__NS__Block__Ack : public Base_Type {
  OCTETSTRING field_nsPduType;
  NS__VCI field_nS__VCI;
public:
  PDU__NS__Block__Ack();
  PDU__NS__Block__Ack(const OCTETSTRING& par_nsPduType,
    const NS__VCI& par_nS__VCI);
  PDU__NS__Block__Ack(const PDU__NS__Block__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Block__Ack& operator=(const PDU__NS__Block__Ack& other_value);
  boolean operator==(const PDU__NS__Block__Ack& other_value) const;
  inline boolean operator!=(const PDU__NS__Block__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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NS__VCI& nS__VCI()
    {return field_nS__VCI;}
  inline const NS__VCI& nS__VCI() const
    {return field_nS__VCI;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Block__Ack& other_value);
void copy_template(const PDU__NS__Block__Ack_template& other_value);

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

class PDU__NS__Reset : public Base_Type {
  OCTETSTRING field_nsPduType;
  CauseNS field_causeNS;
  NS__VCI field_nS__VCI;
  NSEI__NS field_nSEI__NS;
public:
  PDU__NS__Reset();
  PDU__NS__Reset(const OCTETSTRING& par_nsPduType,
    const CauseNS& par_causeNS,
    const NS__VCI& par_nS__VCI,
    const NSEI__NS& par_nSEI__NS);
  PDU__NS__Reset(const PDU__NS__Reset& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Reset& operator=(const PDU__NS__Reset& other_value);
  boolean operator==(const PDU__NS__Reset& other_value) const;
  inline boolean operator!=(const PDU__NS__Reset& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline CauseNS& causeNS()
    {return field_causeNS;}
  inline const CauseNS& causeNS() const
    {return field_causeNS;}
  inline NS__VCI& nS__VCI()
    {return field_nS__VCI;}
  inline const NS__VCI& nS__VCI() const
    {return field_nS__VCI;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Reset& other_value);
void copy_template(const PDU__NS__Reset_template& other_value);

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

class PDU__NS__Reset__Ack : public Base_Type {
  OCTETSTRING field_nsPduType;
  NS__VCI field_nS__VCI;
  NSEI__NS field_nSEI__NS;
public:
  PDU__NS__Reset__Ack();
  PDU__NS__Reset__Ack(const OCTETSTRING& par_nsPduType,
    const NS__VCI& par_nS__VCI,
    const NSEI__NS& par_nSEI__NS);
  PDU__NS__Reset__Ack(const PDU__NS__Reset__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Reset__Ack& operator=(const PDU__NS__Reset__Ack& other_value);
  boolean operator==(const PDU__NS__Reset__Ack& other_value) const;
  inline boolean operator!=(const PDU__NS__Reset__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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NS__VCI& nS__VCI()
    {return field_nS__VCI;}
  inline const NS__VCI& nS__VCI() const
    {return field_nS__VCI;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Reset__Ack& other_value);
void copy_template(const PDU__NS__Reset__Ack_template& other_value);

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

class PDU__NS__Status : public Base_Type {
  OCTETSTRING field_nsPduType;
  CauseNS field_causeNS;
  OPTIONAL< NS__VCI > field_nS__VCI;
  OPTIONAL< NS__PDU > field_nS__PDU;
  OPTIONAL< BVCI__NS > field_bVCI__NS;
  OPTIONAL< ListofIP4Elements > field_listofIP4Elements;
  OPTIONAL< ListofIP6Elements > field_listofIP6Elements;
public:
  PDU__NS__Status();
  PDU__NS__Status(const OCTETSTRING& par_nsPduType,
    const CauseNS& par_causeNS,
    const OPTIONAL< NS__VCI >& par_nS__VCI,
    const OPTIONAL< NS__PDU >& par_nS__PDU,
    const OPTIONAL< BVCI__NS >& par_bVCI__NS,
    const OPTIONAL< ListofIP4Elements >& par_listofIP4Elements,
    const OPTIONAL< ListofIP6Elements >& par_listofIP6Elements);
  PDU__NS__Status(const PDU__NS__Status& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Status& operator=(const PDU__NS__Status& other_value);
  boolean operator==(const PDU__NS__Status& other_value) const;
  inline boolean operator!=(const PDU__NS__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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline CauseNS& causeNS()
    {return field_causeNS;}
  inline const CauseNS& causeNS() const
    {return field_causeNS;}
  inline OPTIONAL< NS__VCI >& nS__VCI()
    {return field_nS__VCI;}
  inline const OPTIONAL< NS__VCI >& nS__VCI() const
    {return field_nS__VCI;}
  inline OPTIONAL< NS__PDU >& nS__PDU()
    {return field_nS__PDU;}
  inline const OPTIONAL< NS__PDU >& nS__PDU() const
    {return field_nS__PDU;}
  inline OPTIONAL< BVCI__NS >& bVCI__NS()
    {return field_bVCI__NS;}
  inline const OPTIONAL< BVCI__NS >& bVCI__NS() const
    {return field_bVCI__NS;}
  inline OPTIONAL< ListofIP4Elements >& listofIP4Elements()
    {return field_listofIP4Elements;}
  inline const OPTIONAL< ListofIP4Elements >& listofIP4Elements() const
    {return field_listofIP4Elements;}
  inline OPTIONAL< ListofIP6Elements >& listofIP6Elements()
    {return field_listofIP6Elements;}
  inline const OPTIONAL< ListofIP6Elements >& listofIP6Elements() const
    {return field_listofIP6Elements;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Status& other_value);
void copy_template(const PDU__NS__Status_template& other_value);

public:
PDU__NS__Status_template();
PDU__NS__Status_template(template_sel other_value);
PDU__NS__Status_template(const PDU__NS__Status& other_value);
PDU__NS__Status_template(const OPTIONAL<PDU__NS__Status>& other_value);
PDU__NS__Status_template(PDU__NS__Status_template* p_precondition, PDU__NS__Status_template* p_implied_template);
PDU__NS__Status_template(Dynamic_Match_Interface<PDU__NS__Status>* p_dyn_match);
PDU__NS__Status_template(const PDU__NS__Status_template& other_value);
~PDU__NS__Status_template();
PDU__NS__Status_template& operator=(template_sel other_value);
PDU__NS__Status_template& operator=(const PDU__NS__Status& other_value);
PDU__NS__Status_template& operator=(const OPTIONAL<PDU__NS__Status>& other_value);
PDU__NS__Status_template& operator=(const PDU__NS__Status_template& other_value);
boolean match(const PDU__NS__Status& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__NS__Status valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__NS__Status_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& nsPduType();
const OCTETSTRING_template& nsPduType() const;
CauseNS_template& causeNS();
const CauseNS_template& causeNS() const;
NS__VCI_template& nS__VCI();
const NS__VCI_template& nS__VCI() const;
NS__PDU_template& nS__PDU();
const NS__PDU_template& nS__PDU() const;
BVCI__NS_template& bVCI__NS();
const BVCI__NS_template& bVCI__NS() const;
ListofIP4Elements_template& listofIP4Elements();
const ListofIP4Elements_template& listofIP4Elements() const;
ListofIP6Elements_template& listofIP6Elements();
const ListofIP6Elements_template& listofIP6Elements() const;
int size_of() const;
void log() const;
void log_match(const PDU__NS__Status& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__NS__Unblock : public Base_Type {
  OCTETSTRING field_nsPduType;
public:
  PDU__NS__Unblock();
  PDU__NS__Unblock(const OCTETSTRING& par_nsPduType);
  PDU__NS__Unblock(const PDU__NS__Unblock& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Unblock& operator=(const PDU__NS__Unblock& other_value);
  boolean operator==(const PDU__NS__Unblock& other_value) const;
  inline boolean operator!=(const PDU__NS__Unblock& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Unblock& other_value);
void copy_template(const PDU__NS__Unblock_template& other_value);

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

class PDU__NS__Unblock__Ack : public Base_Type {
  OCTETSTRING field_nsPduType;
public:
  PDU__NS__Unblock__Ack();
  PDU__NS__Unblock__Ack(const OCTETSTRING& par_nsPduType);
  PDU__NS__Unblock__Ack(const PDU__NS__Unblock__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Unblock__Ack& operator=(const PDU__NS__Unblock__Ack& other_value);
  boolean operator==(const PDU__NS__Unblock__Ack& other_value) const;
  inline boolean operator!=(const PDU__NS__Unblock__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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Unblock__Ack& other_value);
void copy_template(const PDU__NS__Unblock__Ack_template& other_value);

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

class PDU__NS__Unitdata : public Base_Type {
  OCTETSTRING field_nsPduType;
  NS__SDU__ControlBits field_nS__SDU__ControlBits;
  OCTETSTRING field_bVCI;
  OCTETSTRING field_nS__SDU;
public:
  PDU__NS__Unitdata();
  PDU__NS__Unitdata(const OCTETSTRING& par_nsPduType,
    const NS__SDU__ControlBits& par_nS__SDU__ControlBits,
    const OCTETSTRING& par_bVCI,
    const OCTETSTRING& par_nS__SDU);
  PDU__NS__Unitdata(const PDU__NS__Unitdata& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__NS__Unitdata& operator=(const PDU__NS__Unitdata& other_value);
  boolean operator==(const PDU__NS__Unitdata& other_value) const;
  inline boolean operator!=(const PDU__NS__Unitdata& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NS__SDU__ControlBits& nS__SDU__ControlBits()
    {return field_nS__SDU__ControlBits;}
  inline const NS__SDU__ControlBits& nS__SDU__ControlBits() const
    {return field_nS__SDU__ControlBits;}
  inline OCTETSTRING& bVCI()
    {return field_bVCI;}
  inline const OCTETSTRING& bVCI() const
    {return field_bVCI;}
  inline OCTETSTRING& nS__SDU()
    {return field_nS__SDU;}
  inline const OCTETSTRING& nS__SDU() const
    {return field_nS__SDU;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__NS__Unitdata& other_value);
void copy_template(const PDU__NS__Unitdata_template& other_value);

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

class PDU__SNS__Ack : public Base_Type {
  OCTETSTRING field_nsPduType;
  NSEI__NS field_nSEI__NS;
  INTEGER field_transactionID;
  OPTIONAL< CauseNS > field_causeNS;
  OPTIONAL< IP__Address__NS > field_iP__Address__NS;
  OPTIONAL< ListofIP4Elements > field_listofIP4Elements;
  OPTIONAL< ListofIP6Elements > field_listofIP6Elements;
public:
  PDU__SNS__Ack();
  PDU__SNS__Ack(const OCTETSTRING& par_nsPduType,
    const NSEI__NS& par_nSEI__NS,
    const INTEGER& par_transactionID,
    const OPTIONAL< CauseNS >& par_causeNS,
    const OPTIONAL< IP__Address__NS >& par_iP__Address__NS,
    const OPTIONAL< ListofIP4Elements >& par_listofIP4Elements,
    const OPTIONAL< ListofIP6Elements >& par_listofIP6Elements);
  PDU__SNS__Ack(const PDU__SNS__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SNS__Ack& operator=(const PDU__SNS__Ack& other_value);
  boolean operator==(const PDU__SNS__Ack& other_value) const;
  inline boolean operator!=(const PDU__SNS__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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline INTEGER& transactionID()
    {return field_transactionID;}
  inline const INTEGER& transactionID() const
    {return field_transactionID;}
  inline OPTIONAL< CauseNS >& causeNS()
    {return field_causeNS;}
  inline const OPTIONAL< CauseNS >& causeNS() const
    {return field_causeNS;}
  inline OPTIONAL< IP__Address__NS >& iP__Address__NS()
    {return field_iP__Address__NS;}
  inline const OPTIONAL< IP__Address__NS >& iP__Address__NS() const
    {return field_iP__Address__NS;}
  inline OPTIONAL< ListofIP4Elements >& listofIP4Elements()
    {return field_listofIP4Elements;}
  inline const OPTIONAL< ListofIP4Elements >& listofIP4Elements() const
    {return field_listofIP4Elements;}
  inline OPTIONAL< ListofIP6Elements >& listofIP6Elements()
    {return field_listofIP6Elements;}
  inline const OPTIONAL< ListofIP6Elements >& listofIP6Elements() const
    {return field_listofIP6Elements;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__SNS__Ack& other_value);
void copy_template(const PDU__SNS__Ack_template& other_value);

public:
PDU__SNS__Ack_template();
PDU__SNS__Ack_template(template_sel other_value);
PDU__SNS__Ack_template(const PDU__SNS__Ack& other_value);
PDU__SNS__Ack_template(const OPTIONAL<PDU__SNS__Ack>& other_value);
PDU__SNS__Ack_template(PDU__SNS__Ack_template* p_precondition, PDU__SNS__Ack_template* p_implied_template);
PDU__SNS__Ack_template(Dynamic_Match_Interface<PDU__SNS__Ack>* p_dyn_match);
PDU__SNS__Ack_template(const PDU__SNS__Ack_template& other_value);
~PDU__SNS__Ack_template();
PDU__SNS__Ack_template& operator=(template_sel other_value);
PDU__SNS__Ack_template& operator=(const PDU__SNS__Ack& other_value);
PDU__SNS__Ack_template& operator=(const OPTIONAL<PDU__SNS__Ack>& other_value);
PDU__SNS__Ack_template& operator=(const PDU__SNS__Ack_template& other_value);
boolean match(const PDU__SNS__Ack& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SNS__Ack valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SNS__Ack_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& nsPduType();
const OCTETSTRING_template& nsPduType() const;
NSEI__NS_template& nSEI__NS();
const NSEI__NS_template& nSEI__NS() const;
INTEGER_template& transactionID();
const INTEGER_template& transactionID() const;
CauseNS_template& causeNS();
const CauseNS_template& causeNS() const;
IP__Address__NS_template& iP__Address__NS();
const IP__Address__NS_template& iP__Address__NS() const;
ListofIP4Elements_template& listofIP4Elements();
const ListofIP4Elements_template& listofIP4Elements() const;
ListofIP6Elements_template& listofIP6Elements();
const ListofIP6Elements_template& listofIP6Elements() const;
int size_of() const;
void log() const;
void log_match(const PDU__SNS__Ack& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SNS__Add : public Base_Type {
  OCTETSTRING field_nsPduType;
  NSEI__NS field_nSEI__NS;
  INTEGER field_transactionID;
  OPTIONAL< ListofIP4Elements > field_listofIP4Elements;
  OPTIONAL< ListofIP6Elements > field_listofIP6Elements;
public:
  PDU__SNS__Add();
  PDU__SNS__Add(const OCTETSTRING& par_nsPduType,
    const NSEI__NS& par_nSEI__NS,
    const INTEGER& par_transactionID,
    const OPTIONAL< ListofIP4Elements >& par_listofIP4Elements,
    const OPTIONAL< ListofIP6Elements >& par_listofIP6Elements);
  PDU__SNS__Add(const PDU__SNS__Add& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SNS__Add& operator=(const PDU__SNS__Add& other_value);
  boolean operator==(const PDU__SNS__Add& other_value) const;
  inline boolean operator!=(const PDU__SNS__Add& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline INTEGER& transactionID()
    {return field_transactionID;}
  inline const INTEGER& transactionID() const
    {return field_transactionID;}
  inline OPTIONAL< ListofIP4Elements >& listofIP4Elements()
    {return field_listofIP4Elements;}
  inline const OPTIONAL< ListofIP4Elements >& listofIP4Elements() const
    {return field_listofIP4Elements;}
  inline OPTIONAL< ListofIP6Elements >& listofIP6Elements()
    {return field_listofIP6Elements;}
  inline const OPTIONAL< ListofIP6Elements >& listofIP6Elements() const
    {return field_listofIP6Elements;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__SNS__Add& other_value);
void copy_template(const PDU__SNS__Add_template& other_value);

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

class PDU__SNS__ChangeWeight : public Base_Type {
  OCTETSTRING field_nsPduType;
  NSEI__NS field_nSEI__NS;
  INTEGER field_transactionID;
  OPTIONAL< ListofIP4Elements > field_listofIP4Elements;
  OPTIONAL< ListofIP6Elements > field_listofIP6Elements;
public:
  PDU__SNS__ChangeWeight();
  PDU__SNS__ChangeWeight(const OCTETSTRING& par_nsPduType,
    const NSEI__NS& par_nSEI__NS,
    const INTEGER& par_transactionID,
    const OPTIONAL< ListofIP4Elements >& par_listofIP4Elements,
    const OPTIONAL< ListofIP6Elements >& par_listofIP6Elements);
  PDU__SNS__ChangeWeight(const PDU__SNS__ChangeWeight& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SNS__ChangeWeight& operator=(const PDU__SNS__ChangeWeight& other_value);
  boolean operator==(const PDU__SNS__ChangeWeight& other_value) const;
  inline boolean operator!=(const PDU__SNS__ChangeWeight& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline INTEGER& transactionID()
    {return field_transactionID;}
  inline const INTEGER& transactionID() const
    {return field_transactionID;}
  inline OPTIONAL< ListofIP4Elements >& listofIP4Elements()
    {return field_listofIP4Elements;}
  inline const OPTIONAL< ListofIP4Elements >& listofIP4Elements() const
    {return field_listofIP4Elements;}
  inline OPTIONAL< ListofIP6Elements >& listofIP6Elements()
    {return field_listofIP6Elements;}
  inline const OPTIONAL< ListofIP6Elements >& listofIP6Elements() const
    {return field_listofIP6Elements;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__SNS__ChangeWeight& other_value);
void copy_template(const PDU__SNS__ChangeWeight_template& other_value);

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

class PDU__SNS__Config : public Base_Type {
  OCTETSTRING field_nsPduType;
  EndFlag field_endFlag;
  NSEI__NS field_nSEI__NS;
  OPTIONAL< ListofIP4Elements > field_listofIP4Elements;
  OPTIONAL< ListofIP6Elements > field_listofIP6Elements;
public:
  PDU__SNS__Config();
  PDU__SNS__Config(const OCTETSTRING& par_nsPduType,
    const EndFlag& par_endFlag,
    const NSEI__NS& par_nSEI__NS,
    const OPTIONAL< ListofIP4Elements >& par_listofIP4Elements,
    const OPTIONAL< ListofIP6Elements >& par_listofIP6Elements);
  PDU__SNS__Config(const PDU__SNS__Config& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SNS__Config& operator=(const PDU__SNS__Config& other_value);
  boolean operator==(const PDU__SNS__Config& other_value) const;
  inline boolean operator!=(const PDU__SNS__Config& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline EndFlag& endFlag()
    {return field_endFlag;}
  inline const EndFlag& endFlag() const
    {return field_endFlag;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline OPTIONAL< ListofIP4Elements >& listofIP4Elements()
    {return field_listofIP4Elements;}
  inline const OPTIONAL< ListofIP4Elements >& listofIP4Elements() const
    {return field_listofIP4Elements;}
  inline OPTIONAL< ListofIP6Elements >& listofIP6Elements()
    {return field_listofIP6Elements;}
  inline const OPTIONAL< ListofIP6Elements >& listofIP6Elements() const
    {return field_listofIP6Elements;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__SNS__Config& other_value);
void copy_template(const PDU__SNS__Config_template& other_value);

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

class PDU__SNS__Config__Ack : public Base_Type {
  OCTETSTRING field_nsPduType;
  NSEI__NS field_nSEI__NS;
  OPTIONAL< CauseNS > field_causeNS;
public:
  PDU__SNS__Config__Ack();
  PDU__SNS__Config__Ack(const OCTETSTRING& par_nsPduType,
    const NSEI__NS& par_nSEI__NS,
    const OPTIONAL< CauseNS >& par_causeNS);
  PDU__SNS__Config__Ack(const PDU__SNS__Config__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SNS__Config__Ack& operator=(const PDU__SNS__Config__Ack& other_value);
  boolean operator==(const PDU__SNS__Config__Ack& other_value) const;
  inline boolean operator!=(const PDU__SNS__Config__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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline OPTIONAL< CauseNS >& causeNS()
    {return field_causeNS;}
  inline const OPTIONAL< CauseNS >& causeNS() const
    {return field_causeNS;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__SNS__Config__Ack& other_value);
void copy_template(const PDU__SNS__Config__Ack_template& other_value);

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

class PDU__SNS__Delete : public Base_Type {
  OCTETSTRING field_nsPduType;
  NSEI__NS field_nSEI__NS;
  INTEGER field_transactionID;
  OPTIONAL< IP__Address__NS > field_iP__Address__NS;
  OPTIONAL< ListofIP4Elements > field_listofIP4Elements;
  OPTIONAL< ListofIP6Elements > field_listofIP6Elements;
public:
  PDU__SNS__Delete();
  PDU__SNS__Delete(const OCTETSTRING& par_nsPduType,
    const NSEI__NS& par_nSEI__NS,
    const INTEGER& par_transactionID,
    const OPTIONAL< IP__Address__NS >& par_iP__Address__NS,
    const OPTIONAL< ListofIP4Elements >& par_listofIP4Elements,
    const OPTIONAL< ListofIP6Elements >& par_listofIP6Elements);
  PDU__SNS__Delete(const PDU__SNS__Delete& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SNS__Delete& operator=(const PDU__SNS__Delete& other_value);
  boolean operator==(const PDU__SNS__Delete& other_value) const;
  inline boolean operator!=(const PDU__SNS__Delete& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline INTEGER& transactionID()
    {return field_transactionID;}
  inline const INTEGER& transactionID() const
    {return field_transactionID;}
  inline OPTIONAL< IP__Address__NS >& iP__Address__NS()
    {return field_iP__Address__NS;}
  inline const OPTIONAL< IP__Address__NS >& iP__Address__NS() const
    {return field_iP__Address__NS;}
  inline OPTIONAL< ListofIP4Elements >& listofIP4Elements()
    {return field_listofIP4Elements;}
  inline const OPTIONAL< ListofIP4Elements >& listofIP4Elements() const
    {return field_listofIP4Elements;}
  inline OPTIONAL< ListofIP6Elements >& listofIP6Elements()
    {return field_listofIP6Elements;}
  inline const OPTIONAL< ListofIP6Elements >& listofIP6Elements() const
    {return field_listofIP6Elements;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__SNS__Delete& other_value);
void copy_template(const PDU__SNS__Delete_template& other_value);

public:
PDU__SNS__Delete_template();
PDU__SNS__Delete_template(template_sel other_value);
PDU__SNS__Delete_template(const PDU__SNS__Delete& other_value);
PDU__SNS__Delete_template(const OPTIONAL<PDU__SNS__Delete>& other_value);
PDU__SNS__Delete_template(PDU__SNS__Delete_template* p_precondition, PDU__SNS__Delete_template* p_implied_template);
PDU__SNS__Delete_template(Dynamic_Match_Interface<PDU__SNS__Delete>* p_dyn_match);
PDU__SNS__Delete_template(const PDU__SNS__Delete_template& other_value);
~PDU__SNS__Delete_template();
PDU__SNS__Delete_template& operator=(template_sel other_value);
PDU__SNS__Delete_template& operator=(const PDU__SNS__Delete& other_value);
PDU__SNS__Delete_template& operator=(const OPTIONAL<PDU__SNS__Delete>& other_value);
PDU__SNS__Delete_template& operator=(const PDU__SNS__Delete_template& other_value);
boolean match(const PDU__SNS__Delete& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SNS__Delete valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SNS__Delete_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& nsPduType();
const OCTETSTRING_template& nsPduType() const;
NSEI__NS_template& nSEI__NS();
const NSEI__NS_template& nSEI__NS() const;
INTEGER_template& transactionID();
const INTEGER_template& transactionID() const;
IP__Address__NS_template& iP__Address__NS();
const IP__Address__NS_template& iP__Address__NS() const;
ListofIP4Elements_template& listofIP4Elements();
const ListofIP4Elements_template& listofIP4Elements() const;
ListofIP6Elements_template& listofIP6Elements();
const ListofIP6Elements_template& listofIP6Elements() const;
int size_of() const;
void log() const;
void log_match(const PDU__SNS__Delete& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SNS__Size : public Base_Type {
  OCTETSTRING field_nsPduType;
  NSEI__NS field_nSEI__NS;
  ResetFlag field_resetFlag;
  MaxNumberOfNSVCs field_maxNumberOfNSVCs;
  OPTIONAL< NumberOfIP__Endpoints > field_numberOfIP4__Endpoints;
  OPTIONAL< NumberOfIP__Endpoints > field_numberOfIP6__Endpoints;
public:
  PDU__SNS__Size();
  PDU__SNS__Size(const OCTETSTRING& par_nsPduType,
    const NSEI__NS& par_nSEI__NS,
    const ResetFlag& par_resetFlag,
    const MaxNumberOfNSVCs& par_maxNumberOfNSVCs,
    const OPTIONAL< NumberOfIP__Endpoints >& par_numberOfIP4__Endpoints,
    const OPTIONAL< NumberOfIP__Endpoints >& par_numberOfIP6__Endpoints);
  PDU__SNS__Size(const PDU__SNS__Size& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SNS__Size& operator=(const PDU__SNS__Size& other_value);
  boolean operator==(const PDU__SNS__Size& other_value) const;
  inline boolean operator!=(const PDU__SNS__Size& 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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline ResetFlag& resetFlag()
    {return field_resetFlag;}
  inline const ResetFlag& resetFlag() const
    {return field_resetFlag;}
  inline MaxNumberOfNSVCs& maxNumberOfNSVCs()
    {return field_maxNumberOfNSVCs;}
  inline const MaxNumberOfNSVCs& maxNumberOfNSVCs() const
    {return field_maxNumberOfNSVCs;}
  inline OPTIONAL< NumberOfIP__Endpoints >& numberOfIP4__Endpoints()
    {return field_numberOfIP4__Endpoints;}
  inline const OPTIONAL< NumberOfIP__Endpoints >& numberOfIP4__Endpoints() const
    {return field_numberOfIP4__Endpoints;}
  inline OPTIONAL< NumberOfIP__Endpoints >& numberOfIP6__Endpoints()
    {return field_numberOfIP6__Endpoints;}
  inline const OPTIONAL< NumberOfIP__Endpoints >& numberOfIP6__Endpoints() const
    {return field_numberOfIP6__Endpoints;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__SNS__Size& other_value);
void copy_template(const PDU__SNS__Size_template& other_value);

public:
PDU__SNS__Size_template();
PDU__SNS__Size_template(template_sel other_value);
PDU__SNS__Size_template(const PDU__SNS__Size& other_value);
PDU__SNS__Size_template(const OPTIONAL<PDU__SNS__Size>& other_value);
PDU__SNS__Size_template(PDU__SNS__Size_template* p_precondition, PDU__SNS__Size_template* p_implied_template);
PDU__SNS__Size_template(Dynamic_Match_Interface<PDU__SNS__Size>* p_dyn_match);
PDU__SNS__Size_template(const PDU__SNS__Size_template& other_value);
~PDU__SNS__Size_template();
PDU__SNS__Size_template& operator=(template_sel other_value);
PDU__SNS__Size_template& operator=(const PDU__SNS__Size& other_value);
PDU__SNS__Size_template& operator=(const OPTIONAL<PDU__SNS__Size>& other_value);
PDU__SNS__Size_template& operator=(const PDU__SNS__Size_template& other_value);
boolean match(const PDU__SNS__Size& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__SNS__Size valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__SNS__Size_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& nsPduType();
const OCTETSTRING_template& nsPduType() const;
NSEI__NS_template& nSEI__NS();
const NSEI__NS_template& nSEI__NS() const;
ResetFlag_template& resetFlag();
const ResetFlag_template& resetFlag() const;
MaxNumberOfNSVCs_template& maxNumberOfNSVCs();
const MaxNumberOfNSVCs_template& maxNumberOfNSVCs() const;
NumberOfIP__Endpoints_template& numberOfIP4__Endpoints();
const NumberOfIP__Endpoints_template& numberOfIP4__Endpoints() const;
NumberOfIP__Endpoints_template& numberOfIP6__Endpoints();
const NumberOfIP__Endpoints_template& numberOfIP6__Endpoints() const;
int size_of() const;
void log() const;
void log_match(const PDU__SNS__Size& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__SNS__Size__Ack : public Base_Type {
  OCTETSTRING field_nsPduType;
  NSEI__NS field_nSEI__NS;
  OPTIONAL< CauseNS > field_causeNS;
public:
  PDU__SNS__Size__Ack();
  PDU__SNS__Size__Ack(const OCTETSTRING& par_nsPduType,
    const NSEI__NS& par_nSEI__NS,
    const OPTIONAL< CauseNS >& par_causeNS);
  PDU__SNS__Size__Ack(const PDU__SNS__Size__Ack& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__SNS__Size__Ack& operator=(const PDU__SNS__Size__Ack& other_value);
  boolean operator==(const PDU__SNS__Size__Ack& other_value) const;
  inline boolean operator!=(const PDU__SNS__Size__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& nsPduType()
    {return field_nsPduType;}
  inline const OCTETSTRING& nsPduType() const
    {return field_nsPduType;}
  inline NSEI__NS& nSEI__NS()
    {return field_nSEI__NS;}
  inline const NSEI__NS& nSEI__NS() const
    {return field_nSEI__NS;}
  inline OPTIONAL< CauseNS >& causeNS()
    {return field_causeNS;}
  inline const OPTIONAL< CauseNS >& causeNS() const
    {return field_causeNS;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const PDU__SNS__Size__Ack& other_value);
void copy_template(const PDU__SNS__Size__Ack_template& other_value);

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

class PDU__NS : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_pDU__NS__Alive = 1, ALT_pDU__NS__Alive__Ack = 2, ALT_pDU__NS__Block = 3, ALT_pDU__NS__Block__Ack = 4, ALT_pDU__NS__Reset = 5, ALT_pDU__NS__Reset__Ack = 6, ALT_pDU__NS__Status = 7, ALT_pDU__NS__Unblock = 8, ALT_pDU__NS__Unblock__Ack = 9, ALT_pDU__NS__Unitdata = 10, ALT_pDU__SNS__Ack = 11, ALT_pDU__SNS__Add = 12, ALT_pDU__SNS__ChangeWeight = 13, ALT_pDU__SNS__Config = 14, ALT_pDU__SNS__Config__Ack = 15, ALT_pDU__SNS__Delete = 16, ALT_pDU__SNS__Size = 17, ALT_pDU__SNS__Size__Ack = 18 };
private:
union_selection_type union_selection;
union {
PDU__NS__Alive *field_pDU__NS__Alive;
PDU__NS__Alive__Ack *field_pDU__NS__Alive__Ack;
PDU__NS__Block *field_pDU__NS__Block;
PDU__NS__Block__Ack *field_pDU__NS__Block__Ack;
PDU__NS__Reset *field_pDU__NS__Reset;
PDU__NS__Reset__Ack *field_pDU__NS__Reset__Ack;
PDU__NS__Status *field_pDU__NS__Status;
PDU__NS__Unblock *field_pDU__NS__Unblock;
PDU__NS__Unblock__Ack *field_pDU__NS__Unblock__Ack;
PDU__NS__Unitdata *field_pDU__NS__Unitdata;
PDU__SNS__Ack *field_pDU__SNS__Ack;
PDU__SNS__Add *field_pDU__SNS__Add;
PDU__SNS__ChangeWeight *field_pDU__SNS__ChangeWeight;
PDU__SNS__Config *field_pDU__SNS__Config;
PDU__SNS__Config__Ack *field_pDU__SNS__Config__Ack;
PDU__SNS__Delete *field_pDU__SNS__Delete;
PDU__SNS__Size *field_pDU__SNS__Size;
PDU__SNS__Size__Ack *field_pDU__SNS__Size__Ack;
};
void copy_value(const PDU__NS& other_value);

public:
PDU__NS();
PDU__NS(const PDU__NS& other_value);
~PDU__NS();
PDU__NS& operator=(const PDU__NS& other_value);
boolean operator==(const PDU__NS& other_value) const;
inline boolean operator!=(const PDU__NS& other_value) const { return !(*this == other_value); }
PDU__NS__Alive& pDU__NS__Alive();
const PDU__NS__Alive& pDU__NS__Alive() const;
PDU__NS__Alive__Ack& pDU__NS__Alive__Ack();
const PDU__NS__Alive__Ack& pDU__NS__Alive__Ack() const;
PDU__NS__Block& pDU__NS__Block();
const PDU__NS__Block& pDU__NS__Block() const;
PDU__NS__Block__Ack& pDU__NS__Block__Ack();
const PDU__NS__Block__Ack& pDU__NS__Block__Ack() const;
PDU__NS__Reset& pDU__NS__Reset();
const PDU__NS__Reset& pDU__NS__Reset() const;
PDU__NS__Reset__Ack& pDU__NS__Reset__Ack();
const PDU__NS__Reset__Ack& pDU__NS__Reset__Ack() const;
PDU__NS__Status& pDU__NS__Status();
const PDU__NS__Status& pDU__NS__Status() const;
PDU__NS__Unblock& pDU__NS__Unblock();
const PDU__NS__Unblock& pDU__NS__Unblock() const;
PDU__NS__Unblock__Ack& pDU__NS__Unblock__Ack();
const PDU__NS__Unblock__Ack& pDU__NS__Unblock__Ack() const;
PDU__NS__Unitdata& pDU__NS__Unitdata();
const PDU__NS__Unitdata& pDU__NS__Unitdata() const;
PDU__SNS__Ack& pDU__SNS__Ack();
const PDU__SNS__Ack& pDU__SNS__Ack() const;
PDU__SNS__Add& pDU__SNS__Add();
const PDU__SNS__Add& pDU__SNS__Add() const;
PDU__SNS__ChangeWeight& pDU__SNS__ChangeWeight();
const PDU__SNS__ChangeWeight& pDU__SNS__ChangeWeight() const;
PDU__SNS__Config& pDU__SNS__Config();
const PDU__SNS__Config& pDU__SNS__Config() const;
PDU__SNS__Config__Ack& pDU__SNS__Config__Ack();
const PDU__SNS__Config__Ack& pDU__SNS__Config__Ack() const;
PDU__SNS__Delete& pDU__SNS__Delete();
const PDU__SNS__Delete& pDU__SNS__Delete() const;
PDU__SNS__Size& pDU__SNS__Size();
const PDU__SNS__Size& pDU__SNS__Size() const;
PDU__SNS__Size__Ack& pDU__SNS__Size__Ack();
const PDU__SNS__Size__Ack& pDU__SNS__Size__Ack() 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__NS_template : public Base_Template {
union {
struct {
PDU__NS::union_selection_type union_selection;
union {
PDU__NS__Alive_template *field_pDU__NS__Alive;
PDU__NS__Alive__Ack_template *field_pDU__NS__Alive__Ack;
PDU__NS__Block_template *field_pDU__NS__Block;
PDU__NS__Block__Ack_template *field_pDU__NS__Block__Ack;
PDU__NS__Reset_template *field_pDU__NS__Reset;
PDU__NS__Reset__Ack_template *field_pDU__NS__Reset__Ack;
PDU__NS__Status_template *field_pDU__NS__Status;
PDU__NS__Unblock_template *field_pDU__NS__Unblock;
PDU__NS__Unblock__Ack_template *field_pDU__NS__Unblock__Ack;
PDU__NS__Unitdata_template *field_pDU__NS__Unitdata;
PDU__SNS__Ack_template *field_pDU__SNS__Ack;
PDU__SNS__Add_template *field_pDU__SNS__Add;
PDU__SNS__ChangeWeight_template *field_pDU__SNS__ChangeWeight;
PDU__SNS__Config_template *field_pDU__SNS__Config;
PDU__SNS__Config__Ack_template *field_pDU__SNS__Config__Ack;
PDU__SNS__Delete_template *field_pDU__SNS__Delete;
PDU__SNS__Size_template *field_pDU__SNS__Size;
PDU__SNS__Size__Ack_template *field_pDU__SNS__Size__Ack;
};
} single_value;
struct {
unsigned int n_values;
PDU__NS_template *list_value;
} value_list;
struct {
PDU__NS_template* precondition;
PDU__NS_template* implied_template;
} implication_;
dynmatch_struct<PDU__NS>* dyn_match;
};
void copy_value(const PDU__NS& other_value);

void copy_template(const PDU__NS_template& other_value);

public:
PDU__NS_template();
PDU__NS_template(template_sel other_value);
PDU__NS_template(const PDU__NS& other_value);
PDU__NS_template(const OPTIONAL<PDU__NS>& other_value);
PDU__NS_template(PDU__NS_template* p_precondition, PDU__NS_template* p_implied_template);
PDU__NS_template(Dynamic_Match_Interface<PDU__NS>* p_dyn_match);
PDU__NS_template(const PDU__NS_template& other_value);
~PDU__NS_template();
void clean_up();
PDU__NS_template& operator=(template_sel other_value);
PDU__NS_template& operator=(const PDU__NS& other_value);
PDU__NS_template& operator=(const OPTIONAL<PDU__NS>& other_value);
PDU__NS_template& operator=(const PDU__NS_template& other_value);
boolean match(const PDU__NS& other_value, boolean legacy = FALSE) const;
boolean is_value() const;PDU__NS valueof() const;
PDU__NS_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__NS__Alive_template& pDU__NS__Alive();
const PDU__NS__Alive_template& pDU__NS__Alive() const;
PDU__NS__Alive__Ack_template& pDU__NS__Alive__Ack();
const PDU__NS__Alive__Ack_template& pDU__NS__Alive__Ack() const;
PDU__NS__Block_template& pDU__NS__Block();
const PDU__NS__Block_template& pDU__NS__Block() const;
PDU__NS__Block__Ack_template& pDU__NS__Block__Ack();
const PDU__NS__Block__Ack_template& pDU__NS__Block__Ack() const;
PDU__NS__Reset_template& pDU__NS__Reset();
const PDU__NS__Reset_template& pDU__NS__Reset() const;
PDU__NS__Reset__Ack_template& pDU__NS__Reset__Ack();
const PDU__NS__Reset__Ack_template& pDU__NS__Reset__Ack() const;
PDU__NS__Status_template& pDU__NS__Status();
const PDU__NS__Status_template& pDU__NS__Status() const;
PDU__NS__Unblock_template& pDU__NS__Unblock();
const PDU__NS__Unblock_template& pDU__NS__Unblock() const;
PDU__NS__Unblock__Ack_template& pDU__NS__Unblock__Ack();
const PDU__NS__Unblock__Ack_template& pDU__NS__Unblock__Ack() const;
PDU__NS__Unitdata_template& pDU__NS__Unitdata();
const PDU__NS__Unitdata_template& pDU__NS__Unitdata() const;
PDU__SNS__Ack_template& pDU__SNS__Ack();
const PDU__SNS__Ack_template& pDU__SNS__Ack() const;
PDU__SNS__Add_template& pDU__SNS__Add();
const PDU__SNS__Add_template& pDU__SNS__Add() const;
PDU__SNS__ChangeWeight_template& pDU__SNS__ChangeWeight();
const PDU__SNS__ChangeWeight_template& pDU__SNS__ChangeWeight() const;
PDU__SNS__Config_template& pDU__SNS__Config();
const PDU__SNS__Config_template& pDU__SNS__Config() const;
PDU__SNS__Config__Ack_template& pDU__SNS__Config__Ack();
const PDU__SNS__Config__Ack_template& pDU__SNS__Config__Ack() const;
PDU__SNS__Delete_template& pDU__SNS__Delete();
const PDU__SNS__Delete_template& pDU__SNS__Delete() const;
PDU__SNS__Size_template& pDU__SNS__Size();
const PDU__SNS__Size_template& pDU__SNS__Size() const;
PDU__SNS__Size__Ack_template& pDU__SNS__Size__Ack();
const PDU__SNS__Size__Ack_template& pDU__SNS__Size__Ack() const;
boolean ischosen(PDU__NS::union_selection_type checked_selection) const;
void log() const;
void log_match(const PDU__NS& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};


/* Function prototypes */

extern OCTETSTRING enc__PDU__NS(const PDU__NS& pdu);
extern PDU__NS dec__PDU__NS(const OCTETSTRING& stream);
extern void CauseNS_ext_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CauseNS_ext_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LIN1__2_length1_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LIN1__2_length1_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LIN1__2_length2_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LIN1__2_length2_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void LIN1__2_encoder(const LIN1__2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER LIN1__2_decoder(OCTETSTRING& input_stream, LIN1__2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CauseNS_lengthIndicator_encoder(const LIN1__2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CauseNS_lengthIndicator_decoder(OCTETSTRING& input_stream, LIN1__2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CauseNS_encoder(const CauseNS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CauseNS_decoder(OCTETSTRING& input_stream, CauseNS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NS__VCI_ext_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NS__VCI_ext_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NS__VCI_lengthIndicator_encoder(const LIN1__2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NS__VCI_lengthIndicator_decoder(OCTETSTRING& input_stream, LIN1__2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NS__VCI_encoder(const NS__VCI& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NS__VCI_decoder(OCTETSTRING& input_stream, NS__VCI& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NS__PDU_ext_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NS__PDU_ext_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NS__PDU_lengthIndicator_encoder(const LIN1__2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NS__PDU_lengthIndicator_decoder(OCTETSTRING& input_stream, LIN1__2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NS__PDU_ns__PDU_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NS__PDU_ns__PDU_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NS__PDU_encoder(const NS__PDU& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NS__PDU_decoder(OCTETSTRING& input_stream, NS__PDU& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void BVCI__NS_ext_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER BVCI__NS_ext_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void BVCI__NS_lengthIndicator_encoder(const LIN1__2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER BVCI__NS_lengthIndicator_decoder(OCTETSTRING& input_stream, LIN1__2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void BVCI__NS_encoder(const BVCI__NS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER BVCI__NS_decoder(OCTETSTRING& input_stream, BVCI__NS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ListofIP4Elements_ext_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ListofIP4Elements_ext_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ListofIP4Elements_lengthIndicator_encoder(const LIN1__2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ListofIP4Elements_lengthIndicator_decoder(OCTETSTRING& input_stream, LIN1__2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const IP4__Elements& other_value);
inline boolean operator!=(null_type null_value, const IP4__Elements& other_value) { return !(null_value == other_value); }
extern void IP4__Element_encoder(const IP4__Element& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IP4__Element_decoder(OCTETSTRING& input_stream, IP4__Element& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IP4__Elements_encoder(const IP4__Elements& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IP4__Elements_decoder(OCTETSTRING& input_stream, IP4__Elements& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ListofIP4Elements_encoder(const ListofIP4Elements& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ListofIP4Elements_decoder(OCTETSTRING& input_stream, ListofIP4Elements& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ListofIP6Elements_ext_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ListofIP6Elements_ext_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ListofIP6Elements_lengthIndicator_encoder(const LIN1__2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ListofIP6Elements_lengthIndicator_decoder(OCTETSTRING& input_stream, LIN1__2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const IP6__Elements& other_value);
inline boolean operator!=(null_type null_value, const IP6__Elements& other_value) { return !(null_value == other_value); }
extern void IP6__Element_encoder(const IP6__Element& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IP6__Element_decoder(OCTETSTRING& input_stream, IP6__Element& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IP6__Elements_encoder(const IP6__Elements& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IP6__Elements_decoder(OCTETSTRING& input_stream, IP6__Elements& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ListofIP6Elements_encoder(const ListofIP6Elements& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ListofIP6Elements_decoder(OCTETSTRING& input_stream, ListofIP6Elements& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IPAddress_encoder(const IPAddress& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IPAddress_decoder(OCTETSTRING& input_stream, IPAddress& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IP__Address__NS_ipAddress_encoder(const IPAddress& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IP__Address__NS_ipAddress_decoder(OCTETSTRING& input_stream, IPAddress& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void IP__Address__NS_encoder(const IP__Address__NS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER IP__Address__NS_decoder(OCTETSTRING& input_stream, IP__Address__NS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void EndFlag_encoder(const EndFlag& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER EndFlag_decoder(OCTETSTRING& input_stream, EndFlag& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ResetFlag_encoder(const ResetFlag& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ResetFlag_decoder(OCTETSTRING& input_stream, ResetFlag& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MaxNumberOfNSVCs_encoder(const MaxNumberOfNSVCs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MaxNumberOfNSVCs_decoder(OCTETSTRING& input_stream, MaxNumberOfNSVCs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NumberOfIP__Endpoints_encoder(const NumberOfIP__Endpoints& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NumberOfIP__Endpoints_decoder(OCTETSTRING& input_stream, NumberOfIP__Endpoints& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NSEI__NS_ext_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NSEI__NS_ext_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NSEI__NS_lengthIndicator_encoder(const LIN1__2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NSEI__NS_lengthIndicator_decoder(OCTETSTRING& input_stream, LIN1__2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NSEI__NS_encoder(const NSEI__NS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NSEI__NS_decoder(OCTETSTRING& input_stream, NSEI__NS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NS__SDU__ControlBits_encoder(const NS__SDU__ControlBits& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NS__SDU__ControlBits_decoder(OCTETSTRING& input_stream, NS__SDU__ControlBits& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Alive_encoder(const PDU__NS__Alive& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Alive_decoder(OCTETSTRING& input_stream, PDU__NS__Alive& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Alive__Ack_encoder(const PDU__NS__Alive__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Alive__Ack_decoder(OCTETSTRING& input_stream, PDU__NS__Alive__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Block_encoder(const PDU__NS__Block& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Block_decoder(OCTETSTRING& input_stream, PDU__NS__Block& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Block__Ack_encoder(const PDU__NS__Block__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Block__Ack_decoder(OCTETSTRING& input_stream, PDU__NS__Block__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Reset_encoder(const PDU__NS__Reset& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Reset_decoder(OCTETSTRING& input_stream, PDU__NS__Reset& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Reset__Ack_encoder(const PDU__NS__Reset__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Reset__Ack_decoder(OCTETSTRING& input_stream, PDU__NS__Reset__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Status_encoder(const PDU__NS__Status& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Status_decoder(OCTETSTRING& input_stream, PDU__NS__Status& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Unblock_encoder(const PDU__NS__Unblock& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Unblock_decoder(OCTETSTRING& input_stream, PDU__NS__Unblock& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Unblock__Ack_encoder(const PDU__NS__Unblock__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Unblock__Ack_decoder(OCTETSTRING& input_stream, PDU__NS__Unblock__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Unitdata_nS__SDU_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Unitdata_nS__SDU_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS__Unitdata_encoder(const PDU__NS__Unitdata& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS__Unitdata_decoder(OCTETSTRING& input_stream, PDU__NS__Unitdata& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Ack_transactionID_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Ack_transactionID_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Ack_encoder(const PDU__SNS__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Ack_decoder(OCTETSTRING& input_stream, PDU__SNS__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Add_transactionID_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Add_transactionID_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Add_encoder(const PDU__SNS__Add& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Add_decoder(OCTETSTRING& input_stream, PDU__SNS__Add& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__ChangeWeight_transactionID_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__ChangeWeight_transactionID_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__ChangeWeight_encoder(const PDU__SNS__ChangeWeight& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__ChangeWeight_decoder(OCTETSTRING& input_stream, PDU__SNS__ChangeWeight& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Config_encoder(const PDU__SNS__Config& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Config_decoder(OCTETSTRING& input_stream, PDU__SNS__Config& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Config__Ack_encoder(const PDU__SNS__Config__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Config__Ack_decoder(OCTETSTRING& input_stream, PDU__SNS__Config__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Delete_transactionID_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Delete_transactionID_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Delete_encoder(const PDU__SNS__Delete& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Delete_decoder(OCTETSTRING& input_stream, PDU__SNS__Delete& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Size_encoder(const PDU__SNS__Size& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Size_decoder(OCTETSTRING& input_stream, PDU__SNS__Size& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__SNS__Size__Ack_encoder(const PDU__SNS__Size__Ack& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__SNS__Size__Ack_decoder(OCTETSTRING& input_stream, PDU__SNS__Size__Ack& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__NS_encoder(const PDU__NS& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__NS_decoder(OCTETSTRING& input_stream, PDU__NS& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const XERdescriptor_t CauseNS_iEI_xer_;
extern const TTCN_OERdescriptor_t CauseNS_iEI_oer_;
extern const TTCN_Typedescriptor_t CauseNS_iEI_descr_;
extern UNIVERSAL_CHARSTRING CauseNS_iEI_default_coding;
extern const TTCN_RAWdescriptor_t CauseNS_ext_raw_;
extern const XERdescriptor_t CauseNS_ext_xer_;
extern const TTCN_OERdescriptor_t CauseNS_ext_oer_;
extern const TTCN_Typedescriptor_t CauseNS_ext_descr_;
extern UNIVERSAL_CHARSTRING CauseNS_ext_default_coding;
extern const TTCN_RAWdescriptor_t LIN1__2_raw_;
extern const TTCN_Typedescriptor_t LIN1__2_descr_;
extern const TTCN_RAWdescriptor_t LIN1__2_length1_raw_;
extern const XERdescriptor_t LIN1__2_length1_xer_;
extern const TTCN_Typedescriptor_t LIN1__2_length1_descr_;
extern UNIVERSAL_CHARSTRING LIN1__2_length1_default_coding;
extern const TTCN_RAWdescriptor_t LIN1__2_length2_raw_;
extern const XERdescriptor_t LIN1__2_length2_xer_;
extern const TTCN_Typedescriptor_t LIN1__2_length2_descr_;
extern UNIVERSAL_CHARSTRING LIN1__2_length2_default_coding;
extern UNIVERSAL_CHARSTRING LIN1__2_default_coding;
extern const TTCN_RAWdescriptor_t CauseNS_lengthIndicator_raw_;
extern const TTCN_Typedescriptor_t CauseNS_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING CauseNS_lengthIndicator_default_coding;
extern const XERdescriptor_t CauseNS_cause_xer_;
extern const TTCN_OERdescriptor_t CauseNS_cause_oer_;
extern const TTCN_Typedescriptor_t CauseNS_cause_descr_;
extern UNIVERSAL_CHARSTRING CauseNS_cause_default_coding;
extern const TTCN_RAWdescriptor_t CauseNS_raw_;
extern const TTCN_Typedescriptor_t CauseNS_descr_;
extern UNIVERSAL_CHARSTRING CauseNS_default_coding;
extern const XERdescriptor_t NS__VCI_iEI_xer_;
extern const TTCN_OERdescriptor_t NS__VCI_iEI_oer_;
extern const TTCN_Typedescriptor_t NS__VCI_iEI_descr_;
extern UNIVERSAL_CHARSTRING NS__VCI_iEI_default_coding;
extern const TTCN_RAWdescriptor_t NS__VCI_ext_raw_;
extern const XERdescriptor_t NS__VCI_ext_xer_;
extern const TTCN_OERdescriptor_t NS__VCI_ext_oer_;
extern const TTCN_Typedescriptor_t NS__VCI_ext_descr_;
extern UNIVERSAL_CHARSTRING NS__VCI_ext_default_coding;
extern const TTCN_RAWdescriptor_t NS__VCI_lengthIndicator_raw_;
extern const TTCN_Typedescriptor_t NS__VCI_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NS__VCI_lengthIndicator_default_coding;
extern const XERdescriptor_t NS__VCI_nS__VCI_xer_;
extern const TTCN_OERdescriptor_t NS__VCI_nS__VCI_oer_;
extern const TTCN_Typedescriptor_t NS__VCI_nS__VCI_descr_;
extern UNIVERSAL_CHARSTRING NS__VCI_nS__VCI_default_coding;
extern const TTCN_RAWdescriptor_t NS__VCI_raw_;
extern const TTCN_Typedescriptor_t NS__VCI_descr_;
extern UNIVERSAL_CHARSTRING NS__VCI_default_coding;
extern const XERdescriptor_t NS__PDU_iEI_xer_;
extern const TTCN_OERdescriptor_t NS__PDU_iEI_oer_;
extern const TTCN_Typedescriptor_t NS__PDU_iEI_descr_;
extern UNIVERSAL_CHARSTRING NS__PDU_iEI_default_coding;
extern const TTCN_RAWdescriptor_t NS__PDU_ext_raw_;
extern const XERdescriptor_t NS__PDU_ext_xer_;
extern const TTCN_OERdescriptor_t NS__PDU_ext_oer_;
extern const TTCN_Typedescriptor_t NS__PDU_ext_descr_;
extern UNIVERSAL_CHARSTRING NS__PDU_ext_default_coding;
extern const TTCN_RAWdescriptor_t NS__PDU_lengthIndicator_raw_;
extern const TTCN_Typedescriptor_t NS__PDU_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NS__PDU_lengthIndicator_default_coding;
extern const XERdescriptor_t NS__PDU_ns__PDU_xer_;
extern const TTCN_OERdescriptor_t NS__PDU_ns__PDU_oer_;
extern const TTCN_Typedescriptor_t NS__PDU_ns__PDU_descr_;
extern UNIVERSAL_CHARSTRING NS__PDU_ns__PDU_default_coding;
extern const TTCN_RAWdescriptor_t NS__PDU_raw_;
extern const TTCN_Typedescriptor_t NS__PDU_descr_;
extern UNIVERSAL_CHARSTRING NS__PDU_default_coding;
extern const XERdescriptor_t BVCI__NS_iEI_xer_;
extern const TTCN_OERdescriptor_t BVCI__NS_iEI_oer_;
extern const TTCN_Typedescriptor_t BVCI__NS_iEI_descr_;
extern UNIVERSAL_CHARSTRING BVCI__NS_iEI_default_coding;
extern const TTCN_RAWdescriptor_t BVCI__NS_ext_raw_;
extern const XERdescriptor_t BVCI__NS_ext_xer_;
extern const TTCN_OERdescriptor_t BVCI__NS_ext_oer_;
extern const TTCN_Typedescriptor_t BVCI__NS_ext_descr_;
extern UNIVERSAL_CHARSTRING BVCI__NS_ext_default_coding;
extern const TTCN_RAWdescriptor_t BVCI__NS_lengthIndicator_raw_;
extern const TTCN_Typedescriptor_t BVCI__NS_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING BVCI__NS_lengthIndicator_default_coding;
extern const XERdescriptor_t BVCI__NS_bVCI_xer_;
extern const TTCN_OERdescriptor_t BVCI__NS_bVCI_oer_;
extern const TTCN_Typedescriptor_t BVCI__NS_bVCI_descr_;
extern UNIVERSAL_CHARSTRING BVCI__NS_bVCI_default_coding;
extern const TTCN_RAWdescriptor_t BVCI__NS_raw_;
extern const TTCN_Typedescriptor_t BVCI__NS_descr_;
extern UNIVERSAL_CHARSTRING BVCI__NS_default_coding;
extern const XERdescriptor_t ListofIP4Elements_iEI_xer_;
extern const TTCN_OERdescriptor_t ListofIP4Elements_iEI_oer_;
extern const TTCN_Typedescriptor_t ListofIP4Elements_iEI_descr_;
extern UNIVERSAL_CHARSTRING ListofIP4Elements_iEI_default_coding;
extern const TTCN_RAWdescriptor_t ListofIP4Elements_ext_raw_;
extern const XERdescriptor_t ListofIP4Elements_ext_xer_;
extern const TTCN_OERdescriptor_t ListofIP4Elements_ext_oer_;
extern const TTCN_Typedescriptor_t ListofIP4Elements_ext_descr_;
extern UNIVERSAL_CHARSTRING ListofIP4Elements_ext_default_coding;
extern const TTCN_RAWdescriptor_t ListofIP4Elements_lengthIndicator_raw_;
extern const TTCN_Typedescriptor_t ListofIP4Elements_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING ListofIP4Elements_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t IP4__Elements_raw_;
extern const TTCN_Typedescriptor_t IP4__Elements_descr_;
extern const XERdescriptor_t IP4__Element_ipAddress_xer_;
extern const TTCN_OERdescriptor_t IP4__Element_ipAddress_oer_;
extern const TTCN_Typedescriptor_t IP4__Element_ipAddress_descr_;
extern UNIVERSAL_CHARSTRING IP4__Element_ipAddress_default_coding;
extern const XERdescriptor_t IP4__Element_uDP__Port_xer_;
extern const TTCN_OERdescriptor_t IP4__Element_uDP__Port_oer_;
extern const TTCN_Typedescriptor_t IP4__Element_uDP__Port_descr_;
extern UNIVERSAL_CHARSTRING IP4__Element_uDP__Port_default_coding;
extern const XERdescriptor_t IP4__Element_signallingWeight_xer_;
extern const TTCN_OERdescriptor_t IP4__Element_signallingWeight_oer_;
extern const TTCN_Typedescriptor_t IP4__Element_signallingWeight_descr_;
extern UNIVERSAL_CHARSTRING IP4__Element_signallingWeight_default_coding;
extern const XERdescriptor_t IP4__Element_dataWeight_xer_;
extern const TTCN_OERdescriptor_t IP4__Element_dataWeight_oer_;
extern const TTCN_Typedescriptor_t IP4__Element_dataWeight_descr_;
extern UNIVERSAL_CHARSTRING IP4__Element_dataWeight_default_coding;
extern const TTCN_RAWdescriptor_t IP4__Element_raw_;
extern const TTCN_Typedescriptor_t IP4__Element_descr_;
extern UNIVERSAL_CHARSTRING IP4__Element_default_coding;
extern UNIVERSAL_CHARSTRING IP4__Elements_0_default_coding;
extern UNIVERSAL_CHARSTRING IP4__Elements_default_coding;
extern UNIVERSAL_CHARSTRING ListofIP4Elements_iP4__Elements_default_coding;
extern const TTCN_RAWdescriptor_t ListofIP4Elements_raw_;
extern const TTCN_Typedescriptor_t ListofIP4Elements_descr_;
extern UNIVERSAL_CHARSTRING ListofIP4Elements_default_coding;
extern const XERdescriptor_t ListofIP6Elements_iEI_xer_;
extern const TTCN_OERdescriptor_t ListofIP6Elements_iEI_oer_;
extern const TTCN_Typedescriptor_t ListofIP6Elements_iEI_descr_;
extern UNIVERSAL_CHARSTRING ListofIP6Elements_iEI_default_coding;
extern const TTCN_RAWdescriptor_t ListofIP6Elements_ext_raw_;
extern const XERdescriptor_t ListofIP6Elements_ext_xer_;
extern const TTCN_OERdescriptor_t ListofIP6Elements_ext_oer_;
extern const TTCN_Typedescriptor_t ListofIP6Elements_ext_descr_;
extern UNIVERSAL_CHARSTRING ListofIP6Elements_ext_default_coding;
extern const TTCN_RAWdescriptor_t ListofIP6Elements_lengthIndicator_raw_;
extern const TTCN_Typedescriptor_t ListofIP6Elements_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING ListofIP6Elements_lengthIndicator_default_coding;
extern const TTCN_RAWdescriptor_t IP6__Elements_raw_;
extern const TTCN_Typedescriptor_t IP6__Elements_descr_;
extern const XERdescriptor_t IP6__Element_ipAddress_xer_;
extern const TTCN_OERdescriptor_t IP6__Element_ipAddress_oer_;
extern const TTCN_Typedescriptor_t IP6__Element_ipAddress_descr_;
extern UNIVERSAL_CHARSTRING IP6__Element_ipAddress_default_coding;
extern const XERdescriptor_t IP6__Element_uDP__Port_xer_;
extern const TTCN_OERdescriptor_t IP6__Element_uDP__Port_oer_;
extern const TTCN_Typedescriptor_t IP6__Element_uDP__Port_descr_;
extern UNIVERSAL_CHARSTRING IP6__Element_uDP__Port_default_coding;
extern const XERdescriptor_t IP6__Element_signallingWeight_xer_;
extern const TTCN_OERdescriptor_t IP6__Element_signallingWeight_oer_;
extern const TTCN_Typedescriptor_t IP6__Element_signallingWeight_descr_;
extern UNIVERSAL_CHARSTRING IP6__Element_signallingWeight_default_coding;
extern const XERdescriptor_t IP6__Element_dataWeight_xer_;
extern const TTCN_OERdescriptor_t IP6__Element_dataWeight_oer_;
extern const TTCN_Typedescriptor_t IP6__Element_dataWeight_descr_;
extern UNIVERSAL_CHARSTRING IP6__Element_dataWeight_default_coding;
extern const TTCN_RAWdescriptor_t IP6__Element_raw_;
extern const TTCN_Typedescriptor_t IP6__Element_descr_;
extern UNIVERSAL_CHARSTRING IP6__Element_default_coding;
extern UNIVERSAL_CHARSTRING IP6__Elements_0_default_coding;
extern UNIVERSAL_CHARSTRING IP6__Elements_default_coding;
extern UNIVERSAL_CHARSTRING ListofIP6Elements_iP6__Elements_default_coding;
extern const TTCN_RAWdescriptor_t ListofIP6Elements_raw_;
extern const TTCN_Typedescriptor_t ListofIP6Elements_descr_;
extern UNIVERSAL_CHARSTRING ListofIP6Elements_default_coding;
extern const XERdescriptor_t IP__Address__NS_iEI_xer_;
extern const TTCN_OERdescriptor_t IP__Address__NS_iEI_oer_;
extern const TTCN_Typedescriptor_t IP__Address__NS_iEI_descr_;
extern UNIVERSAL_CHARSTRING IP__Address__NS_iEI_default_coding;
extern const XERdescriptor_t IP__Address__NS_addressType_xer_;
extern const TTCN_OERdescriptor_t IP__Address__NS_addressType_oer_;
extern const TTCN_Typedescriptor_t IP__Address__NS_addressType_descr_;
extern UNIVERSAL_CHARSTRING IP__Address__NS_addressType_default_coding;
extern const TTCN_RAWdescriptor_t IPAddress_raw_;
extern const TTCN_Typedescriptor_t IPAddress_descr_;
extern const XERdescriptor_t IPAddress_ip4Address_xer_;
extern const TTCN_OERdescriptor_t IPAddress_ip4Address_oer_;
extern const TTCN_Typedescriptor_t IPAddress_ip4Address_descr_;
extern UNIVERSAL_CHARSTRING IPAddress_ip4Address_default_coding;
extern const XERdescriptor_t IPAddress_ip6Address_xer_;
extern const TTCN_OERdescriptor_t IPAddress_ip6Address_oer_;
extern const TTCN_Typedescriptor_t IPAddress_ip6Address_descr_;
extern UNIVERSAL_CHARSTRING IPAddress_ip6Address_default_coding;
extern UNIVERSAL_CHARSTRING IPAddress_default_coding;
extern const TTCN_RAWdescriptor_t IP__Address__NS_ipAddress_raw_;
extern const TTCN_Typedescriptor_t IP__Address__NS_ipAddress_descr_;
extern UNIVERSAL_CHARSTRING IP__Address__NS_ipAddress_default_coding;
extern const TTCN_RAWdescriptor_t IP__Address__NS_raw_;
extern const TTCN_Typedescriptor_t IP__Address__NS_descr_;
extern UNIVERSAL_CHARSTRING IP__Address__NS_default_coding;
extern const XERdescriptor_t EndFlag_eBIT_xer_;
extern const TTCN_OERdescriptor_t EndFlag_eBIT_oer_;
extern const TTCN_Typedescriptor_t EndFlag_eBIT_descr_;
extern UNIVERSAL_CHARSTRING EndFlag_eBIT_default_coding;
extern const XERdescriptor_t EndFlag_spare_xer_;
extern const TTCN_OERdescriptor_t EndFlag_spare_oer_;
extern const TTCN_Typedescriptor_t EndFlag_spare_descr_;
extern UNIVERSAL_CHARSTRING EndFlag_spare_default_coding;
extern const TTCN_RAWdescriptor_t EndFlag_raw_;
extern const TTCN_Typedescriptor_t EndFlag_descr_;
extern UNIVERSAL_CHARSTRING EndFlag_default_coding;
extern const XERdescriptor_t ResetFlag_iEI_xer_;
extern const TTCN_OERdescriptor_t ResetFlag_iEI_oer_;
extern const TTCN_Typedescriptor_t ResetFlag_iEI_descr_;
extern UNIVERSAL_CHARSTRING ResetFlag_iEI_default_coding;
extern const XERdescriptor_t ResetFlag_resetBIT_xer_;
extern const TTCN_OERdescriptor_t ResetFlag_resetBIT_oer_;
extern const TTCN_Typedescriptor_t ResetFlag_resetBIT_descr_;
extern UNIVERSAL_CHARSTRING ResetFlag_resetBIT_default_coding;
extern const XERdescriptor_t ResetFlag_spare_xer_;
extern const TTCN_OERdescriptor_t ResetFlag_spare_oer_;
extern const TTCN_Typedescriptor_t ResetFlag_spare_descr_;
extern UNIVERSAL_CHARSTRING ResetFlag_spare_default_coding;
extern const TTCN_RAWdescriptor_t ResetFlag_raw_;
extern const TTCN_Typedescriptor_t ResetFlag_descr_;
extern UNIVERSAL_CHARSTRING ResetFlag_default_coding;
extern const XERdescriptor_t MaxNumberOfNSVCs_iEI_xer_;
extern const TTCN_OERdescriptor_t MaxNumberOfNSVCs_iEI_oer_;
extern const TTCN_Typedescriptor_t MaxNumberOfNSVCs_iEI_descr_;
extern UNIVERSAL_CHARSTRING MaxNumberOfNSVCs_iEI_default_coding;
extern const XERdescriptor_t MaxNumberOfNSVCs_maxNumberOfNSVCs_xer_;
extern const TTCN_OERdescriptor_t MaxNumberOfNSVCs_maxNumberOfNSVCs_oer_;
extern const TTCN_Typedescriptor_t MaxNumberOfNSVCs_maxNumberOfNSVCs_descr_;
extern UNIVERSAL_CHARSTRING MaxNumberOfNSVCs_maxNumberOfNSVCs_default_coding;
extern const TTCN_RAWdescriptor_t MaxNumberOfNSVCs_raw_;
extern const TTCN_Typedescriptor_t MaxNumberOfNSVCs_descr_;
extern UNIVERSAL_CHARSTRING MaxNumberOfNSVCs_default_coding;
extern const XERdescriptor_t NumberOfIP__Endpoints_iEI_xer_;
extern const TTCN_OERdescriptor_t NumberOfIP__Endpoints_iEI_oer_;
extern const TTCN_Typedescriptor_t NumberOfIP__Endpoints_iEI_descr_;
extern UNIVERSAL_CHARSTRING NumberOfIP__Endpoints_iEI_default_coding;
extern const XERdescriptor_t NumberOfIP__Endpoints_numberOfIP__Endpoints_xer_;
extern const TTCN_OERdescriptor_t NumberOfIP__Endpoints_numberOfIP__Endpoints_oer_;
extern const TTCN_Typedescriptor_t NumberOfIP__Endpoints_numberOfIP__Endpoints_descr_;
extern UNIVERSAL_CHARSTRING NumberOfIP__Endpoints_numberOfIP__Endpoints_default_coding;
extern const TTCN_RAWdescriptor_t NumberOfIP__Endpoints_raw_;
extern const TTCN_Typedescriptor_t NumberOfIP__Endpoints_descr_;
extern UNIVERSAL_CHARSTRING NumberOfIP__Endpoints_default_coding;
extern const XERdescriptor_t NSEI__NS_iEI_xer_;
extern const TTCN_OERdescriptor_t NSEI__NS_iEI_oer_;
extern const TTCN_Typedescriptor_t NSEI__NS_iEI_descr_;
extern UNIVERSAL_CHARSTRING NSEI__NS_iEI_default_coding;
extern const TTCN_RAWdescriptor_t NSEI__NS_ext_raw_;
extern const XERdescriptor_t NSEI__NS_ext_xer_;
extern const TTCN_OERdescriptor_t NSEI__NS_ext_oer_;
extern const TTCN_Typedescriptor_t NSEI__NS_ext_descr_;
extern UNIVERSAL_CHARSTRING NSEI__NS_ext_default_coding;
extern const TTCN_RAWdescriptor_t NSEI__NS_lengthIndicator_raw_;
extern const TTCN_Typedescriptor_t NSEI__NS_lengthIndicator_descr_;
extern UNIVERSAL_CHARSTRING NSEI__NS_lengthIndicator_default_coding;
extern const XERdescriptor_t NSEI__NS_nSEI_xer_;
extern const TTCN_OERdescriptor_t NSEI__NS_nSEI_oer_;
extern const TTCN_Typedescriptor_t NSEI__NS_nSEI_descr_;
extern UNIVERSAL_CHARSTRING NSEI__NS_nSEI_default_coding;
extern const TTCN_RAWdescriptor_t NSEI__NS_raw_;
extern const TTCN_Typedescriptor_t NSEI__NS_descr_;
extern UNIVERSAL_CHARSTRING NSEI__NS_default_coding;
extern const XERdescriptor_t NS__SDU__ControlBits_rBit_xer_;
extern const TTCN_OERdescriptor_t NS__SDU__ControlBits_rBit_oer_;
extern const TTCN_Typedescriptor_t NS__SDU__ControlBits_rBit_descr_;
extern UNIVERSAL_CHARSTRING NS__SDU__ControlBits_rBit_default_coding;
extern const XERdescriptor_t NS__SDU__ControlBits_cBit_xer_;
extern const TTCN_OERdescriptor_t NS__SDU__ControlBits_cBit_oer_;
extern const TTCN_Typedescriptor_t NS__SDU__ControlBits_cBit_descr_;
extern UNIVERSAL_CHARSTRING NS__SDU__ControlBits_cBit_default_coding;
extern const XERdescriptor_t NS__SDU__ControlBits_spare_xer_;
extern const TTCN_OERdescriptor_t NS__SDU__ControlBits_spare_oer_;
extern const TTCN_Typedescriptor_t NS__SDU__ControlBits_spare_descr_;
extern UNIVERSAL_CHARSTRING NS__SDU__ControlBits_spare_default_coding;
extern const TTCN_RAWdescriptor_t NS__SDU__ControlBits_raw_;
extern const TTCN_Typedescriptor_t NS__SDU__ControlBits_descr_;
extern UNIVERSAL_CHARSTRING NS__SDU__ControlBits_default_coding;
extern const XERdescriptor_t PDU__NS__Alive_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Alive_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Alive_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Alive_nsPduType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Alive_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Alive_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Alive_default_coding;
extern const XERdescriptor_t PDU__NS__Alive__Ack_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Alive__Ack_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Alive__Ack_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Alive__Ack_nsPduType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Alive__Ack_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Alive__Ack_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Alive__Ack_default_coding;
extern const XERdescriptor_t PDU__NS__Block_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Block_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Block_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Block_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Block_causeNS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Block_nS__VCI_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Block_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Block_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Block_default_coding;
extern const XERdescriptor_t PDU__NS__Block__Ack_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Block__Ack_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Block__Ack_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Block__Ack_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Block__Ack_nS__VCI_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Block__Ack_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Block__Ack_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Block__Ack_default_coding;
extern const XERdescriptor_t PDU__NS__Reset_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Reset_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Reset_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset_causeNS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset_nS__VCI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Reset_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Reset_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset_default_coding;
extern const XERdescriptor_t PDU__NS__Reset__Ack_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Reset__Ack_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Reset__Ack_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset__Ack_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset__Ack_nS__VCI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset__Ack_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Reset__Ack_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Reset__Ack_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Reset__Ack_default_coding;
extern const XERdescriptor_t PDU__NS__Status_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Status_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Status_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Status_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Status_causeNS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Status_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Status_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Status_nS__VCI_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Status_nS__PDU_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Status_bVCI__NS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Status_listofIP4Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Status_listofIP6Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Status_default_coding;
extern const XERdescriptor_t PDU__NS__Unblock_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Unblock_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Unblock_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Unblock_nsPduType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Unblock_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Unblock_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Unblock_default_coding;
extern const XERdescriptor_t PDU__NS__Unblock__Ack_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Unblock__Ack_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Unblock__Ack_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Unblock__Ack_nsPduType_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Unblock__Ack_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Unblock__Ack_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Unblock__Ack_default_coding;
extern const XERdescriptor_t PDU__NS__Unitdata_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Unitdata_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Unitdata_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Unitdata_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS__Unitdata_nS__SDU__ControlBits_default_coding;
extern const XERdescriptor_t PDU__NS__Unitdata_bVCI_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Unitdata_bVCI_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Unitdata_bVCI_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Unitdata_bVCI_default_coding;
extern const XERdescriptor_t PDU__NS__Unitdata_nS__SDU_xer_;
extern const TTCN_OERdescriptor_t PDU__NS__Unitdata_nS__SDU_oer_;
extern const TTCN_Typedescriptor_t PDU__NS__Unitdata_nS__SDU_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Unitdata_nS__SDU_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS__Unitdata_raw_;
extern const TTCN_Typedescriptor_t PDU__NS__Unitdata_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS__Unitdata_default_coding;
extern const XERdescriptor_t PDU__SNS__Ack_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__SNS__Ack_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Ack_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Ack_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Ack_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Ack_transactionID_raw_;
extern const XERdescriptor_t PDU__SNS__Ack_transactionID_xer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Ack_transactionID_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Ack_transactionID_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Ack_raw_;
extern const TTCN_Typedescriptor_t PDU__SNS__Ack_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Ack_causeNS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Ack_iP__Address__NS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Ack_listofIP4Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Ack_listofIP6Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Ack_default_coding;
extern const XERdescriptor_t PDU__SNS__Add_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__SNS__Add_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Add_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Add_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Add_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Add_transactionID_raw_;
extern const XERdescriptor_t PDU__SNS__Add_transactionID_xer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Add_transactionID_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Add_transactionID_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Add_raw_;
extern const TTCN_Typedescriptor_t PDU__SNS__Add_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Add_listofIP4Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Add_listofIP6Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Add_default_coding;
extern const XERdescriptor_t PDU__SNS__ChangeWeight_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__SNS__ChangeWeight_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__SNS__ChangeWeight_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__ChangeWeight_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__ChangeWeight_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__ChangeWeight_transactionID_raw_;
extern const XERdescriptor_t PDU__SNS__ChangeWeight_transactionID_xer_;
extern const TTCN_Typedescriptor_t PDU__SNS__ChangeWeight_transactionID_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__ChangeWeight_transactionID_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__ChangeWeight_raw_;
extern const TTCN_Typedescriptor_t PDU__SNS__ChangeWeight_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__ChangeWeight_listofIP4Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__ChangeWeight_listofIP6Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__ChangeWeight_default_coding;
extern const XERdescriptor_t PDU__SNS__Config_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__SNS__Config_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Config_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config_endFlag_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Config_raw_;
extern const TTCN_Typedescriptor_t PDU__SNS__Config_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config_listofIP4Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config_listofIP6Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config_default_coding;
extern const XERdescriptor_t PDU__SNS__Config__Ack_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__SNS__Config__Ack_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Config__Ack_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config__Ack_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config__Ack_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Config__Ack_raw_;
extern const TTCN_Typedescriptor_t PDU__SNS__Config__Ack_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config__Ack_causeNS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Config__Ack_default_coding;
extern const XERdescriptor_t PDU__SNS__Delete_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__SNS__Delete_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Delete_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Delete_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Delete_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Delete_transactionID_raw_;
extern const XERdescriptor_t PDU__SNS__Delete_transactionID_xer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Delete_transactionID_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Delete_transactionID_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Delete_raw_;
extern const TTCN_Typedescriptor_t PDU__SNS__Delete_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Delete_iP__Address__NS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Delete_listofIP4Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Delete_listofIP6Elements_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Delete_default_coding;
extern const XERdescriptor_t PDU__SNS__Size_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__SNS__Size_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Size_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size_nSEI__NS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size_resetFlag_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size_maxNumberOfNSVCs_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Size_raw_;
extern const TTCN_Typedescriptor_t PDU__SNS__Size_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size_numberOfIP4__Endpoints_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size_numberOfIP6__Endpoints_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size_default_coding;
extern const XERdescriptor_t PDU__SNS__Size__Ack_nsPduType_xer_;
extern const TTCN_OERdescriptor_t PDU__SNS__Size__Ack_nsPduType_oer_;
extern const TTCN_Typedescriptor_t PDU__SNS__Size__Ack_nsPduType_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size__Ack_nsPduType_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size__Ack_nSEI__NS_default_coding;
extern const TTCN_RAWdescriptor_t PDU__SNS__Size__Ack_raw_;
extern const TTCN_Typedescriptor_t PDU__SNS__Size__Ack_descr_;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size__Ack_causeNS_default_coding;
extern UNIVERSAL_CHARSTRING PDU__SNS__Size__Ack_default_coding;
extern const TTCN_RAWdescriptor_t PDU__NS_raw_;
extern const TTCN_Typedescriptor_t PDU__NS_descr_;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Alive_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Alive__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Block_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Block__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Reset_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Reset__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Status_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Unblock_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Unblock__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__NS__Unitdata_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__SNS__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__SNS__Add_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__SNS__ChangeWeight_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__SNS__Config_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__SNS__Config__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__SNS__Delete_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__SNS__Size_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_pDU__SNS__Size__Ack_default_coding;
extern UNIVERSAL_CHARSTRING PDU__NS_default_coding;
extern const BITSTRING bs_1,
bs_0;
extern const OCTETSTRING os_5,
os_0,
os_1,
os_2,
os_10,
os_3,
os_4,
os_11,
os_7,
os_8,
os_9,
os_6,
os_12,
os_13,
os_14,
os_15,
os_16,
os_17,
os_18,
os_19;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
