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

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

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

#ifndef GSM__SystemInformation_HH
#define GSM__SystemInformation_HH

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

/* Header file includes */

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

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

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

#undef GSM__SystemInformation_HH
#endif

namespace GSM__SystemInformation {

/* Forward declarations of classes */

class ArfcnOrMaio;
class ArfcnOrMaio_template;
class CellOptions__DTX;
class CellOptions__DTX_template;
class CellOptions;
class CellOptions_template;
class CellOptionsSacch;
class CellOptionsSacch_template;
class CellSelectionParameters;
class CellSelectionParameters_template;
class CtrlChanDesc__CC;
class CtrlChanDesc__CC_template;
class CBQ3;
class CBQ3_template;
class ControlChannelDescription;
class ControlChannelDescription_template;
class RachCtrlPar__MR;
class RachCtrlPar__MR_template;
class RachControlParameters;
class RachControlParameters_template;
class SystemInformationType1;
class SystemInformationType1_template;
class SystemInformationType2;
class SystemInformationType2_template;
class SystemInformationType2bis;
class SystemInformationType2bis_template;
class SystemInformationType2ter;
class SystemInformationType2ter_template;
class SystemInformationType2quater;
class SystemInformationType2quater_template;
class SystemInformationType3;
class SystemInformationType3_template;
class SystemInformationType4;
class SystemInformationType4_template;
class SystemInformationType5;
class SystemInformationType5_template;
class SystemInformationType5bis;
class SystemInformationType5bis_template;
class SystemInformationType5ter;
class SystemInformationType5ter_template;
class SystemInformationType6;
class SystemInformationType6_template;
class SystemInformationType13;
class SystemInformationType13_template;
class SystemInformationUnion;
class SystemInformationUnion_template;
class SystemInformation;
class SystemInformation_template;

} /* end of namespace */

#ifndef GSM__SystemInformation_HH
#define GSM__SystemInformation_HH

namespace GSM__SystemInformation {

/* Type definitions */

typedef INTEGER SysinfoCellIdentity;
typedef INTEGER_template SysinfoCellIdentity_template;
typedef OCTETSTRING CellChannelDescription;
typedef OCTETSTRING_template CellChannelDescription_template;
typedef OCTETSTRING NeighbourCellDescription;
typedef OCTETSTRING_template NeighbourCellDescription_template;
typedef OCTETSTRING NeighbourCellDescription2;
typedef OCTETSTRING_template NeighbourCellDescription2_template;
typedef BITSTRING AccessControlClass;
typedef BITSTRING_template AccessControlClass_template;

/* Class definitions */

class ArfcnOrMaio : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_arfcn = 1, ALT_maio__hsn = 2 };
private:
union_selection_type union_selection;
union {
INTEGER *field_arfcn;
GSM__RR__Types::MaioHsn *field_maio__hsn;
};
void copy_value(const ArfcnOrMaio& other_value);

public:
ArfcnOrMaio();
ArfcnOrMaio(const ArfcnOrMaio& other_value);
~ArfcnOrMaio();
ArfcnOrMaio& operator=(const ArfcnOrMaio& other_value);
boolean operator==(const ArfcnOrMaio& other_value) const;
inline boolean operator!=(const ArfcnOrMaio& other_value) const { return !(*this == other_value); }
INTEGER& arfcn();
const INTEGER& arfcn() const;
GSM__RR__Types::MaioHsn& maio__hsn();
const GSM__RR__Types::MaioHsn& maio__hsn() 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 ArfcnOrMaio_template : public Base_Template {
union {
struct {
ArfcnOrMaio::union_selection_type union_selection;
union {
INTEGER_template *field_arfcn;
GSM__RR__Types::MaioHsn_template *field_maio__hsn;
};
} single_value;
struct {
unsigned int n_values;
ArfcnOrMaio_template *list_value;
} value_list;
struct {
ArfcnOrMaio_template* precondition;
ArfcnOrMaio_template* implied_template;
} implication_;
dynmatch_struct<ArfcnOrMaio>* dyn_match;
};
void copy_value(const ArfcnOrMaio& other_value);

void copy_template(const ArfcnOrMaio_template& other_value);

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

class CellOptions__DTX : public Base_Type { // enum
friend class CellOptions__DTX_template;
public:
enum enum_type { MS__MAY__USE__UL__DTX = 0, MS__SHALL__USE__UL__DTX = 1, MS__SHALL__NOT__USE__UL__DTX = 2, UNKNOWN_VALUE = 3, UNBOUND_VALUE = 4 };
private:
enum_type enum_value;

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

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

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

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

static int enum2int(enum_type enum_par);
static int enum2int(const CellOptions__DTX& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class CellOptions__DTX_template : public Base_Template {
union {
CellOptions__DTX::enum_type single_value;
struct {
unsigned int n_values;
CellOptions__DTX_template *list_value;
} value_list;
struct {
CellOptions__DTX_template* precondition;
CellOptions__DTX_template* implied_template;
} implication_;
dynmatch_struct<CellOptions__DTX>* dyn_match;
};

void copy_template(const CellOptions__DTX_template& other_value);

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

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

boolean match(CellOptions__DTX::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const CellOptions__DTX& other_value, boolean legacy = FALSE) const;
CellOptions__DTX::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
CellOptions__DTX_template& list_item(unsigned int list_index);
void log() const;
void log_match(const CellOptions__DTX& 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 CellOptions : public Base_Type {
  BOOLEAN field_dn__ind;
  BOOLEAN field_pwrc;
  CellOptions__DTX field_dtx;
  INTEGER field_radio__link__tout__div4;
public:
  CellOptions();
  CellOptions(const BOOLEAN& par_dn__ind,
    const BOOLEAN& par_pwrc,
    const CellOptions__DTX& par_dtx,
    const INTEGER& par_radio__link__tout__div4);
  CellOptions(const CellOptions& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellOptions& operator=(const CellOptions& other_value);
  boolean operator==(const CellOptions& other_value) const;
  inline boolean operator!=(const CellOptions& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline BOOLEAN& dn__ind()
    {return field_dn__ind;}
  inline const BOOLEAN& dn__ind() const
    {return field_dn__ind;}
  inline BOOLEAN& pwrc()
    {return field_pwrc;}
  inline const BOOLEAN& pwrc() const
    {return field_pwrc;}
  inline CellOptions__DTX& dtx()
    {return field_dtx;}
  inline const CellOptions__DTX& dtx() const
    {return field_dtx;}
  inline INTEGER& radio__link__tout__div4()
    {return field_radio__link__tout__div4;}
  inline const INTEGER& radio__link__tout__div4() const
    {return field_radio__link__tout__div4;}
  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 CellOptions_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CellOptions_template *list_value;
} value_list;
struct {
CellOptions_template* precondition;
CellOptions_template* implied_template;
} implication_;
dynmatch_struct<CellOptions>* dyn_match;
};

void set_specific();
void copy_value(const CellOptions& other_value);
void copy_template(const CellOptions_template& other_value);

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

class CellOptionsSacch : public Base_Type {
  BITSTRING field_dtx__ext;
  BOOLEAN field_pwrc;
  BITSTRING field_dtx;
  BITSTRING field_radio__link__timeout;
public:
  CellOptionsSacch();
  CellOptionsSacch(const BITSTRING& par_dtx__ext,
    const BOOLEAN& par_pwrc,
    const BITSTRING& par_dtx,
    const BITSTRING& par_radio__link__timeout);
  CellOptionsSacch(const CellOptionsSacch& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellOptionsSacch& operator=(const CellOptionsSacch& other_value);
  boolean operator==(const CellOptionsSacch& other_value) const;
  inline boolean operator!=(const CellOptionsSacch& 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& dtx__ext()
    {return field_dtx__ext;}
  inline const BITSTRING& dtx__ext() const
    {return field_dtx__ext;}
  inline BOOLEAN& pwrc()
    {return field_pwrc;}
  inline const BOOLEAN& pwrc() const
    {return field_pwrc;}
  inline BITSTRING& dtx()
    {return field_dtx;}
  inline const BITSTRING& dtx() const
    {return field_dtx;}
  inline BITSTRING& radio__link__timeout()
    {return field_radio__link__timeout;}
  inline const BITSTRING& radio__link__timeout() const
    {return field_radio__link__timeout;}
  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 CellOptionsSacch_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CellOptionsSacch_template *list_value;
} value_list;
struct {
CellOptionsSacch_template* precondition;
CellOptionsSacch_template* implied_template;
} implication_;
dynmatch_struct<CellOptionsSacch>* dyn_match;
};

void set_specific();
void copy_value(const CellOptionsSacch& other_value);
void copy_template(const CellOptionsSacch_template& other_value);

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

class CellSelectionParameters : public Base_Type {
  INTEGER field_cell__resel__hyst__2dB;
  INTEGER field_ms__txpwr__max__cch;
  BITSTRING field_acs;
  BOOLEAN field_neci;
  INTEGER field_rxlev__access__min;
public:
  CellSelectionParameters();
  CellSelectionParameters(const INTEGER& par_cell__resel__hyst__2dB,
    const INTEGER& par_ms__txpwr__max__cch,
    const BITSTRING& par_acs,
    const BOOLEAN& par_neci,
    const INTEGER& par_rxlev__access__min);
  CellSelectionParameters(const CellSelectionParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellSelectionParameters& operator=(const CellSelectionParameters& other_value);
  boolean operator==(const CellSelectionParameters& other_value) const;
  inline boolean operator!=(const CellSelectionParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline INTEGER& cell__resel__hyst__2dB()
    {return field_cell__resel__hyst__2dB;}
  inline const INTEGER& cell__resel__hyst__2dB() const
    {return field_cell__resel__hyst__2dB;}
  inline INTEGER& ms__txpwr__max__cch()
    {return field_ms__txpwr__max__cch;}
  inline const INTEGER& ms__txpwr__max__cch() const
    {return field_ms__txpwr__max__cch;}
  inline BITSTRING& acs()
    {return field_acs;}
  inline const BITSTRING& acs() const
    {return field_acs;}
  inline BOOLEAN& neci()
    {return field_neci;}
  inline const BOOLEAN& neci() const
    {return field_neci;}
  inline INTEGER& rxlev__access__min()
    {return field_rxlev__access__min;}
  inline const INTEGER& rxlev__access__min() const
    {return field_rxlev__access__min;}
  inline int size_of() const
    {return 5;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const CellSelectionParameters& other_value);
void copy_template(const CellSelectionParameters_template& other_value);

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

class CtrlChanDesc__CC : public Base_Type { // enum
friend class CtrlChanDesc__CC_template;
public:
enum enum_type { CCHAN__DESC__1CCCH__NOT__COMBINED = 0, CCHAN__DESC__1CCCH__COMBINED = 1, CCHAN__DESC__2CCCH__NOT__COMBINED = 2, CCHAN__DESC__3CCCH__NOT__COMBINED = 4, CCHAN__DESC__4CCCH__NOT__COMBINED = 6, UNKNOWN_VALUE = 3, UNBOUND_VALUE = 5 };
private:
enum_type enum_value;

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

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

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

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

static int enum2int(enum_type enum_par);
static int enum2int(const CtrlChanDesc__CC& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class CtrlChanDesc__CC_template : public Base_Template {
union {
CtrlChanDesc__CC::enum_type single_value;
struct {
unsigned int n_values;
CtrlChanDesc__CC_template *list_value;
} value_list;
struct {
CtrlChanDesc__CC_template* precondition;
CtrlChanDesc__CC_template* implied_template;
} implication_;
dynmatch_struct<CtrlChanDesc__CC>* dyn_match;
};

void copy_template(const CtrlChanDesc__CC_template& other_value);

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

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

boolean match(CtrlChanDesc__CC::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const CtrlChanDesc__CC& other_value, boolean legacy = FALSE) const;
CtrlChanDesc__CC::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
CtrlChanDesc__CC_template& list_item(unsigned int list_index);
void log() const;
void log_match(const CtrlChanDesc__CC& 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 CBQ3 : public Base_Type { // enum
friend class CBQ3_template;
public:
enum enum_type { CBQ3__IU__MODE__NOT__SUPPORTED = 0, CBQ3__IU__MODE__MS__BARRED = 1, CBQ3__IU__MODE__NOT__BARRED = 2, UNKNOWN_VALUE = 3, UNBOUND_VALUE = 4 };
private:
enum_type enum_value;

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

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

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

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

static int enum2int(enum_type enum_par);
static int enum2int(const CBQ3& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class CBQ3_template : public Base_Template {
union {
CBQ3::enum_type single_value;
struct {
unsigned int n_values;
CBQ3_template *list_value;
} value_list;
struct {
CBQ3_template* precondition;
CBQ3_template* implied_template;
} implication_;
dynmatch_struct<CBQ3>* dyn_match;
};

void copy_template(const CBQ3_template& other_value);

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

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

boolean match(CBQ3::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const CBQ3& other_value, boolean legacy = FALSE) const;
CBQ3::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
CBQ3_template& list_item(unsigned int list_index);
void log() const;
void log_match(const CBQ3& 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 ControlChannelDescription : public Base_Type {
  BOOLEAN field_msc__r99;
  BOOLEAN field_att;
  INTEGER field_bs__ag__blks__res;
  CtrlChanDesc__CC field_ccch__conf;
  BOOLEAN field_si22ind;
  CBQ3 field_cbq3;
  BITSTRING field_spare;
  INTEGER field_bs__pa__mfrms;
  INTEGER field_t3212;
public:
  ControlChannelDescription();
  ControlChannelDescription(const BOOLEAN& par_msc__r99,
    const BOOLEAN& par_att,
    const INTEGER& par_bs__ag__blks__res,
    const CtrlChanDesc__CC& par_ccch__conf,
    const BOOLEAN& par_si22ind,
    const CBQ3& par_cbq3,
    const BITSTRING& par_spare,
    const INTEGER& par_bs__pa__mfrms,
    const INTEGER& par_t3212);
  ControlChannelDescription(const ControlChannelDescription& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ControlChannelDescription& operator=(const ControlChannelDescription& other_value);
  boolean operator==(const ControlChannelDescription& other_value) const;
  inline boolean operator!=(const ControlChannelDescription& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline BOOLEAN& msc__r99()
    {return field_msc__r99;}
  inline const BOOLEAN& msc__r99() const
    {return field_msc__r99;}
  inline BOOLEAN& att()
    {return field_att;}
  inline const BOOLEAN& att() const
    {return field_att;}
  inline INTEGER& bs__ag__blks__res()
    {return field_bs__ag__blks__res;}
  inline const INTEGER& bs__ag__blks__res() const
    {return field_bs__ag__blks__res;}
  inline CtrlChanDesc__CC& ccch__conf()
    {return field_ccch__conf;}
  inline const CtrlChanDesc__CC& ccch__conf() const
    {return field_ccch__conf;}
  inline BOOLEAN& si22ind()
    {return field_si22ind;}
  inline const BOOLEAN& si22ind() const
    {return field_si22ind;}
  inline CBQ3& cbq3()
    {return field_cbq3;}
  inline const CBQ3& cbq3() const
    {return field_cbq3;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline INTEGER& bs__pa__mfrms()
    {return field_bs__pa__mfrms;}
  inline const INTEGER& bs__pa__mfrms() const
    {return field_bs__pa__mfrms;}
  inline INTEGER& t3212()
    {return field_t3212;}
  inline const INTEGER& t3212() const
    {return field_t3212;}
  inline int size_of() const
    {return 9;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const ControlChannelDescription& other_value);
void copy_template(const ControlChannelDescription_template& other_value);

public:
ControlChannelDescription_template();
ControlChannelDescription_template(template_sel other_value);
ControlChannelDescription_template(const ControlChannelDescription& other_value);
ControlChannelDescription_template(const OPTIONAL<ControlChannelDescription>& other_value);
ControlChannelDescription_template(ControlChannelDescription_template* p_precondition, ControlChannelDescription_template* p_implied_template);
ControlChannelDescription_template(Dynamic_Match_Interface<ControlChannelDescription>* p_dyn_match);
ControlChannelDescription_template(const ControlChannelDescription_template& other_value);
~ControlChannelDescription_template();
ControlChannelDescription_template& operator=(template_sel other_value);
ControlChannelDescription_template& operator=(const ControlChannelDescription& other_value);
ControlChannelDescription_template& operator=(const OPTIONAL<ControlChannelDescription>& other_value);
ControlChannelDescription_template& operator=(const ControlChannelDescription_template& other_value);
boolean match(const ControlChannelDescription& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ControlChannelDescription valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ControlChannelDescription_template& list_item(unsigned int list_index) const;
BOOLEAN_template& msc__r99();
const BOOLEAN_template& msc__r99() const;
BOOLEAN_template& att();
const BOOLEAN_template& att() const;
INTEGER_template& bs__ag__blks__res();
const INTEGER_template& bs__ag__blks__res() const;
CtrlChanDesc__CC_template& ccch__conf();
const CtrlChanDesc__CC_template& ccch__conf() const;
BOOLEAN_template& si22ind();
const BOOLEAN_template& si22ind() const;
CBQ3_template& cbq3();
const CBQ3_template& cbq3() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
INTEGER_template& bs__pa__mfrms();
const INTEGER_template& bs__pa__mfrms() const;
INTEGER_template& t3212();
const INTEGER_template& t3212() const;
int size_of() const;
void log() const;
void log_match(const ControlChannelDescription& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RachCtrlPar__MR : public Base_Type { // enum
friend class RachCtrlPar__MR_template;
public:
enum enum_type { RACH__MAX__RETRANS__1 = 0, RACH__MAX__RETRANS__2 = 1, RACH__MAX__RETRANS__4 = 2, RACH__MAX__RETRANS__7 = 3, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
private:
enum_type enum_value;

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

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

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

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

static int enum2int(enum_type enum_par);
static int enum2int(const RachCtrlPar__MR& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RachCtrlPar__MR_template : public Base_Template {
union {
RachCtrlPar__MR::enum_type single_value;
struct {
unsigned int n_values;
RachCtrlPar__MR_template *list_value;
} value_list;
struct {
RachCtrlPar__MR_template* precondition;
RachCtrlPar__MR_template* implied_template;
} implication_;
dynmatch_struct<RachCtrlPar__MR>* dyn_match;
};

void copy_template(const RachCtrlPar__MR_template& other_value);

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

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

boolean match(RachCtrlPar__MR::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const RachCtrlPar__MR& other_value, boolean legacy = FALSE) const;
RachCtrlPar__MR::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
RachCtrlPar__MR_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RachCtrlPar__MR& 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 RachControlParameters : public Base_Type {
  RachCtrlPar__MR field_max__retrans;
  BITSTRING field_tx__integer;
  BOOLEAN field_cell__barr__access;
  BOOLEAN field_re__not__allowed;
  BITSTRING field_acc;
public:
  RachControlParameters();
  RachControlParameters(const RachCtrlPar__MR& par_max__retrans,
    const BITSTRING& par_tx__integer,
    const BOOLEAN& par_cell__barr__access,
    const BOOLEAN& par_re__not__allowed,
    const BITSTRING& par_acc);
  RachControlParameters(const RachControlParameters& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RachControlParameters& operator=(const RachControlParameters& other_value);
  boolean operator==(const RachControlParameters& other_value) const;
  inline boolean operator!=(const RachControlParameters& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline RachCtrlPar__MR& max__retrans()
    {return field_max__retrans;}
  inline const RachCtrlPar__MR& max__retrans() const
    {return field_max__retrans;}
  inline BITSTRING& tx__integer()
    {return field_tx__integer;}
  inline const BITSTRING& tx__integer() const
    {return field_tx__integer;}
  inline BOOLEAN& cell__barr__access()
    {return field_cell__barr__access;}
  inline const BOOLEAN& cell__barr__access() const
    {return field_cell__barr__access;}
  inline BOOLEAN& re__not__allowed()
    {return field_re__not__allowed;}
  inline const BOOLEAN& re__not__allowed() const
    {return field_re__not__allowed;}
  inline BITSTRING& acc()
    {return field_acc;}
  inline const BITSTRING& acc() const
    {return field_acc;}
  inline int size_of() const
    {return 5;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const RachControlParameters& other_value);
void copy_template(const RachControlParameters_template& other_value);

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

class SystemInformationType1 : public Base_Type {
  OCTETSTRING field_cell__chan__desc;
  RachControlParameters field_rach__control;
  OCTETSTRING field_rest__octets;
public:
  SystemInformationType1();
  SystemInformationType1(const OCTETSTRING& par_cell__chan__desc,
    const RachControlParameters& par_rach__control,
    const OCTETSTRING& par_rest__octets);
  SystemInformationType1(const SystemInformationType1& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType1& operator=(const SystemInformationType1& other_value);
  boolean operator==(const SystemInformationType1& other_value) const;
  inline boolean operator!=(const SystemInformationType1& 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& cell__chan__desc()
    {return field_cell__chan__desc;}
  inline const OCTETSTRING& cell__chan__desc() const
    {return field_cell__chan__desc;}
  inline RachControlParameters& rach__control()
    {return field_rach__control;}
  inline const RachControlParameters& rach__control() const
    {return field_rach__control;}
  inline OCTETSTRING& rest__octets()
    {return field_rest__octets;}
  inline const OCTETSTRING& rest__octets() const
    {return field_rest__octets;}
  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 SystemInformationType1_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SystemInformationType1_template *list_value;
} value_list;
struct {
SystemInformationType1_template* precondition;
SystemInformationType1_template* implied_template;
} implication_;
dynmatch_struct<SystemInformationType1>* dyn_match;
};

void set_specific();
void copy_value(const SystemInformationType1& other_value);
void copy_template(const SystemInformationType1_template& other_value);

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

class SystemInformationType2 : public Base_Type {
  OCTETSTRING field_bcch__freq__list;
  BITSTRING field_ncc__permitted;
  RachControlParameters field_rach__control;
public:
  SystemInformationType2();
  SystemInformationType2(const OCTETSTRING& par_bcch__freq__list,
    const BITSTRING& par_ncc__permitted,
    const RachControlParameters& par_rach__control);
  SystemInformationType2(const SystemInformationType2& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType2& operator=(const SystemInformationType2& other_value);
  boolean operator==(const SystemInformationType2& other_value) const;
  inline boolean operator!=(const SystemInformationType2& 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& bcch__freq__list()
    {return field_bcch__freq__list;}
  inline const OCTETSTRING& bcch__freq__list() const
    {return field_bcch__freq__list;}
  inline BITSTRING& ncc__permitted()
    {return field_ncc__permitted;}
  inline const BITSTRING& ncc__permitted() const
    {return field_ncc__permitted;}
  inline RachControlParameters& rach__control()
    {return field_rach__control;}
  inline const RachControlParameters& rach__control() const
    {return field_rach__control;}
  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 SystemInformationType2_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SystemInformationType2_template *list_value;
} value_list;
struct {
SystemInformationType2_template* precondition;
SystemInformationType2_template* implied_template;
} implication_;
dynmatch_struct<SystemInformationType2>* dyn_match;
};

void set_specific();
void copy_value(const SystemInformationType2& other_value);
void copy_template(const SystemInformationType2_template& other_value);

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

class SystemInformationType2bis : public Base_Type {
  OCTETSTRING field_extd__bcch__freq__list;
  RachControlParameters field_rach__control;
  OCTETSTRING field_rest__octets;
public:
  SystemInformationType2bis();
  SystemInformationType2bis(const OCTETSTRING& par_extd__bcch__freq__list,
    const RachControlParameters& par_rach__control,
    const OCTETSTRING& par_rest__octets);
  SystemInformationType2bis(const SystemInformationType2bis& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType2bis& operator=(const SystemInformationType2bis& other_value);
  boolean operator==(const SystemInformationType2bis& other_value) const;
  inline boolean operator!=(const SystemInformationType2bis& 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& extd__bcch__freq__list()
    {return field_extd__bcch__freq__list;}
  inline const OCTETSTRING& extd__bcch__freq__list() const
    {return field_extd__bcch__freq__list;}
  inline RachControlParameters& rach__control()
    {return field_rach__control;}
  inline const RachControlParameters& rach__control() const
    {return field_rach__control;}
  inline OCTETSTRING& rest__octets()
    {return field_rest__octets;}
  inline const OCTETSTRING& rest__octets() const
    {return field_rest__octets;}
  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 SystemInformationType2bis_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SystemInformationType2bis_template *list_value;
} value_list;
struct {
SystemInformationType2bis_template* precondition;
SystemInformationType2bis_template* implied_template;
} implication_;
dynmatch_struct<SystemInformationType2bis>* dyn_match;
};

void set_specific();
void copy_value(const SystemInformationType2bis& other_value);
void copy_template(const SystemInformationType2bis_template& other_value);

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

class SystemInformationType2ter : public Base_Type {
  OCTETSTRING field_extd__bcch__freq__list;
  OCTETSTRING field_rest__octets;
public:
  SystemInformationType2ter();
  SystemInformationType2ter(const OCTETSTRING& par_extd__bcch__freq__list,
    const OCTETSTRING& par_rest__octets);
  SystemInformationType2ter(const SystemInformationType2ter& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType2ter& operator=(const SystemInformationType2ter& other_value);
  boolean operator==(const SystemInformationType2ter& other_value) const;
  inline boolean operator!=(const SystemInformationType2ter& 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& extd__bcch__freq__list()
    {return field_extd__bcch__freq__list;}
  inline const OCTETSTRING& extd__bcch__freq__list() const
    {return field_extd__bcch__freq__list;}
  inline OCTETSTRING& rest__octets()
    {return field_rest__octets;}
  inline const OCTETSTRING& rest__octets() const
    {return field_rest__octets;}
  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 SystemInformationType2ter_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SystemInformationType2ter_template *list_value;
} value_list;
struct {
SystemInformationType2ter_template* precondition;
SystemInformationType2ter_template* implied_template;
} implication_;
dynmatch_struct<SystemInformationType2ter>* dyn_match;
};

void set_specific();
void copy_value(const SystemInformationType2ter& other_value);
void copy_template(const SystemInformationType2ter_template& other_value);

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

class SystemInformationType2quater : public Base_Type {
  GSM__RestOctets::SI2quaterRestOctets field_rest__octets;
public:
  SystemInformationType2quater();
  SystemInformationType2quater(const GSM__RestOctets::SI2quaterRestOctets& par_rest__octets);
  SystemInformationType2quater(const SystemInformationType2quater& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType2quater& operator=(const SystemInformationType2quater& other_value);
  boolean operator==(const SystemInformationType2quater& other_value) const;
  inline boolean operator!=(const SystemInformationType2quater& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline GSM__RestOctets::SI2quaterRestOctets& rest__octets()
    {return field_rest__octets;}
  inline const GSM__RestOctets::SI2quaterRestOctets& rest__octets() const
    {return field_rest__octets;}
  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 SystemInformationType2quater_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SystemInformationType2quater_template *list_value;
} value_list;
struct {
SystemInformationType2quater_template* precondition;
SystemInformationType2quater_template* implied_template;
} implication_;
dynmatch_struct<SystemInformationType2quater>* dyn_match;
};

void set_specific();
void copy_value(const SystemInformationType2quater& other_value);
void copy_template(const SystemInformationType2quater_template& other_value);

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

class SystemInformationType3 : public Base_Type {
  INTEGER field_cell__id;
  GSM__Types::LocationAreaIdentification field_lai;
  ControlChannelDescription field_ctrl__chan__desc;
  CellOptions field_cell__options;
  CellSelectionParameters field_cell__sel__par;
  RachControlParameters field_rach__control;
  GSM__RestOctets::SI3RestOctets field_rest__octets;
public:
  SystemInformationType3();
  SystemInformationType3(const INTEGER& par_cell__id,
    const GSM__Types::LocationAreaIdentification& par_lai,
    const ControlChannelDescription& par_ctrl__chan__desc,
    const CellOptions& par_cell__options,
    const CellSelectionParameters& par_cell__sel__par,
    const RachControlParameters& par_rach__control,
    const GSM__RestOctets::SI3RestOctets& par_rest__octets);
  SystemInformationType3(const SystemInformationType3& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType3& operator=(const SystemInformationType3& other_value);
  boolean operator==(const SystemInformationType3& other_value) const;
  inline boolean operator!=(const SystemInformationType3& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline INTEGER& cell__id()
    {return field_cell__id;}
  inline const INTEGER& cell__id() const
    {return field_cell__id;}
  inline GSM__Types::LocationAreaIdentification& lai()
    {return field_lai;}
  inline const GSM__Types::LocationAreaIdentification& lai() const
    {return field_lai;}
  inline ControlChannelDescription& ctrl__chan__desc()
    {return field_ctrl__chan__desc;}
  inline const ControlChannelDescription& ctrl__chan__desc() const
    {return field_ctrl__chan__desc;}
  inline CellOptions& cell__options()
    {return field_cell__options;}
  inline const CellOptions& cell__options() const
    {return field_cell__options;}
  inline CellSelectionParameters& cell__sel__par()
    {return field_cell__sel__par;}
  inline const CellSelectionParameters& cell__sel__par() const
    {return field_cell__sel__par;}
  inline RachControlParameters& rach__control()
    {return field_rach__control;}
  inline const RachControlParameters& rach__control() const
    {return field_rach__control;}
  inline GSM__RestOctets::SI3RestOctets& rest__octets()
    {return field_rest__octets;}
  inline const GSM__RestOctets::SI3RestOctets& rest__octets() const
    {return field_rest__octets;}
  inline int size_of() const
    {return 7;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const SystemInformationType3& other_value);
void copy_template(const SystemInformationType3_template& other_value);

public:
SystemInformationType3_template();
SystemInformationType3_template(template_sel other_value);
SystemInformationType3_template(const SystemInformationType3& other_value);
SystemInformationType3_template(const OPTIONAL<SystemInformationType3>& other_value);
SystemInformationType3_template(SystemInformationType3_template* p_precondition, SystemInformationType3_template* p_implied_template);
SystemInformationType3_template(Dynamic_Match_Interface<SystemInformationType3>* p_dyn_match);
SystemInformationType3_template(const SystemInformationType3_template& other_value);
~SystemInformationType3_template();
SystemInformationType3_template& operator=(template_sel other_value);
SystemInformationType3_template& operator=(const SystemInformationType3& other_value);
SystemInformationType3_template& operator=(const OPTIONAL<SystemInformationType3>& other_value);
SystemInformationType3_template& operator=(const SystemInformationType3_template& other_value);
boolean match(const SystemInformationType3& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
SystemInformationType3 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
SystemInformationType3_template& list_item(unsigned int list_index) const;
INTEGER_template& cell__id();
const INTEGER_template& cell__id() const;
GSM__Types::LocationAreaIdentification_template& lai();
const GSM__Types::LocationAreaIdentification_template& lai() const;
ControlChannelDescription_template& ctrl__chan__desc();
const ControlChannelDescription_template& ctrl__chan__desc() const;
CellOptions_template& cell__options();
const CellOptions_template& cell__options() const;
CellSelectionParameters_template& cell__sel__par();
const CellSelectionParameters_template& cell__sel__par() const;
RachControlParameters_template& rach__control();
const RachControlParameters_template& rach__control() const;
GSM__RestOctets::SI3RestOctets_template& rest__octets();
const GSM__RestOctets::SI3RestOctets_template& rest__octets() const;
int size_of() const;
void log() const;
void log_match(const SystemInformationType3& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class SystemInformationType4 : public Base_Type {
  GSM__Types::LocationAreaIdentification field_lai;
  CellSelectionParameters field_cell__sel__par;
  RachControlParameters field_rach__control;
  OPTIONAL< GSM__RR__Types::ChannelDescriptionTV > field_cbch__chan__desc;
  OPTIONAL< GSM__RR__Types::MobileAllocationTLV > field_cbch__mobile__alloc;
  GSM__RestOctets::SI4RestOctets field_rest__octets;
public:
  SystemInformationType4();
  SystemInformationType4(const GSM__Types::LocationAreaIdentification& par_lai,
    const CellSelectionParameters& par_cell__sel__par,
    const RachControlParameters& par_rach__control,
    const OPTIONAL< GSM__RR__Types::ChannelDescriptionTV >& par_cbch__chan__desc,
    const OPTIONAL< GSM__RR__Types::MobileAllocationTLV >& par_cbch__mobile__alloc,
    const GSM__RestOctets::SI4RestOctets& par_rest__octets);
  SystemInformationType4(const SystemInformationType4& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType4& operator=(const SystemInformationType4& other_value);
  boolean operator==(const SystemInformationType4& other_value) const;
  inline boolean operator!=(const SystemInformationType4& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline GSM__Types::LocationAreaIdentification& lai()
    {return field_lai;}
  inline const GSM__Types::LocationAreaIdentification& lai() const
    {return field_lai;}
  inline CellSelectionParameters& cell__sel__par()
    {return field_cell__sel__par;}
  inline const CellSelectionParameters& cell__sel__par() const
    {return field_cell__sel__par;}
  inline RachControlParameters& rach__control()
    {return field_rach__control;}
  inline const RachControlParameters& rach__control() const
    {return field_rach__control;}
  inline OPTIONAL< GSM__RR__Types::ChannelDescriptionTV >& cbch__chan__desc()
    {return field_cbch__chan__desc;}
  inline const OPTIONAL< GSM__RR__Types::ChannelDescriptionTV >& cbch__chan__desc() const
    {return field_cbch__chan__desc;}
  inline OPTIONAL< GSM__RR__Types::MobileAllocationTLV >& cbch__mobile__alloc()
    {return field_cbch__mobile__alloc;}
  inline const OPTIONAL< GSM__RR__Types::MobileAllocationTLV >& cbch__mobile__alloc() const
    {return field_cbch__mobile__alloc;}
  inline GSM__RestOctets::SI4RestOctets& rest__octets()
    {return field_rest__octets;}
  inline const GSM__RestOctets::SI4RestOctets& rest__octets() const
    {return field_rest__octets;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const SystemInformationType4& other_value);
void copy_template(const SystemInformationType4_template& other_value);

public:
SystemInformationType4_template();
SystemInformationType4_template(template_sel other_value);
SystemInformationType4_template(const SystemInformationType4& other_value);
SystemInformationType4_template(const OPTIONAL<SystemInformationType4>& other_value);
SystemInformationType4_template(SystemInformationType4_template* p_precondition, SystemInformationType4_template* p_implied_template);
SystemInformationType4_template(Dynamic_Match_Interface<SystemInformationType4>* p_dyn_match);
SystemInformationType4_template(const SystemInformationType4_template& other_value);
~SystemInformationType4_template();
SystemInformationType4_template& operator=(template_sel other_value);
SystemInformationType4_template& operator=(const SystemInformationType4& other_value);
SystemInformationType4_template& operator=(const OPTIONAL<SystemInformationType4>& other_value);
SystemInformationType4_template& operator=(const SystemInformationType4_template& other_value);
boolean match(const SystemInformationType4& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
SystemInformationType4 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
SystemInformationType4_template& list_item(unsigned int list_index) const;
GSM__Types::LocationAreaIdentification_template& lai();
const GSM__Types::LocationAreaIdentification_template& lai() const;
CellSelectionParameters_template& cell__sel__par();
const CellSelectionParameters_template& cell__sel__par() const;
RachControlParameters_template& rach__control();
const RachControlParameters_template& rach__control() const;
GSM__RR__Types::ChannelDescriptionTV_template& cbch__chan__desc();
const GSM__RR__Types::ChannelDescriptionTV_template& cbch__chan__desc() const;
GSM__RR__Types::MobileAllocationTLV_template& cbch__mobile__alloc();
const GSM__RR__Types::MobileAllocationTLV_template& cbch__mobile__alloc() const;
GSM__RestOctets::SI4RestOctets_template& rest__octets();
const GSM__RestOctets::SI4RestOctets_template& rest__octets() const;
int size_of() const;
void log() const;
void log_match(const SystemInformationType4& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

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

void set_specific();
void copy_value(const SystemInformationType5& other_value);
void copy_template(const SystemInformationType5_template& other_value);

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

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

void set_specific();
void copy_value(const SystemInformationType5bis& other_value);
void copy_template(const SystemInformationType5bis_template& other_value);

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

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

void set_specific();
void copy_value(const SystemInformationType5ter& other_value);
void copy_template(const SystemInformationType5ter_template& other_value);

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

class SystemInformationType6 : public Base_Type {
  INTEGER field_cell__id;
  GSM__Types::LocationAreaIdentification field_lai;
  CellOptionsSacch field_cell__options;
  BITSTRING field_ncc__permitted;
  GSM__RestOctets::SI6RestOctets field_rest__octets;
public:
  SystemInformationType6();
  SystemInformationType6(const INTEGER& par_cell__id,
    const GSM__Types::LocationAreaIdentification& par_lai,
    const CellOptionsSacch& par_cell__options,
    const BITSTRING& par_ncc__permitted,
    const GSM__RestOctets::SI6RestOctets& par_rest__octets);
  SystemInformationType6(const SystemInformationType6& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType6& operator=(const SystemInformationType6& other_value);
  boolean operator==(const SystemInformationType6& other_value) const;
  inline boolean operator!=(const SystemInformationType6& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline INTEGER& cell__id()
    {return field_cell__id;}
  inline const INTEGER& cell__id() const
    {return field_cell__id;}
  inline GSM__Types::LocationAreaIdentification& lai()
    {return field_lai;}
  inline const GSM__Types::LocationAreaIdentification& lai() const
    {return field_lai;}
  inline CellOptionsSacch& cell__options()
    {return field_cell__options;}
  inline const CellOptionsSacch& cell__options() const
    {return field_cell__options;}
  inline BITSTRING& ncc__permitted()
    {return field_ncc__permitted;}
  inline const BITSTRING& ncc__permitted() const
    {return field_ncc__permitted;}
  inline GSM__RestOctets::SI6RestOctets& rest__octets()
    {return field_rest__octets;}
  inline const GSM__RestOctets::SI6RestOctets& rest__octets() const
    {return field_rest__octets;}
  inline int size_of() const
    {return 5;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const SystemInformationType6& other_value);
void copy_template(const SystemInformationType6_template& other_value);

public:
SystemInformationType6_template();
SystemInformationType6_template(template_sel other_value);
SystemInformationType6_template(const SystemInformationType6& other_value);
SystemInformationType6_template(const OPTIONAL<SystemInformationType6>& other_value);
SystemInformationType6_template(SystemInformationType6_template* p_precondition, SystemInformationType6_template* p_implied_template);
SystemInformationType6_template(Dynamic_Match_Interface<SystemInformationType6>* p_dyn_match);
SystemInformationType6_template(const SystemInformationType6_template& other_value);
~SystemInformationType6_template();
SystemInformationType6_template& operator=(template_sel other_value);
SystemInformationType6_template& operator=(const SystemInformationType6& other_value);
SystemInformationType6_template& operator=(const OPTIONAL<SystemInformationType6>& other_value);
SystemInformationType6_template& operator=(const SystemInformationType6_template& other_value);
boolean match(const SystemInformationType6& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
SystemInformationType6 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
SystemInformationType6_template& list_item(unsigned int list_index) const;
INTEGER_template& cell__id();
const INTEGER_template& cell__id() const;
GSM__Types::LocationAreaIdentification_template& lai();
const GSM__Types::LocationAreaIdentification_template& lai() const;
CellOptionsSacch_template& cell__options();
const CellOptionsSacch_template& cell__options() const;
BITSTRING_template& ncc__permitted();
const BITSTRING_template& ncc__permitted() const;
GSM__RestOctets::SI6RestOctets_template& rest__octets();
const GSM__RestOctets::SI6RestOctets_template& rest__octets() const;
int size_of() const;
void log() const;
void log_match(const SystemInformationType6& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class SystemInformationType13 : public Base_Type {
  GSM__RestOctets::SI13RestOctets field_rest__octets;
public:
  SystemInformationType13();
  SystemInformationType13(const GSM__RestOctets::SI13RestOctets& par_rest__octets);
  SystemInformationType13(const SystemInformationType13& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SystemInformationType13& operator=(const SystemInformationType13& other_value);
  boolean operator==(const SystemInformationType13& other_value) const;
  inline boolean operator!=(const SystemInformationType13& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline GSM__RestOctets::SI13RestOctets& rest__octets()
    {return field_rest__octets;}
  inline const GSM__RestOctets::SI13RestOctets& rest__octets() const
    {return field_rest__octets;}
  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 SystemInformationType13_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SystemInformationType13_template *list_value;
} value_list;
struct {
SystemInformationType13_template* precondition;
SystemInformationType13_template* implied_template;
} implication_;
dynmatch_struct<SystemInformationType13>* dyn_match;
};

void set_specific();
void copy_value(const SystemInformationType13& other_value);
void copy_template(const SystemInformationType13_template& other_value);

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

class SystemInformationUnion : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_si1 = 1, ALT_si2 = 2, ALT_si2bis = 3, ALT_si2ter = 4, ALT_si2quater = 5, ALT_si3 = 6, ALT_si4 = 7, ALT_si5 = 8, ALT_si5bis = 9, ALT_si5ter = 10, ALT_si6 = 11, ALT_si13 = 12, ALT_other = 13 };
private:
union_selection_type union_selection;
union {
SystemInformationType1 *field_si1;
SystemInformationType2 *field_si2;
SystemInformationType2bis *field_si2bis;
SystemInformationType2ter *field_si2ter;
SystemInformationType2quater *field_si2quater;
SystemInformationType3 *field_si3;
SystemInformationType4 *field_si4;
SystemInformationType5 *field_si5;
SystemInformationType5bis *field_si5bis;
SystemInformationType5ter *field_si5ter;
SystemInformationType6 *field_si6;
SystemInformationType13 *field_si13;
OCTETSTRING *field_other;
};
void copy_value(const SystemInformationUnion& other_value);

public:
SystemInformationUnion();
SystemInformationUnion(const SystemInformationUnion& other_value);
~SystemInformationUnion();
SystemInformationUnion& operator=(const SystemInformationUnion& other_value);
boolean operator==(const SystemInformationUnion& other_value) const;
inline boolean operator!=(const SystemInformationUnion& other_value) const { return !(*this == other_value); }
SystemInformationType1& si1();
const SystemInformationType1& si1() const;
SystemInformationType2& si2();
const SystemInformationType2& si2() const;
SystemInformationType2bis& si2bis();
const SystemInformationType2bis& si2bis() const;
SystemInformationType2ter& si2ter();
const SystemInformationType2ter& si2ter() const;
SystemInformationType2quater& si2quater();
const SystemInformationType2quater& si2quater() const;
SystemInformationType3& si3();
const SystemInformationType3& si3() const;
SystemInformationType4& si4();
const SystemInformationType4& si4() const;
SystemInformationType5& si5();
const SystemInformationType5& si5() const;
SystemInformationType5bis& si5bis();
const SystemInformationType5bis& si5bis() const;
SystemInformationType5ter& si5ter();
const SystemInformationType5ter& si5ter() const;
SystemInformationType6& si6();
const SystemInformationType6& si6() const;
SystemInformationType13& si13();
const SystemInformationType13& si13() const;
OCTETSTRING& other();
const OCTETSTRING& other() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class SystemInformationUnion_template : public Base_Template {
union {
struct {
SystemInformationUnion::union_selection_type union_selection;
union {
SystemInformationType1_template *field_si1;
SystemInformationType2_template *field_si2;
SystemInformationType2bis_template *field_si2bis;
SystemInformationType2ter_template *field_si2ter;
SystemInformationType2quater_template *field_si2quater;
SystemInformationType3_template *field_si3;
SystemInformationType4_template *field_si4;
SystemInformationType5_template *field_si5;
SystemInformationType5bis_template *field_si5bis;
SystemInformationType5ter_template *field_si5ter;
SystemInformationType6_template *field_si6;
SystemInformationType13_template *field_si13;
OCTETSTRING_template *field_other;
};
} single_value;
struct {
unsigned int n_values;
SystemInformationUnion_template *list_value;
} value_list;
struct {
SystemInformationUnion_template* precondition;
SystemInformationUnion_template* implied_template;
} implication_;
dynmatch_struct<SystemInformationUnion>* dyn_match;
};
void copy_value(const SystemInformationUnion& other_value);

void copy_template(const SystemInformationUnion_template& other_value);

public:
SystemInformationUnion_template();
SystemInformationUnion_template(template_sel other_value);
SystemInformationUnion_template(const SystemInformationUnion& other_value);
SystemInformationUnion_template(const OPTIONAL<SystemInformationUnion>& other_value);
SystemInformationUnion_template(SystemInformationUnion_template* p_precondition, SystemInformationUnion_template* p_implied_template);
SystemInformationUnion_template(Dynamic_Match_Interface<SystemInformationUnion>* p_dyn_match);
SystemInformationUnion_template(const SystemInformationUnion_template& other_value);
~SystemInformationUnion_template();
void clean_up();
SystemInformationUnion_template& operator=(template_sel other_value);
SystemInformationUnion_template& operator=(const SystemInformationUnion& other_value);
SystemInformationUnion_template& operator=(const OPTIONAL<SystemInformationUnion>& other_value);
SystemInformationUnion_template& operator=(const SystemInformationUnion_template& other_value);
boolean match(const SystemInformationUnion& other_value, boolean legacy = FALSE) const;
boolean is_value() const;SystemInformationUnion valueof() const;
SystemInformationUnion_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
SystemInformationType1_template& si1();
const SystemInformationType1_template& si1() const;
SystemInformationType2_template& si2();
const SystemInformationType2_template& si2() const;
SystemInformationType2bis_template& si2bis();
const SystemInformationType2bis_template& si2bis() const;
SystemInformationType2ter_template& si2ter();
const SystemInformationType2ter_template& si2ter() const;
SystemInformationType2quater_template& si2quater();
const SystemInformationType2quater_template& si2quater() const;
SystemInformationType3_template& si3();
const SystemInformationType3_template& si3() const;
SystemInformationType4_template& si4();
const SystemInformationType4_template& si4() const;
SystemInformationType5_template& si5();
const SystemInformationType5_template& si5() const;
SystemInformationType5bis_template& si5bis();
const SystemInformationType5bis_template& si5bis() const;
SystemInformationType5ter_template& si5ter();
const SystemInformationType5ter_template& si5ter() const;
SystemInformationType6_template& si6();
const SystemInformationType6_template& si6() const;
SystemInformationType13_template& si13();
const SystemInformationType13_template& si13() const;
OCTETSTRING_template& other();
const OCTETSTRING_template& other() const;
boolean ischosen(SystemInformationUnion::union_selection_type checked_selection) const;
void log() const;
void log_match(const SystemInformationUnion& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

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

  boolean is_bound() const;

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

  inline GSM__RR__Types::RrHeader& header()
    {return field_header;}
  inline const GSM__RR__Types::RrHeader& header() const
    {return field_header;}
  inline SystemInformationUnion& payload()
    {return field_payload;}
  inline const SystemInformationUnion& payload() const
    {return field_payload;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const SystemInformation& other_value);
void copy_template(const SystemInformation_template& other_value);

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


/* Function prototypes */

extern void ArfcnOrMaio_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ArfcnOrMaio_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ArfcnOrMaio_maio__hsn_encoder(const GSM__RR__Types::MaioHsn& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ArfcnOrMaio_maio__hsn_decoder(OCTETSTRING& input_stream, GSM__RR__Types::MaioHsn& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ArfcnOrMaio_encoder(const ArfcnOrMaio& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ArfcnOrMaio_decoder(OCTETSTRING& input_stream, ArfcnOrMaio& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SysinfoCellIdentity_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SysinfoCellIdentity_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellChannelDescription_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellChannelDescription_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptions__DTX_encoder(const CellOptions__DTX& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptions__DTX_decoder(OCTETSTRING& input_stream, CellOptions__DTX& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptions_dn__ind_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptions_dn__ind_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptions_pwrc_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptions_pwrc_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptions_dtx_encoder(const CellOptions__DTX& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptions_dtx_decoder(OCTETSTRING& input_stream, CellOptions__DTX& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptions_radio__link__tout__div4_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptions_radio__link__tout__div4_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptions_encoder(const CellOptions& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptions_decoder(OCTETSTRING& input_stream, CellOptions& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptionsSacch_dtx__ext_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptionsSacch_dtx__ext_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptionsSacch_pwrc_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptionsSacch_pwrc_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptionsSacch_dtx_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptionsSacch_dtx_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptionsSacch_radio__link__timeout_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptionsSacch_radio__link__timeout_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellOptionsSacch_encoder(const CellOptionsSacch& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellOptionsSacch_decoder(OCTETSTRING& input_stream, CellOptionsSacch& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelectionParameters_cell__resel__hyst__2dB_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelectionParameters_cell__resel__hyst__2dB_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelectionParameters_ms__txpwr__max__cch_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelectionParameters_ms__txpwr__max__cch_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelectionParameters_acs_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelectionParameters_acs_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelectionParameters_neci_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelectionParameters_neci_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelectionParameters_rxlev__access__min_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelectionParameters_rxlev__access__min_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelectionParameters_encoder(const CellSelectionParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelectionParameters_decoder(OCTETSTRING& input_stream, CellSelectionParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlChanDesc__CC_encoder(const CtrlChanDesc__CC& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlChanDesc__CC_decoder(OCTETSTRING& input_stream, CtrlChanDesc__CC& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CBQ3_encoder(const CBQ3& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CBQ3_decoder(OCTETSTRING& input_stream, CBQ3& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_msc__r99_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_msc__r99_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_att_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_att_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_bs__ag__blks__res_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_bs__ag__blks__res_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_ccch__conf_encoder(const CtrlChanDesc__CC& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_ccch__conf_decoder(OCTETSTRING& input_stream, CtrlChanDesc__CC& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_si22ind_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_si22ind_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_cbq3_encoder(const CBQ3& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_cbq3_decoder(OCTETSTRING& input_stream, CBQ3& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_bs__pa__mfrms_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_bs__pa__mfrms_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_t3212_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_t3212_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ControlChannelDescription_encoder(const ControlChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ControlChannelDescription_decoder(OCTETSTRING& input_stream, ControlChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NeighbourCellDescription_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NeighbourCellDescription_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NeighbourCellDescription2_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NeighbourCellDescription2_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AccessControlClass_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AccessControlClass_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RachCtrlPar__MR_encoder(const RachCtrlPar__MR& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RachCtrlPar__MR_decoder(OCTETSTRING& input_stream, RachCtrlPar__MR& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RachControlParameters_max__retrans_encoder(const RachCtrlPar__MR& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RachControlParameters_max__retrans_decoder(OCTETSTRING& input_stream, RachCtrlPar__MR& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RachControlParameters_tx__integer_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RachControlParameters_tx__integer_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RachControlParameters_cell__barr__access_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RachControlParameters_cell__barr__access_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RachControlParameters_re__not__allowed_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RachControlParameters_re__not__allowed_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RachControlParameters_acc_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RachControlParameters_acc_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RachControlParameters_encoder(const RachControlParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RachControlParameters_decoder(OCTETSTRING& input_stream, RachControlParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType1_cell__chan__desc_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType1_cell__chan__desc_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType1_rach__control_encoder(const RachControlParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType1_rach__control_decoder(OCTETSTRING& input_stream, RachControlParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType1_rest__octets_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType1_rest__octets_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType1_encoder(const SystemInformationType1& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType1_decoder(OCTETSTRING& input_stream, SystemInformationType1& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2_bcch__freq__list_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2_bcch__freq__list_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2_ncc__permitted_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2_ncc__permitted_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2_rach__control_encoder(const RachControlParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2_rach__control_decoder(OCTETSTRING& input_stream, RachControlParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2_encoder(const SystemInformationType2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2_decoder(OCTETSTRING& input_stream, SystemInformationType2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2bis_extd__bcch__freq__list_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2bis_extd__bcch__freq__list_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2bis_rach__control_encoder(const RachControlParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2bis_rach__control_decoder(OCTETSTRING& input_stream, RachControlParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2bis_rest__octets_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2bis_rest__octets_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2bis_encoder(const SystemInformationType2bis& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2bis_decoder(OCTETSTRING& input_stream, SystemInformationType2bis& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2ter_extd__bcch__freq__list_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2ter_extd__bcch__freq__list_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2ter_rest__octets_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2ter_rest__octets_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2ter_encoder(const SystemInformationType2ter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2ter_decoder(OCTETSTRING& input_stream, SystemInformationType2ter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2quater_rest__octets_encoder(const GSM__RestOctets::SI2quaterRestOctets& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2quater_rest__octets_decoder(OCTETSTRING& input_stream, GSM__RestOctets::SI2quaterRestOctets& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType2quater_encoder(const SystemInformationType2quater& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType2quater_decoder(OCTETSTRING& input_stream, SystemInformationType2quater& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType3_cell__id_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType3_cell__id_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType3_lai_encoder(const GSM__Types::LocationAreaIdentification& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType3_lai_decoder(OCTETSTRING& input_stream, GSM__Types::LocationAreaIdentification& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType3_ctrl__chan__desc_encoder(const ControlChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType3_ctrl__chan__desc_decoder(OCTETSTRING& input_stream, ControlChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType3_cell__options_encoder(const CellOptions& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType3_cell__options_decoder(OCTETSTRING& input_stream, CellOptions& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType3_cell__sel__par_encoder(const CellSelectionParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType3_cell__sel__par_decoder(OCTETSTRING& input_stream, CellSelectionParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType3_rach__control_encoder(const RachControlParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType3_rach__control_decoder(OCTETSTRING& input_stream, RachControlParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType3_rest__octets_encoder(const GSM__RestOctets::SI3RestOctets& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType3_rest__octets_decoder(OCTETSTRING& input_stream, GSM__RestOctets::SI3RestOctets& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType3_encoder(const SystemInformationType3& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType3_decoder(OCTETSTRING& input_stream, SystemInformationType3& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType4_lai_encoder(const GSM__Types::LocationAreaIdentification& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType4_lai_decoder(OCTETSTRING& input_stream, GSM__Types::LocationAreaIdentification& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType4_cell__sel__par_encoder(const CellSelectionParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType4_cell__sel__par_decoder(OCTETSTRING& input_stream, CellSelectionParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType4_rach__control_encoder(const RachControlParameters& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType4_rach__control_decoder(OCTETSTRING& input_stream, RachControlParameters& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType4_rest__octets_encoder(const GSM__RestOctets::SI4RestOctets& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType4_rest__octets_decoder(OCTETSTRING& input_stream, GSM__RestOctets::SI4RestOctets& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType4_cbch__chan__desc_encoder(const GSM__RR__Types::ChannelDescriptionTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType4_cbch__chan__desc_decoder(OCTETSTRING& input_stream, GSM__RR__Types::ChannelDescriptionTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType4_cbch__mobile__alloc_encoder(const GSM__RR__Types::MobileAllocationTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType4_cbch__mobile__alloc_decoder(OCTETSTRING& input_stream, GSM__RR__Types::MobileAllocationTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType4_encoder(const SystemInformationType4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType4_decoder(OCTETSTRING& input_stream, SystemInformationType4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType5_bcch__freq__list_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType5_bcch__freq__list_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType5_encoder(const SystemInformationType5& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType5_decoder(OCTETSTRING& input_stream, SystemInformationType5& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType5bis_extd__bcch__freq__list_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType5bis_extd__bcch__freq__list_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType5bis_encoder(const SystemInformationType5bis& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType5bis_decoder(OCTETSTRING& input_stream, SystemInformationType5bis& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType5ter_extd__bcch__freq__list_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType5ter_extd__bcch__freq__list_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType5ter_encoder(const SystemInformationType5ter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType5ter_decoder(OCTETSTRING& input_stream, SystemInformationType5ter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType6_cell__id_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType6_cell__id_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType6_lai_encoder(const GSM__Types::LocationAreaIdentification& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType6_lai_decoder(OCTETSTRING& input_stream, GSM__Types::LocationAreaIdentification& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType6_cell__options_encoder(const CellOptionsSacch& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType6_cell__options_decoder(OCTETSTRING& input_stream, CellOptionsSacch& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType6_ncc__permitted_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType6_ncc__permitted_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType6_rest__octets_encoder(const GSM__RestOctets::SI6RestOctets& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType6_rest__octets_decoder(OCTETSTRING& input_stream, GSM__RestOctets::SI6RestOctets& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType6_encoder(const SystemInformationType6& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType6_decoder(OCTETSTRING& input_stream, SystemInformationType6& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType13_rest__octets_encoder(const GSM__RestOctets::SI13RestOctets& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType13_rest__octets_decoder(OCTETSTRING& input_stream, GSM__RestOctets::SI13RestOctets& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationType13_encoder(const SystemInformationType13& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationType13_decoder(OCTETSTRING& input_stream, SystemInformationType13& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si1_encoder(const SystemInformationType1& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si1_decoder(OCTETSTRING& input_stream, SystemInformationType1& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si2_encoder(const SystemInformationType2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si2_decoder(OCTETSTRING& input_stream, SystemInformationType2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si2bis_encoder(const SystemInformationType2bis& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si2bis_decoder(OCTETSTRING& input_stream, SystemInformationType2bis& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si2ter_encoder(const SystemInformationType2ter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si2ter_decoder(OCTETSTRING& input_stream, SystemInformationType2ter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si2quater_encoder(const SystemInformationType2quater& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si2quater_decoder(OCTETSTRING& input_stream, SystemInformationType2quater& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si3_encoder(const SystemInformationType3& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si3_decoder(OCTETSTRING& input_stream, SystemInformationType3& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si4_encoder(const SystemInformationType4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si4_decoder(OCTETSTRING& input_stream, SystemInformationType4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si5_encoder(const SystemInformationType5& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si5_decoder(OCTETSTRING& input_stream, SystemInformationType5& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si5bis_encoder(const SystemInformationType5bis& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si5bis_decoder(OCTETSTRING& input_stream, SystemInformationType5bis& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si5ter_encoder(const SystemInformationType5ter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si5ter_decoder(OCTETSTRING& input_stream, SystemInformationType5ter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si6_encoder(const SystemInformationType6& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si6_decoder(OCTETSTRING& input_stream, SystemInformationType6& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_si13_encoder(const SystemInformationType13& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_si13_decoder(OCTETSTRING& input_stream, SystemInformationType13& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_other_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_other_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformationUnion_encoder(const SystemInformationUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformationUnion_decoder(OCTETSTRING& input_stream, SystemInformationUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformation_header_encoder(const GSM__RR__Types::RrHeader& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformation_header_decoder(OCTETSTRING& input_stream, GSM__RR__Types::RrHeader& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformation_payload_encoder(const SystemInformationUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformation_payload_decoder(OCTETSTRING& input_stream, SystemInformationUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SystemInformation_encoder(const SystemInformation& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SystemInformation_decoder(OCTETSTRING& input_stream, SystemInformation& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern OCTETSTRING enc__SystemInformationNoPad(const SystemInformation& si);
extern SystemInformation dec__SystemInformation(const OCTETSTRING& stream);
extern OCTETSTRING enc__SystemInformation(const SystemInformation& si);
extern INTEGER dec__SystemInformationSafeBT(const OCTETSTRING& stream, SystemInformation& si);
extern INTEGER dec__SystemInformationSafe(const OCTETSTRING& stream, SystemInformation& si);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const TTCN_RAWdescriptor_t ArfcnOrMaio_raw_;
extern const TTCN_Typedescriptor_t ArfcnOrMaio_descr_;
extern const TTCN_RAWdescriptor_t ArfcnOrMaio_arfcn_raw_;
extern const XERdescriptor_t ArfcnOrMaio_arfcn_xer_;
extern const TTCN_OERdescriptor_t ArfcnOrMaio_arfcn_oer_;
extern const TTCN_Typedescriptor_t ArfcnOrMaio_arfcn_descr_;
extern UNIVERSAL_CHARSTRING ArfcnOrMaio_arfcn_default_coding;
extern const TTCN_RAWdescriptor_t ArfcnOrMaio_maio__hsn_raw_;
extern const TTCN_Typedescriptor_t ArfcnOrMaio_maio__hsn_descr_;
extern UNIVERSAL_CHARSTRING ArfcnOrMaio_maio__hsn_default_coding;
extern UNIVERSAL_CHARSTRING ArfcnOrMaio_default_coding;
extern const TTCN_RAWdescriptor_t SysinfoCellIdentity_raw_;
extern const XERdescriptor_t SysinfoCellIdentity_xer_;
extern const TTCN_OERdescriptor_t SysinfoCellIdentity_oer_;
extern const TTCN_Typedescriptor_t SysinfoCellIdentity_descr_;
extern UNIVERSAL_CHARSTRING SysinfoCellIdentity_default_coding;
extern const TTCN_RAWdescriptor_t CellChannelDescription_raw_;
extern const XERdescriptor_t CellChannelDescription_xer_;
extern const TTCN_OERdescriptor_t CellChannelDescription_oer_;
extern const TTCN_Typedescriptor_t CellChannelDescription_descr_;
extern UNIVERSAL_CHARSTRING CellChannelDescription_default_coding;
extern const TTCN_RAWdescriptor_t CellOptions__DTX_raw_;
extern const TTCN_Typedescriptor_t CellOptions__DTX_descr_;
extern UNIVERSAL_CHARSTRING CellOptions__DTX_default_coding;
extern const TTCN_RAWdescriptor_t CellOptions_dn__ind_raw_;
extern const XERdescriptor_t CellOptions_dn__ind_xer_;
extern const TTCN_OERdescriptor_t CellOptions_dn__ind_oer_;
extern const TTCN_Typedescriptor_t CellOptions_dn__ind_descr_;
extern UNIVERSAL_CHARSTRING CellOptions_dn__ind_default_coding;
extern const TTCN_RAWdescriptor_t CellOptions_pwrc_raw_;
extern const XERdescriptor_t CellOptions_pwrc_xer_;
extern const TTCN_OERdescriptor_t CellOptions_pwrc_oer_;
extern const TTCN_Typedescriptor_t CellOptions_pwrc_descr_;
extern UNIVERSAL_CHARSTRING CellOptions_pwrc_default_coding;
extern const TTCN_RAWdescriptor_t CellOptions_dtx_raw_;
extern const TTCN_Typedescriptor_t CellOptions_dtx_descr_;
extern UNIVERSAL_CHARSTRING CellOptions_dtx_default_coding;
extern const TTCN_RAWdescriptor_t CellOptions_radio__link__tout__div4_raw_;
extern const XERdescriptor_t CellOptions_radio__link__tout__div4_xer_;
extern const TTCN_OERdescriptor_t CellOptions_radio__link__tout__div4_oer_;
extern const TTCN_Typedescriptor_t CellOptions_radio__link__tout__div4_descr_;
extern UNIVERSAL_CHARSTRING CellOptions_radio__link__tout__div4_default_coding;
extern const TTCN_RAWdescriptor_t CellOptions_raw_;
extern const TTCN_Typedescriptor_t CellOptions_descr_;
extern UNIVERSAL_CHARSTRING CellOptions_default_coding;
extern const TTCN_RAWdescriptor_t CellOptionsSacch_dtx__ext_raw_;
extern const XERdescriptor_t CellOptionsSacch_dtx__ext_xer_;
extern const TTCN_OERdescriptor_t CellOptionsSacch_dtx__ext_oer_;
extern const TTCN_Typedescriptor_t CellOptionsSacch_dtx__ext_descr_;
extern UNIVERSAL_CHARSTRING CellOptionsSacch_dtx__ext_default_coding;
extern const TTCN_RAWdescriptor_t CellOptionsSacch_pwrc_raw_;
extern const XERdescriptor_t CellOptionsSacch_pwrc_xer_;
extern const TTCN_OERdescriptor_t CellOptionsSacch_pwrc_oer_;
extern const TTCN_Typedescriptor_t CellOptionsSacch_pwrc_descr_;
extern UNIVERSAL_CHARSTRING CellOptionsSacch_pwrc_default_coding;
extern const TTCN_RAWdescriptor_t CellOptionsSacch_dtx_raw_;
extern const XERdescriptor_t CellOptionsSacch_dtx_xer_;
extern const TTCN_OERdescriptor_t CellOptionsSacch_dtx_oer_;
extern const TTCN_Typedescriptor_t CellOptionsSacch_dtx_descr_;
extern UNIVERSAL_CHARSTRING CellOptionsSacch_dtx_default_coding;
extern const TTCN_RAWdescriptor_t CellOptionsSacch_radio__link__timeout_raw_;
extern const XERdescriptor_t CellOptionsSacch_radio__link__timeout_xer_;
extern const TTCN_OERdescriptor_t CellOptionsSacch_radio__link__timeout_oer_;
extern const TTCN_Typedescriptor_t CellOptionsSacch_radio__link__timeout_descr_;
extern UNIVERSAL_CHARSTRING CellOptionsSacch_radio__link__timeout_default_coding;
extern const TTCN_RAWdescriptor_t CellOptionsSacch_raw_;
extern const TTCN_Typedescriptor_t CellOptionsSacch_descr_;
extern UNIVERSAL_CHARSTRING CellOptionsSacch_default_coding;
extern const TTCN_RAWdescriptor_t CellSelectionParameters_cell__resel__hyst__2dB_raw_;
extern const XERdescriptor_t CellSelectionParameters_cell__resel__hyst__2dB_xer_;
extern const TTCN_OERdescriptor_t CellSelectionParameters_cell__resel__hyst__2dB_oer_;
extern const TTCN_Typedescriptor_t CellSelectionParameters_cell__resel__hyst__2dB_descr_;
extern UNIVERSAL_CHARSTRING CellSelectionParameters_cell__resel__hyst__2dB_default_coding;
extern const TTCN_RAWdescriptor_t CellSelectionParameters_ms__txpwr__max__cch_raw_;
extern const XERdescriptor_t CellSelectionParameters_ms__txpwr__max__cch_xer_;
extern const TTCN_OERdescriptor_t CellSelectionParameters_ms__txpwr__max__cch_oer_;
extern const TTCN_Typedescriptor_t CellSelectionParameters_ms__txpwr__max__cch_descr_;
extern UNIVERSAL_CHARSTRING CellSelectionParameters_ms__txpwr__max__cch_default_coding;
extern const TTCN_RAWdescriptor_t CellSelectionParameters_acs_raw_;
extern const XERdescriptor_t CellSelectionParameters_acs_xer_;
extern const TTCN_OERdescriptor_t CellSelectionParameters_acs_oer_;
extern const TTCN_Typedescriptor_t CellSelectionParameters_acs_descr_;
extern UNIVERSAL_CHARSTRING CellSelectionParameters_acs_default_coding;
extern const TTCN_RAWdescriptor_t CellSelectionParameters_neci_raw_;
extern const XERdescriptor_t CellSelectionParameters_neci_xer_;
extern const TTCN_OERdescriptor_t CellSelectionParameters_neci_oer_;
extern const TTCN_Typedescriptor_t CellSelectionParameters_neci_descr_;
extern UNIVERSAL_CHARSTRING CellSelectionParameters_neci_default_coding;
extern const TTCN_RAWdescriptor_t CellSelectionParameters_rxlev__access__min_raw_;
extern const XERdescriptor_t CellSelectionParameters_rxlev__access__min_xer_;
extern const TTCN_OERdescriptor_t CellSelectionParameters_rxlev__access__min_oer_;
extern const TTCN_Typedescriptor_t CellSelectionParameters_rxlev__access__min_descr_;
extern UNIVERSAL_CHARSTRING CellSelectionParameters_rxlev__access__min_default_coding;
extern const TTCN_RAWdescriptor_t CellSelectionParameters_raw_;
extern const TTCN_Typedescriptor_t CellSelectionParameters_descr_;
extern UNIVERSAL_CHARSTRING CellSelectionParameters_default_coding;
extern const TTCN_RAWdescriptor_t CtrlChanDesc__CC_raw_;
extern const TTCN_Typedescriptor_t CtrlChanDesc__CC_descr_;
extern UNIVERSAL_CHARSTRING CtrlChanDesc__CC_default_coding;
extern const TTCN_RAWdescriptor_t CBQ3_raw_;
extern const TTCN_Typedescriptor_t CBQ3_descr_;
extern UNIVERSAL_CHARSTRING CBQ3_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_msc__r99_raw_;
extern const XERdescriptor_t ControlChannelDescription_msc__r99_xer_;
extern const TTCN_OERdescriptor_t ControlChannelDescription_msc__r99_oer_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_msc__r99_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_msc__r99_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_att_raw_;
extern const XERdescriptor_t ControlChannelDescription_att_xer_;
extern const TTCN_OERdescriptor_t ControlChannelDescription_att_oer_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_att_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_att_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_bs__ag__blks__res_raw_;
extern const XERdescriptor_t ControlChannelDescription_bs__ag__blks__res_xer_;
extern const TTCN_OERdescriptor_t ControlChannelDescription_bs__ag__blks__res_oer_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_bs__ag__blks__res_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_bs__ag__blks__res_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_ccch__conf_raw_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_ccch__conf_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_ccch__conf_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_si22ind_raw_;
extern const XERdescriptor_t ControlChannelDescription_si22ind_xer_;
extern const TTCN_OERdescriptor_t ControlChannelDescription_si22ind_oer_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_si22ind_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_si22ind_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_cbq3_raw_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_cbq3_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_cbq3_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_spare_raw_;
extern const XERdescriptor_t ControlChannelDescription_spare_xer_;
extern const TTCN_OERdescriptor_t ControlChannelDescription_spare_oer_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_spare_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_spare_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_bs__pa__mfrms_raw_;
extern const XERdescriptor_t ControlChannelDescription_bs__pa__mfrms_xer_;
extern const TTCN_OERdescriptor_t ControlChannelDescription_bs__pa__mfrms_oer_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_bs__pa__mfrms_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_bs__pa__mfrms_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_t3212_raw_;
extern const XERdescriptor_t ControlChannelDescription_t3212_xer_;
extern const TTCN_OERdescriptor_t ControlChannelDescription_t3212_oer_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_t3212_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_t3212_default_coding;
extern const TTCN_RAWdescriptor_t ControlChannelDescription_raw_;
extern const TTCN_Typedescriptor_t ControlChannelDescription_descr_;
extern UNIVERSAL_CHARSTRING ControlChannelDescription_default_coding;
extern const ControlChannelDescription_template& t__ControlChannelDescription;
extern ControlChannelDescription_template template_t__ControlChannelDescription;
extern const TTCN_RAWdescriptor_t NeighbourCellDescription_raw_;
extern const XERdescriptor_t NeighbourCellDescription_xer_;
extern const TTCN_OERdescriptor_t NeighbourCellDescription_oer_;
extern const TTCN_Typedescriptor_t NeighbourCellDescription_descr_;
extern UNIVERSAL_CHARSTRING NeighbourCellDescription_default_coding;
extern const TTCN_RAWdescriptor_t NeighbourCellDescription2_raw_;
extern const XERdescriptor_t NeighbourCellDescription2_xer_;
extern const TTCN_OERdescriptor_t NeighbourCellDescription2_oer_;
extern const TTCN_Typedescriptor_t NeighbourCellDescription2_descr_;
extern UNIVERSAL_CHARSTRING NeighbourCellDescription2_default_coding;
extern const TTCN_RAWdescriptor_t AccessControlClass_raw_;
extern const XERdescriptor_t AccessControlClass_xer_;
extern const TTCN_Typedescriptor_t AccessControlClass_descr_;
extern UNIVERSAL_CHARSTRING AccessControlClass_default_coding;
extern const TTCN_RAWdescriptor_t RachCtrlPar__MR_raw_;
extern const TTCN_Typedescriptor_t RachCtrlPar__MR_descr_;
extern UNIVERSAL_CHARSTRING RachCtrlPar__MR_default_coding;
extern const TTCN_RAWdescriptor_t RachControlParameters_max__retrans_raw_;
extern const TTCN_Typedescriptor_t RachControlParameters_max__retrans_descr_;
extern UNIVERSAL_CHARSTRING RachControlParameters_max__retrans_default_coding;
extern const TTCN_RAWdescriptor_t RachControlParameters_tx__integer_raw_;
extern const XERdescriptor_t RachControlParameters_tx__integer_xer_;
extern const TTCN_OERdescriptor_t RachControlParameters_tx__integer_oer_;
extern const TTCN_Typedescriptor_t RachControlParameters_tx__integer_descr_;
extern UNIVERSAL_CHARSTRING RachControlParameters_tx__integer_default_coding;
extern const TTCN_RAWdescriptor_t RachControlParameters_cell__barr__access_raw_;
extern const XERdescriptor_t RachControlParameters_cell__barr__access_xer_;
extern const TTCN_OERdescriptor_t RachControlParameters_cell__barr__access_oer_;
extern const TTCN_Typedescriptor_t RachControlParameters_cell__barr__access_descr_;
extern UNIVERSAL_CHARSTRING RachControlParameters_cell__barr__access_default_coding;
extern const TTCN_RAWdescriptor_t RachControlParameters_re__not__allowed_raw_;
extern const XERdescriptor_t RachControlParameters_re__not__allowed_xer_;
extern const TTCN_OERdescriptor_t RachControlParameters_re__not__allowed_oer_;
extern const TTCN_Typedescriptor_t RachControlParameters_re__not__allowed_descr_;
extern UNIVERSAL_CHARSTRING RachControlParameters_re__not__allowed_default_coding;
extern const TTCN_RAWdescriptor_t RachControlParameters_acc_raw_;
extern const XERdescriptor_t RachControlParameters_acc_xer_;
extern const TTCN_OERdescriptor_t RachControlParameters_acc_oer_;
extern const TTCN_Typedescriptor_t RachControlParameters_acc_descr_;
extern UNIVERSAL_CHARSTRING RachControlParameters_acc_default_coding;
extern const TTCN_RAWdescriptor_t RachControlParameters_raw_;
extern const TTCN_Typedescriptor_t RachControlParameters_descr_;
extern UNIVERSAL_CHARSTRING RachControlParameters_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType1_cell__chan__desc_raw_;
extern const XERdescriptor_t SystemInformationType1_cell__chan__desc_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType1_cell__chan__desc_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType1_cell__chan__desc_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType1_cell__chan__desc_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType1_rach__control_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType1_rach__control_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType1_rach__control_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType1_rest__octets_raw_;
extern const XERdescriptor_t SystemInformationType1_rest__octets_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType1_rest__octets_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType1_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType1_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType1_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType1_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType1_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2_bcch__freq__list_raw_;
extern const XERdescriptor_t SystemInformationType2_bcch__freq__list_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType2_bcch__freq__list_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType2_bcch__freq__list_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2_bcch__freq__list_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2_ncc__permitted_raw_;
extern const XERdescriptor_t SystemInformationType2_ncc__permitted_xer_;
extern const TTCN_Typedescriptor_t SystemInformationType2_ncc__permitted_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2_ncc__permitted_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2_rach__control_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType2_rach__control_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2_rach__control_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType2_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2bis_extd__bcch__freq__list_raw_;
extern const XERdescriptor_t SystemInformationType2bis_extd__bcch__freq__list_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType2bis_extd__bcch__freq__list_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType2bis_extd__bcch__freq__list_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2bis_extd__bcch__freq__list_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2bis_rach__control_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType2bis_rach__control_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2bis_rach__control_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2bis_rest__octets_raw_;
extern const XERdescriptor_t SystemInformationType2bis_rest__octets_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType2bis_rest__octets_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType2bis_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2bis_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2bis_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType2bis_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2bis_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2ter_extd__bcch__freq__list_raw_;
extern const XERdescriptor_t SystemInformationType2ter_extd__bcch__freq__list_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType2ter_extd__bcch__freq__list_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType2ter_extd__bcch__freq__list_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2ter_extd__bcch__freq__list_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2ter_rest__octets_raw_;
extern const XERdescriptor_t SystemInformationType2ter_rest__octets_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType2ter_rest__octets_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType2ter_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2ter_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2ter_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType2ter_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2ter_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2quater_rest__octets_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType2quater_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2quater_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType2quater_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType2quater_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType2quater_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType3_cell__id_raw_;
extern const XERdescriptor_t SystemInformationType3_cell__id_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType3_cell__id_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType3_cell__id_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType3_cell__id_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType3_lai_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType3_lai_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType3_lai_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType3_ctrl__chan__desc_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType3_ctrl__chan__desc_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType3_ctrl__chan__desc_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType3_cell__options_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType3_cell__options_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType3_cell__options_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType3_cell__sel__par_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType3_cell__sel__par_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType3_cell__sel__par_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType3_rach__control_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType3_rach__control_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType3_rach__control_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType3_rest__octets_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType3_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType3_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType3_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType3_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType3_default_coding;
extern const SystemInformationType3_template& t__SI3;
extern SystemInformationType3_template template_t__SI3;
extern const TTCN_RAWdescriptor_t SystemInformationType4_lai_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType4_lai_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType4_lai_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType4_cell__sel__par_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType4_cell__sel__par_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType4_cell__sel__par_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType4_rach__control_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType4_rach__control_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType4_rach__control_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType4_rest__octets_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType4_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType4_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType4_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType4_descr_;
extern const TTCN_RAWdescriptor_t SystemInformationType4_cbch__chan__desc_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType4_cbch__chan__desc_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType4_cbch__chan__desc_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType4_cbch__mobile__alloc_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType4_cbch__mobile__alloc_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType4_cbch__mobile__alloc_default_coding;
extern UNIVERSAL_CHARSTRING SystemInformationType4_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType5_bcch__freq__list_raw_;
extern const XERdescriptor_t SystemInformationType5_bcch__freq__list_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType5_bcch__freq__list_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType5_bcch__freq__list_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType5_bcch__freq__list_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType5_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType5_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType5_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType5bis_extd__bcch__freq__list_raw_;
extern const XERdescriptor_t SystemInformationType5bis_extd__bcch__freq__list_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType5bis_extd__bcch__freq__list_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType5bis_extd__bcch__freq__list_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType5bis_extd__bcch__freq__list_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType5bis_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType5bis_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType5bis_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType5ter_extd__bcch__freq__list_raw_;
extern const XERdescriptor_t SystemInformationType5ter_extd__bcch__freq__list_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType5ter_extd__bcch__freq__list_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType5ter_extd__bcch__freq__list_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType5ter_extd__bcch__freq__list_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType5ter_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType5ter_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType5ter_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType6_cell__id_raw_;
extern const XERdescriptor_t SystemInformationType6_cell__id_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType6_cell__id_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType6_cell__id_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType6_cell__id_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType6_lai_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType6_lai_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType6_lai_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType6_cell__options_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType6_cell__options_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType6_cell__options_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType6_ncc__permitted_raw_;
extern const XERdescriptor_t SystemInformationType6_ncc__permitted_xer_;
extern const TTCN_OERdescriptor_t SystemInformationType6_ncc__permitted_oer_;
extern const TTCN_Typedescriptor_t SystemInformationType6_ncc__permitted_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType6_ncc__permitted_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType6_rest__octets_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType6_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType6_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType6_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType6_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType6_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType13_rest__octets_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType13_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType13_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationType13_raw_;
extern const TTCN_Typedescriptor_t SystemInformationType13_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationType13_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_descr_;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si1_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si1_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si1_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si2_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si2_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si2_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si2bis_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si2bis_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si2bis_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si2ter_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si2ter_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si2ter_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si2quater_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si2quater_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si2quater_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si3_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si3_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si3_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si4_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si4_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si4_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si5_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si5_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si5_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si5bis_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si5bis_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si5bis_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si5ter_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si5ter_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si5ter_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si6_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si6_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si6_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_si13_raw_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_si13_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_si13_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformationUnion_other_raw_;
extern const XERdescriptor_t SystemInformationUnion_other_xer_;
extern const TTCN_OERdescriptor_t SystemInformationUnion_other_oer_;
extern const TTCN_Typedescriptor_t SystemInformationUnion_other_descr_;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_other_default_coding;
extern UNIVERSAL_CHARSTRING SystemInformationUnion_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformation_header_raw_;
extern const TTCN_Typedescriptor_t SystemInformation_header_descr_;
extern UNIVERSAL_CHARSTRING SystemInformation_header_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformation_payload_raw_;
extern const TTCN_Typedescriptor_t SystemInformation_payload_descr_;
extern UNIVERSAL_CHARSTRING SystemInformation_payload_default_coding;
extern const TTCN_RAWdescriptor_t SystemInformation_raw_;
extern const TTCN_Typedescriptor_t SystemInformation_descr_;
extern UNIVERSAL_CHARSTRING SystemInformation_default_coding;
extern const BITSTRING bs_0;
extern const OCTETSTRING os_2,
os_0,
os_1;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
