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

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

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

#ifndef Q933__Types_HH
#define Q933__Types_HH

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

/* Header file includes */

#include <TTCN3.hh>
#include "Osmocom_Types.hh"
#include "Q931_Types.hh"

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

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

#undef Q933__Types_HH
#endif

namespace Q933__Types {

/* Forward declarations of classes */

class Q933__IEI;
class Q933__IEI_template;
class Q933__TypeOfReport;
class Q933__TypeOfReport_template;
class Q933__ReportTypeIE;
class Q933__ReportTypeIE_template;
class Q933__STATUS__Msg;
class Q933__STATUS__Msg_template;
class Q933__LinkIntegrityIE;
class Q933__LinkIntegrityIE_template;
class Q933__PvcStatusRec;
class Q933__PvcStatusRec_template;
class Q933__PvcStatus;
class Q933__PvcStatus_template;
class Q933__PvcStatusIE;
class Q933__PvcStatusIE_template;
class Q933__STATEUS__ENQ__Msg;
class Q933__STATEUS__ENQ__Msg_template;
class Q933__Payload;
class Q933__Payload_template;
class Q933__PDU;
class Q933__PDU_template;

} /* end of namespace */

#ifndef Q933__Types_HH
#define Q933__Types_HH

namespace Q933__Types {

/* Class definitions */

class Q933__IEI : public Base_Type { // enum
friend class Q933__IEI_template;
public:
enum enum_type { Q933__IEI__REPORT__TYPE = 81, Q933__IEI__LINK__INTEGRITY = 83, Q933__IEI__PVC__STATUS = 87, UNKNOWN_VALUE = 0, UNBOUND_VALUE = 1 };
private:
enum_type enum_value;

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

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

boolean operator==(enum_type other_value) const;
boolean operator==(const Q933__IEI& other_value) const;
inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const Q933__IEI& other_value) const { return !(*this == other_value); }
boolean operator<(enum_type other_value) const;
boolean operator<(const Q933__IEI& other_value) const;
boolean operator>(enum_type other_value) const;
boolean operator>(const Q933__IEI& other_value) const;
inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
inline boolean operator<=(const Q933__IEI& other_value) const { return !(*this > other_value); }
inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
inline boolean operator>=(const Q933__IEI& 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);
static boolean is_valid_enum(int int_par);

static int enum2int(enum_type enum_par);
static int enum2int(const Q933__IEI& 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 Q933__IEI_template : public Base_Template {
union {
Q933__IEI::enum_type single_value;
struct {
unsigned int n_values;
Q933__IEI_template *list_value;
} value_list;
struct {
Q933__IEI_template* precondition;
Q933__IEI_template* implied_template;
} implication_;
dynmatch_struct<Q933__IEI>* dyn_match;
};

void copy_template(const Q933__IEI_template& other_value);

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

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

boolean match(Q933__IEI::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const Q933__IEI& other_value, boolean legacy = FALSE) const;
Q933__IEI::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
Q933__IEI_template& list_item(unsigned int list_index);
void log() const;
void log_match(const Q933__IEI& 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 Q933__TypeOfReport : public Base_Type { // enum
friend class Q933__TypeOfReport_template;
public:
enum enum_type { Q993__REP__T__FULL__STATUS = 0, Q933__REP__T__LINK__INTEG__VF__ONLY = 1, Q933__REP__T__SINGLE__PVC__ASYNC__STS = 2, UNKNOWN_VALUE = 3, UNBOUND_VALUE = 4 };
private:
enum_type enum_value;

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

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

boolean operator==(enum_type other_value) const;
boolean operator==(const Q933__TypeOfReport& other_value) const;
inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const Q933__TypeOfReport& other_value) const { return !(*this == other_value); }
boolean operator<(enum_type other_value) const;
boolean operator<(const Q933__TypeOfReport& other_value) const;
boolean operator>(enum_type other_value) const;
boolean operator>(const Q933__TypeOfReport& other_value) const;
inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
inline boolean operator<=(const Q933__TypeOfReport& other_value) const { return !(*this > other_value); }
inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
inline boolean operator>=(const Q933__TypeOfReport& 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);
static boolean is_valid_enum(int int_par);

static int enum2int(enum_type enum_par);
static int enum2int(const Q933__TypeOfReport& 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 Q933__TypeOfReport_template : public Base_Template {
union {
Q933__TypeOfReport::enum_type single_value;
struct {
unsigned int n_values;
Q933__TypeOfReport_template *list_value;
} value_list;
struct {
Q933__TypeOfReport_template* precondition;
Q933__TypeOfReport_template* implied_template;
} implication_;
dynmatch_struct<Q933__TypeOfReport>* dyn_match;
};

void copy_template(const Q933__TypeOfReport_template& other_value);

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

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

boolean match(Q933__TypeOfReport::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const Q933__TypeOfReport& other_value, boolean legacy = FALSE) const;
Q933__TypeOfReport::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
Q933__TypeOfReport_template& list_item(unsigned int list_index);
void log() const;
void log_match(const Q933__TypeOfReport& 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 Q933__ReportTypeIE : public Base_Type {
  Q933__IEI field_iei;
  INTEGER field_len;
  Q933__TypeOfReport field_type__of__rep;
public:
  Q933__ReportTypeIE();
  Q933__ReportTypeIE(const Q933__IEI& par_iei,
    const INTEGER& par_len,
    const Q933__TypeOfReport& par_type__of__rep);
  Q933__ReportTypeIE(const Q933__ReportTypeIE& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933__ReportTypeIE& operator=(const Q933__ReportTypeIE& other_value);
  boolean operator==(const Q933__ReportTypeIE& other_value) const;
  inline boolean operator!=(const Q933__ReportTypeIE& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline Q933__IEI& iei()
    {return field_iei;}
  inline const Q933__IEI& iei() const
    {return field_iei;}
  inline INTEGER& len()
    {return field_len;}
  inline const INTEGER& len() const
    {return field_len;}
  inline Q933__TypeOfReport& type__of__rep()
    {return field_type__of__rep;}
  inline const Q933__TypeOfReport& type__of__rep() const
    {return field_type__of__rep;}
  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 Q933__ReportTypeIE_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
Q933__ReportTypeIE_template *list_value;
} value_list;
struct {
Q933__ReportTypeIE_template* precondition;
Q933__ReportTypeIE_template* implied_template;
} implication_;
dynmatch_struct<Q933__ReportTypeIE>* dyn_match;
};

void set_specific();
void copy_value(const Q933__ReportTypeIE& other_value);
void copy_template(const Q933__ReportTypeIE_template& other_value);

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

class Q933__STATUS__Msg : public Base_Type {
  Q933__ReportTypeIE field_rep__type;
  OPTIONAL< Q933__LinkIntegrityIE > field_link__int;
  OPTIONAL< Q933__PvcStatusIE > field_pvc__status;
public:
  Q933__STATUS__Msg();
  Q933__STATUS__Msg(const Q933__ReportTypeIE& par_rep__type,
    const OPTIONAL< Q933__LinkIntegrityIE >& par_link__int,
    const OPTIONAL< Q933__PvcStatusIE >& par_pvc__status);
  Q933__STATUS__Msg(const Q933__STATUS__Msg& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933__STATUS__Msg& operator=(const Q933__STATUS__Msg& other_value);
  boolean operator==(const Q933__STATUS__Msg& other_value) const;
  inline boolean operator!=(const Q933__STATUS__Msg& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline Q933__ReportTypeIE& rep__type()
    {return field_rep__type;}
  inline const Q933__ReportTypeIE& rep__type() const
    {return field_rep__type;}
  inline OPTIONAL< Q933__LinkIntegrityIE >& link__int()
    {return field_link__int;}
  inline const OPTIONAL< Q933__LinkIntegrityIE >& link__int() const
    {return field_link__int;}
  inline OPTIONAL< Q933__PvcStatusIE >& pvc__status()
    {return field_pvc__status;}
  inline const OPTIONAL< Q933__PvcStatusIE >& pvc__status() const
    {return field_pvc__status;}
  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 Q933__STATUS__Msg_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
Q933__STATUS__Msg_template *list_value;
} value_list;
struct {
Q933__STATUS__Msg_template* precondition;
Q933__STATUS__Msg_template* implied_template;
} implication_;
dynmatch_struct<Q933__STATUS__Msg>* dyn_match;
};

void set_specific();
void copy_value(const Q933__STATUS__Msg& other_value);
void copy_template(const Q933__STATUS__Msg_template& other_value);

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

class Q933__LinkIntegrityIE : public Base_Type {
  Q933__IEI field_iei;
  INTEGER field_len;
  INTEGER field_send__seq__nr;
  INTEGER field_recv__seq__nr;
public:
  Q933__LinkIntegrityIE();
  Q933__LinkIntegrityIE(const Q933__IEI& par_iei,
    const INTEGER& par_len,
    const INTEGER& par_send__seq__nr,
    const INTEGER& par_recv__seq__nr);
  Q933__LinkIntegrityIE(const Q933__LinkIntegrityIE& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933__LinkIntegrityIE& operator=(const Q933__LinkIntegrityIE& other_value);
  boolean operator==(const Q933__LinkIntegrityIE& other_value) const;
  inline boolean operator!=(const Q933__LinkIntegrityIE& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline Q933__IEI& iei()
    {return field_iei;}
  inline const Q933__IEI& iei() const
    {return field_iei;}
  inline INTEGER& len()
    {return field_len;}
  inline const INTEGER& len() const
    {return field_len;}
  inline INTEGER& send__seq__nr()
    {return field_send__seq__nr;}
  inline const INTEGER& send__seq__nr() const
    {return field_send__seq__nr;}
  inline INTEGER& recv__seq__nr()
    {return field_recv__seq__nr;}
  inline const INTEGER& recv__seq__nr() const
    {return field_recv__seq__nr;}
  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 Q933__LinkIntegrityIE_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
Q933__LinkIntegrityIE_template *list_value;
} value_list;
struct {
Q933__LinkIntegrityIE_template* precondition;
Q933__LinkIntegrityIE_template* implied_template;
} implication_;
dynmatch_struct<Q933__LinkIntegrityIE>* dyn_match;
};

void set_specific();
void copy_value(const Q933__LinkIntegrityIE& other_value);
void copy_template(const Q933__LinkIntegrityIE_template& other_value);

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

class Q933__PvcStatusRec : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
Q933__PvcStatus **value_elements;
} *val_ptr;

static const Q933__PvcStatus UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const Q933__PvcStatusRec& other_value);
static boolean compare_function(const Base_Type *left_ptr, int left_index, const Base_Type *right_ptr, int right_index);

public:
  typedef Q933__PvcStatus of_type;
Q933__PvcStatusRec();
Q933__PvcStatusRec(null_type other_value);
Q933__PvcStatusRec(const Q933__PvcStatusRec& other_value);
~Q933__PvcStatusRec();

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

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

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

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

Q933__PvcStatusRec operator+(const Q933__PvcStatusRec& other_value) const;

Q933__PvcStatusRec substr(int index, int returncount) const;

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

Q933__PvcStatusRec replace(int index, int len, const Q933__PvcStatusRec_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class Q933__PvcStatusRec_template : public Restricted_Length_Template {
union {
struct {
int n_elements;
Q933__PvcStatus_template **value_elements;
} single_value;
struct {
unsigned int n_values;
Q933__PvcStatusRec_template *list_value;
} value_list;
struct {
Q933__PvcStatusRec_template* precondition;
Q933__PvcStatusRec_template* implied_template;
} implication_;
dynmatch_struct<Q933__PvcStatusRec>* dyn_match;
struct {
unsigned int n_items;
Q933__PvcStatus_template *set_items;
} value_set;
};
void copy_value(const Q933__PvcStatusRec& other_value);
void copy_template(const Q933__PvcStatusRec_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
static boolean match_function_set(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
static void log_function(const Base_Type *value_ptr, const Restricted_Length_Template *template_ptr, int index_value, int index_template, boolean legacy);

public:
Q933__PvcStatusRec_template();
Q933__PvcStatusRec_template(template_sel other_value);
Q933__PvcStatusRec_template(null_type other_value);
Q933__PvcStatusRec_template(const Q933__PvcStatusRec& other_value);
Q933__PvcStatusRec_template(const OPTIONAL<Q933__PvcStatusRec>& other_value);
Q933__PvcStatusRec_template(Q933__PvcStatusRec_template* p_precondition, Q933__PvcStatusRec_template* p_implied_template);
Q933__PvcStatusRec_template(Dynamic_Match_Interface<Q933__PvcStatusRec>* p_dyn_match);
Q933__PvcStatusRec_template(const Q933__PvcStatusRec_template& other_value);
~Q933__PvcStatusRec_template();

void clean_up();
Q933__PvcStatusRec_template& operator=(template_sel other_value);
Q933__PvcStatusRec_template& operator=(null_type other_value);
Q933__PvcStatusRec_template& operator=(const Q933__PvcStatusRec& other_value);
Q933__PvcStatusRec_template& operator=(const OPTIONAL<Q933__PvcStatusRec>& other_value);
Q933__PvcStatusRec_template& operator=(const Q933__PvcStatusRec_template& other_value);

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

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const Q933__PvcStatusRec& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
Q933__PvcStatusRec valueof() const;
Q933__PvcStatusRec substr(int index, int returncount) const;

Q933__PvcStatusRec replace(int index, int len, const Q933__PvcStatusRec_template& repl) const;

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

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

class Q933__PvcStatus : public Base_Type {
  BITSTRING field_spare;
  BITSTRING field_dlci__high;
  BITSTRING field_ext1;
  BITSTRING field_dlci__low;
  BITSTRING field_spare0;
  BITSTRING field_ext1__;
  BITSTRING field_spare0__;
  BOOLEAN field_new_;
  BOOLEAN field_delete_;
  BOOLEAN field_active;
  BITSTRING field_reserved0;
public:
  Q933__PvcStatus();
  Q933__PvcStatus(const BITSTRING& par_spare,
    const BITSTRING& par_dlci__high,
    const BITSTRING& par_ext1,
    const BITSTRING& par_dlci__low,
    const BITSTRING& par_spare0,
    const BITSTRING& par_ext1__,
    const BITSTRING& par_spare0__,
    const BOOLEAN& par_new_,
    const BOOLEAN& par_delete_,
    const BOOLEAN& par_active,
    const BITSTRING& par_reserved0);
  Q933__PvcStatus(const Q933__PvcStatus& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933__PvcStatus& operator=(const Q933__PvcStatus& other_value);
  boolean operator==(const Q933__PvcStatus& other_value) const;
  inline boolean operator!=(const Q933__PvcStatus& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline BITSTRING& dlci__high()
    {return field_dlci__high;}
  inline const BITSTRING& dlci__high() const
    {return field_dlci__high;}
  inline BITSTRING& ext1()
    {return field_ext1;}
  inline const BITSTRING& ext1() const
    {return field_ext1;}
  inline BITSTRING& dlci__low()
    {return field_dlci__low;}
  inline const BITSTRING& dlci__low() const
    {return field_dlci__low;}
  inline BITSTRING& spare0()
    {return field_spare0;}
  inline const BITSTRING& spare0() const
    {return field_spare0;}
  inline BITSTRING& ext1__()
    {return field_ext1__;}
  inline const BITSTRING& ext1__() const
    {return field_ext1__;}
  inline BITSTRING& spare0__()
    {return field_spare0__;}
  inline const BITSTRING& spare0__() const
    {return field_spare0__;}
  inline BOOLEAN& new_()
    {return field_new_;}
  inline const BOOLEAN& new_() const
    {return field_new_;}
  inline BOOLEAN& delete_()
    {return field_delete_;}
  inline const BOOLEAN& delete_() const
    {return field_delete_;}
  inline BOOLEAN& active()
    {return field_active;}
  inline const BOOLEAN& active() const
    {return field_active;}
  inline BITSTRING& reserved0()
    {return field_reserved0;}
  inline const BITSTRING& reserved0() const
    {return field_reserved0;}
  inline int size_of() const
    {return 11;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

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

void set_specific();
void copy_value(const Q933__PvcStatus& other_value);
void copy_template(const Q933__PvcStatus_template& other_value);

public:
Q933__PvcStatus_template();
Q933__PvcStatus_template(template_sel other_value);
Q933__PvcStatus_template(const Q933__PvcStatus& other_value);
Q933__PvcStatus_template(const OPTIONAL<Q933__PvcStatus>& other_value);
Q933__PvcStatus_template(Q933__PvcStatus_template* p_precondition, Q933__PvcStatus_template* p_implied_template);
Q933__PvcStatus_template(Dynamic_Match_Interface<Q933__PvcStatus>* p_dyn_match);
Q933__PvcStatus_template(const Q933__PvcStatus_template& other_value);
~Q933__PvcStatus_template();
Q933__PvcStatus_template& operator=(template_sel other_value);
Q933__PvcStatus_template& operator=(const Q933__PvcStatus& other_value);
Q933__PvcStatus_template& operator=(const OPTIONAL<Q933__PvcStatus>& other_value);
Q933__PvcStatus_template& operator=(const Q933__PvcStatus_template& other_value);
boolean match(const Q933__PvcStatus& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
Q933__PvcStatus valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
Q933__PvcStatus_template& list_item(unsigned int list_index) const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BITSTRING_template& dlci__high();
const BITSTRING_template& dlci__high() const;
BITSTRING_template& ext1();
const BITSTRING_template& ext1() const;
BITSTRING_template& dlci__low();
const BITSTRING_template& dlci__low() const;
BITSTRING_template& spare0();
const BITSTRING_template& spare0() const;
BITSTRING_template& ext1__();
const BITSTRING_template& ext1__() const;
BITSTRING_template& spare0__();
const BITSTRING_template& spare0__() const;
BOOLEAN_template& new_();
const BOOLEAN_template& new_() const;
BOOLEAN_template& delete_();
const BOOLEAN_template& delete_() const;
BOOLEAN_template& active();
const BOOLEAN_template& active() const;
BITSTRING_template& reserved0();
const BITSTRING_template& reserved0() const;
int size_of() const;
void log() const;
void log_match(const Q933__PvcStatus& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class Q933__PvcStatusIE : public Base_Type {
  Q933__IEI field_iei;
  INTEGER field_len;
  Q933__PvcStatusRec field_pvc__status;
public:
  Q933__PvcStatusIE();
  Q933__PvcStatusIE(const Q933__IEI& par_iei,
    const INTEGER& par_len,
    const Q933__PvcStatusRec& par_pvc__status);
  Q933__PvcStatusIE(const Q933__PvcStatusIE& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933__PvcStatusIE& operator=(const Q933__PvcStatusIE& other_value);
  boolean operator==(const Q933__PvcStatusIE& other_value) const;
  inline boolean operator!=(const Q933__PvcStatusIE& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline Q933__IEI& iei()
    {return field_iei;}
  inline const Q933__IEI& iei() const
    {return field_iei;}
  inline INTEGER& len()
    {return field_len;}
  inline const INTEGER& len() const
    {return field_len;}
  inline Q933__PvcStatusRec& pvc__status()
    {return field_pvc__status;}
  inline const Q933__PvcStatusRec& pvc__status() const
    {return field_pvc__status;}
  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 Q933__PvcStatusIE_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
Q933__PvcStatusIE_template *list_value;
} value_list;
struct {
Q933__PvcStatusIE_template* precondition;
Q933__PvcStatusIE_template* implied_template;
} implication_;
dynmatch_struct<Q933__PvcStatusIE>* dyn_match;
};

void set_specific();
void copy_value(const Q933__PvcStatusIE& other_value);
void copy_template(const Q933__PvcStatusIE_template& other_value);

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

class Q933__STATEUS__ENQ__Msg : public Base_Type {
  Q933__ReportTypeIE field_rep__type;
  Q933__LinkIntegrityIE field_link__int;
public:
  Q933__STATEUS__ENQ__Msg();
  Q933__STATEUS__ENQ__Msg(const Q933__ReportTypeIE& par_rep__type,
    const Q933__LinkIntegrityIE& par_link__int);
  Q933__STATEUS__ENQ__Msg(const Q933__STATEUS__ENQ__Msg& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933__STATEUS__ENQ__Msg& operator=(const Q933__STATEUS__ENQ__Msg& other_value);
  boolean operator==(const Q933__STATEUS__ENQ__Msg& other_value) const;
  inline boolean operator!=(const Q933__STATEUS__ENQ__Msg& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline Q933__ReportTypeIE& rep__type()
    {return field_rep__type;}
  inline const Q933__ReportTypeIE& rep__type() const
    {return field_rep__type;}
  inline Q933__LinkIntegrityIE& link__int()
    {return field_link__int;}
  inline const Q933__LinkIntegrityIE& link__int() const
    {return field_link__int;}
  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 Q933__STATEUS__ENQ__Msg_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
Q933__STATEUS__ENQ__Msg_template *list_value;
} value_list;
struct {
Q933__STATEUS__ENQ__Msg_template* precondition;
Q933__STATEUS__ENQ__Msg_template* implied_template;
} implication_;
dynmatch_struct<Q933__STATEUS__ENQ__Msg>* dyn_match;
};

void set_specific();
void copy_value(const Q933__STATEUS__ENQ__Msg& other_value);
void copy_template(const Q933__STATEUS__ENQ__Msg_template& other_value);

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

class Q933__Payload : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_status = 1, ALT_status__enq = 2, ALT_other = 3 };
private:
union_selection_type union_selection;
union {
Q933__STATUS__Msg *field_status;
Q933__STATEUS__ENQ__Msg *field_status__enq;
OCTETSTRING *field_other;
};
void copy_value(const Q933__Payload& other_value);

public:
Q933__Payload();
Q933__Payload(const Q933__Payload& other_value);
~Q933__Payload();
Q933__Payload& operator=(const Q933__Payload& other_value);
boolean operator==(const Q933__Payload& other_value) const;
inline boolean operator!=(const Q933__Payload& other_value) const { return !(*this == other_value); }
Q933__STATUS__Msg& status();
const Q933__STATUS__Msg& status() const;
Q933__STATEUS__ENQ__Msg& status__enq();
const Q933__STATEUS__ENQ__Msg& status__enq() 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 Q933__Payload_template : public Base_Template {
union {
struct {
Q933__Payload::union_selection_type union_selection;
union {
Q933__STATUS__Msg_template *field_status;
Q933__STATEUS__ENQ__Msg_template *field_status__enq;
OCTETSTRING_template *field_other;
};
} single_value;
struct {
unsigned int n_values;
Q933__Payload_template *list_value;
} value_list;
struct {
Q933__Payload_template* precondition;
Q933__Payload_template* implied_template;
} implication_;
dynmatch_struct<Q933__Payload>* dyn_match;
};
void copy_value(const Q933__Payload& other_value);

void copy_template(const Q933__Payload_template& other_value);

public:
Q933__Payload_template();
Q933__Payload_template(template_sel other_value);
Q933__Payload_template(const Q933__Payload& other_value);
Q933__Payload_template(const OPTIONAL<Q933__Payload>& other_value);
Q933__Payload_template(Q933__Payload_template* p_precondition, Q933__Payload_template* p_implied_template);
Q933__Payload_template(Dynamic_Match_Interface<Q933__Payload>* p_dyn_match);
Q933__Payload_template(const Q933__Payload_template& other_value);
~Q933__Payload_template();
void clean_up();
Q933__Payload_template& operator=(template_sel other_value);
Q933__Payload_template& operator=(const Q933__Payload& other_value);
Q933__Payload_template& operator=(const OPTIONAL<Q933__Payload>& other_value);
Q933__Payload_template& operator=(const Q933__Payload_template& other_value);
boolean match(const Q933__Payload& other_value, boolean legacy = FALSE) const;
boolean is_value() const;Q933__Payload valueof() const;
Q933__Payload_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
Q933__STATUS__Msg_template& status();
const Q933__STATUS__Msg_template& status() const;
Q933__STATEUS__ENQ__Msg_template& status__enq();
const Q933__STATEUS__ENQ__Msg_template& status__enq() const;
OCTETSTRING_template& other();
const OCTETSTRING_template& other() const;
boolean ischosen(Q933__Payload::union_selection_type checked_selection) const;
void log() const;
void log_match(const Q933__Payload& 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 Q933__PDU : public Base_Type {
  OCTETSTRING field_prot__disc;
  OCTETSTRING field_call__ref;
  Q931__Types::Q931__MessageType field_msg__type;
  Q933__Payload field_body;
public:
  Q933__PDU();
  Q933__PDU(const OCTETSTRING& par_prot__disc,
    const OCTETSTRING& par_call__ref,
    const Q931__Types::Q931__MessageType& par_msg__type,
    const Q933__Payload& par_body);
  Q933__PDU(const Q933__PDU& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933__PDU& operator=(const Q933__PDU& other_value);
  boolean operator==(const Q933__PDU& other_value) const;
  inline boolean operator!=(const Q933__PDU& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline OCTETSTRING& prot__disc()
    {return field_prot__disc;}
  inline const OCTETSTRING& prot__disc() const
    {return field_prot__disc;}
  inline OCTETSTRING& call__ref()
    {return field_call__ref;}
  inline const OCTETSTRING& call__ref() const
    {return field_call__ref;}
  inline Q931__Types::Q931__MessageType& msg__type()
    {return field_msg__type;}
  inline const Q931__Types::Q931__MessageType& msg__type() const
    {return field_msg__type;}
  inline Q933__Payload& body()
    {return field_body;}
  inline const Q933__Payload& body() const
    {return field_body;}
  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 Q933__PDU_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
Q933__PDU_template *list_value;
} value_list;
struct {
Q933__PDU_template* precondition;
Q933__PDU_template* implied_template;
} implication_;
dynmatch_struct<Q933__PDU>* dyn_match;
};

void set_specific();
void copy_value(const Q933__PDU& other_value);
void copy_template(const Q933__PDU_template& other_value);

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


/* Function prototypes */

extern void Q933__IEI_encoder(const Q933__IEI& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__IEI_decoder(OCTETSTRING& input_stream, Q933__IEI& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__ReportTypeIE_iei_encoder(const Q933__IEI& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__ReportTypeIE_iei_decoder(OCTETSTRING& input_stream, Q933__IEI& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__ReportTypeIE_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__ReportTypeIE_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__TypeOfReport_encoder(const Q933__TypeOfReport& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__TypeOfReport_decoder(OCTETSTRING& input_stream, Q933__TypeOfReport& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__ReportTypeIE_type__of__rep_encoder(const Q933__TypeOfReport& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__ReportTypeIE_type__of__rep_decoder(OCTETSTRING& input_stream, Q933__TypeOfReport& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__ReportTypeIE_encoder(const Q933__ReportTypeIE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__ReportTypeIE_decoder(OCTETSTRING& input_stream, Q933__ReportTypeIE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__STATUS__Msg_rep__type_encoder(const Q933__ReportTypeIE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__STATUS__Msg_rep__type_decoder(OCTETSTRING& input_stream, Q933__ReportTypeIE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__LinkIntegrityIE_iei_encoder(const Q933__IEI& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__LinkIntegrityIE_iei_decoder(OCTETSTRING& input_stream, Q933__IEI& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__LinkIntegrityIE_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__LinkIntegrityIE_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__LinkIntegrityIE_send__seq__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__LinkIntegrityIE_send__seq__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__LinkIntegrityIE_recv__seq__nr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__LinkIntegrityIE_recv__seq__nr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__LinkIntegrityIE_encoder(const Q933__LinkIntegrityIE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__LinkIntegrityIE_decoder(OCTETSTRING& input_stream, Q933__LinkIntegrityIE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__STATUS__Msg_link__int_encoder(const Q933__LinkIntegrityIE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__STATUS__Msg_link__int_decoder(OCTETSTRING& input_stream, Q933__LinkIntegrityIE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatusIE_iei_encoder(const Q933__IEI& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatusIE_iei_decoder(OCTETSTRING& input_stream, Q933__IEI& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatusIE_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatusIE_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const Q933__PvcStatusRec& other_value);
inline boolean operator!=(null_type null_value, const Q933__PvcStatusRec& other_value) { return !(null_value == other_value); }
extern void Q933__PvcStatus_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_dlci__high_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_dlci__high_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_ext1_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_ext1_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_dlci__low_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_dlci__low_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_spare0_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_spare0_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_ext1___encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_ext1___decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_spare0___encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_spare0___decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_new__encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_new__decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_delete__encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_delete__decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_active_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_active_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_reserved0_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_reserved0_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatus_encoder(const Q933__PvcStatus& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatus_decoder(OCTETSTRING& input_stream, Q933__PvcStatus& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatusRec_0_encoder(const Q933__PvcStatus& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatusRec_0_decoder(OCTETSTRING& input_stream, Q933__PvcStatus& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatusRec_encoder(const Q933__PvcStatusRec& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatusRec_decoder(OCTETSTRING& input_stream, Q933__PvcStatusRec& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatusIE_pvc__status_encoder(const Q933__PvcStatusRec& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatusIE_pvc__status_decoder(OCTETSTRING& input_stream, Q933__PvcStatusRec& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PvcStatusIE_encoder(const Q933__PvcStatusIE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PvcStatusIE_decoder(OCTETSTRING& input_stream, Q933__PvcStatusIE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__STATUS__Msg_pvc__status_encoder(const Q933__PvcStatusIE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__STATUS__Msg_pvc__status_decoder(OCTETSTRING& input_stream, Q933__PvcStatusIE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__STATUS__Msg_encoder(const Q933__STATUS__Msg& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__STATUS__Msg_decoder(OCTETSTRING& input_stream, Q933__STATUS__Msg& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__STATEUS__ENQ__Msg_rep__type_encoder(const Q933__ReportTypeIE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__STATEUS__ENQ__Msg_rep__type_decoder(OCTETSTRING& input_stream, Q933__ReportTypeIE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__STATEUS__ENQ__Msg_link__int_encoder(const Q933__LinkIntegrityIE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__STATEUS__ENQ__Msg_link__int_decoder(OCTETSTRING& input_stream, Q933__LinkIntegrityIE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__STATEUS__ENQ__Msg_encoder(const Q933__STATEUS__ENQ__Msg& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__STATEUS__ENQ__Msg_decoder(OCTETSTRING& input_stream, Q933__STATEUS__ENQ__Msg& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__Payload_status_encoder(const Q933__STATUS__Msg& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__Payload_status_decoder(OCTETSTRING& input_stream, Q933__STATUS__Msg& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__Payload_status__enq_encoder(const Q933__STATEUS__ENQ__Msg& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__Payload_status__enq_decoder(OCTETSTRING& input_stream, Q933__STATEUS__ENQ__Msg& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__Payload_other_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__Payload_other_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__Payload_encoder(const Q933__Payload& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__Payload_decoder(OCTETSTRING& input_stream, Q933__Payload& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PDU_prot__disc_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PDU_prot__disc_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PDU_call__ref_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PDU_call__ref_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PDU_msg__type_encoder(const Q931__Types::Q931__MessageType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PDU_msg__type_decoder(OCTETSTRING& input_stream, Q931__Types::Q931__MessageType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PDU_body_encoder(const Q933__Payload& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PDU_body_decoder(OCTETSTRING& input_stream, Q933__Payload& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void Q933__PDU_encoder(const Q933__PDU& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER Q933__PDU_decoder(OCTETSTRING& input_stream, Q933__PDU& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern OCTETSTRING enc__Q933__PDU(const Q933__PDU& si);
extern Q933__PDU dec__Q933__PDU(const OCTETSTRING& stream);
extern Q933__PDU_template tr__Q933__STATUS__ENQ(const Q933__TypeOfReport_template& rep__type);
extern Q933__PDU_template ts__Q933__STATUS__ENQ(const Q933__TypeOfReport_template& rep__type, const Q933__LinkIntegrityIE_template& link__int);
extern Q933__PDU_template tr__Q933__STATUS(const Q933__TypeOfReport_template& rep__type, const Q933__LinkIntegrityIE_template& link__int, const Q933__PvcStatusIE_template& pvc__sts);
extern Q933__PDU_template ts__Q933__STATUS(const Q933__TypeOfReport_template& rep__type, const Q933__LinkIntegrityIE_template& link__int, const Q933__PvcStatusIE_template& pvc__sts);
extern Q933__LinkIntegrityIE_template tr__Q933__LinkIntIE(const INTEGER_template& send__seq__nr, const INTEGER_template& recv__seq__nr);
extern Q933__LinkIntegrityIE_template ts__Q933__LinkIntIE(const INTEGER_template& send__seq__nr, const INTEGER_template& recv__seq__nr);
extern Q933__PvcStatus_template tr__Q933__PvcStatus(const INTEGER& dlci, const BOOLEAN_template& new_, const BOOLEAN_template& delete_, const BOOLEAN_template& active);
extern Q933__PvcStatus_template ts__Q933__PvcStatus(const INTEGER& dlci, const BOOLEAN& new_, const BOOLEAN& delete_, const BOOLEAN& active);
extern Q933__PvcStatusIE_template tr__Q933__PvcStatusIE(const Q933__PvcStatusRec_template& srec);
extern Q933__PvcStatusIE_template ts__Q933__PvcStatusIE(const Q933__PvcStatusRec_template& srec);
extern Q933__ReportTypeIE_template tr__Q933__RepTypeIE(const Q933__TypeOfReport_template& rept);
extern Q933__ReportTypeIE_template ts__Q933__RepTypeIE(const Q933__TypeOfReport_template& rept);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const TTCN_RAWdescriptor_t Q933__IEI_raw_;
extern const TTCN_Typedescriptor_t Q933__IEI_descr_;
extern UNIVERSAL_CHARSTRING Q933__IEI_default_coding;
extern const TTCN_RAWdescriptor_t Q933__ReportTypeIE_iei_raw_;
extern const TTCN_Typedescriptor_t Q933__ReportTypeIE_iei_descr_;
extern UNIVERSAL_CHARSTRING Q933__ReportTypeIE_iei_default_coding;
extern const TTCN_RAWdescriptor_t Q933__ReportTypeIE_len_raw_;
extern const XERdescriptor_t Q933__ReportTypeIE_len_xer_;
extern const TTCN_OERdescriptor_t Q933__ReportTypeIE_len_oer_;
extern const TTCN_Typedescriptor_t Q933__ReportTypeIE_len_descr_;
extern UNIVERSAL_CHARSTRING Q933__ReportTypeIE_len_default_coding;
extern const TTCN_RAWdescriptor_t Q933__TypeOfReport_raw_;
extern const TTCN_Typedescriptor_t Q933__TypeOfReport_descr_;
extern UNIVERSAL_CHARSTRING Q933__TypeOfReport_default_coding;
extern const TTCN_RAWdescriptor_t Q933__ReportTypeIE_type__of__rep_raw_;
extern const TTCN_Typedescriptor_t Q933__ReportTypeIE_type__of__rep_descr_;
extern UNIVERSAL_CHARSTRING Q933__ReportTypeIE_type__of__rep_default_coding;
extern const TTCN_RAWdescriptor_t Q933__ReportTypeIE_raw_;
extern const TTCN_Typedescriptor_t Q933__ReportTypeIE_descr_;
extern UNIVERSAL_CHARSTRING Q933__ReportTypeIE_default_coding;
extern const TTCN_RAWdescriptor_t Q933__STATUS__Msg_rep__type_raw_;
extern const TTCN_Typedescriptor_t Q933__STATUS__Msg_rep__type_descr_;
extern UNIVERSAL_CHARSTRING Q933__STATUS__Msg_rep__type_default_coding;
extern const TTCN_RAWdescriptor_t Q933__STATUS__Msg_raw_;
extern const TTCN_Typedescriptor_t Q933__STATUS__Msg_descr_;
extern const TTCN_RAWdescriptor_t Q933__LinkIntegrityIE_iei_raw_;
extern const TTCN_Typedescriptor_t Q933__LinkIntegrityIE_iei_descr_;
extern UNIVERSAL_CHARSTRING Q933__LinkIntegrityIE_iei_default_coding;
extern const TTCN_RAWdescriptor_t Q933__LinkIntegrityIE_len_raw_;
extern const XERdescriptor_t Q933__LinkIntegrityIE_len_xer_;
extern const TTCN_OERdescriptor_t Q933__LinkIntegrityIE_len_oer_;
extern const TTCN_Typedescriptor_t Q933__LinkIntegrityIE_len_descr_;
extern UNIVERSAL_CHARSTRING Q933__LinkIntegrityIE_len_default_coding;
extern const TTCN_RAWdescriptor_t Q933__LinkIntegrityIE_send__seq__nr_raw_;
extern const XERdescriptor_t Q933__LinkIntegrityIE_send__seq__nr_xer_;
extern const TTCN_OERdescriptor_t Q933__LinkIntegrityIE_send__seq__nr_oer_;
extern const TTCN_Typedescriptor_t Q933__LinkIntegrityIE_send__seq__nr_descr_;
extern UNIVERSAL_CHARSTRING Q933__LinkIntegrityIE_send__seq__nr_default_coding;
extern const TTCN_RAWdescriptor_t Q933__LinkIntegrityIE_recv__seq__nr_raw_;
extern const XERdescriptor_t Q933__LinkIntegrityIE_recv__seq__nr_xer_;
extern const TTCN_OERdescriptor_t Q933__LinkIntegrityIE_recv__seq__nr_oer_;
extern const TTCN_Typedescriptor_t Q933__LinkIntegrityIE_recv__seq__nr_descr_;
extern UNIVERSAL_CHARSTRING Q933__LinkIntegrityIE_recv__seq__nr_default_coding;
extern const TTCN_RAWdescriptor_t Q933__LinkIntegrityIE_raw_;
extern const TTCN_Typedescriptor_t Q933__LinkIntegrityIE_descr_;
extern UNIVERSAL_CHARSTRING Q933__LinkIntegrityIE_default_coding;
extern const TTCN_RAWdescriptor_t Q933__STATUS__Msg_link__int_raw_;
extern const TTCN_Typedescriptor_t Q933__STATUS__Msg_link__int_descr_;
extern UNIVERSAL_CHARSTRING Q933__STATUS__Msg_link__int_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatusIE_iei_raw_;
extern const TTCN_Typedescriptor_t Q933__PvcStatusIE_iei_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatusIE_iei_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatusIE_len_raw_;
extern const XERdescriptor_t Q933__PvcStatusIE_len_xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatusIE_len_oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatusIE_len_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatusIE_len_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatusRec_raw_;
extern const TTCN_Typedescriptor_t Q933__PvcStatusRec_descr_;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_spare_raw_;
extern const XERdescriptor_t Q933__PvcStatus_spare_xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_spare_oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_spare_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_spare_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_dlci__high_raw_;
extern const XERdescriptor_t Q933__PvcStatus_dlci__high_xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_dlci__high_oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_dlci__high_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_dlci__high_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_ext1_raw_;
extern const XERdescriptor_t Q933__PvcStatus_ext1_xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_ext1_oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_ext1_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_ext1_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_dlci__low_raw_;
extern const XERdescriptor_t Q933__PvcStatus_dlci__low_xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_dlci__low_oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_dlci__low_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_dlci__low_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_spare0_raw_;
extern const XERdescriptor_t Q933__PvcStatus_spare0_xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_spare0_oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_spare0_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_spare0_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_ext1___raw_;
extern const XERdescriptor_t Q933__PvcStatus_ext1___xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_ext1___oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_ext1___descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_ext1___default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_spare0___raw_;
extern const XERdescriptor_t Q933__PvcStatus_spare0___xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_spare0___oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_spare0___descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_spare0___default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_new__raw_;
extern const XERdescriptor_t Q933__PvcStatus_new__xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_new__oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_new__descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_new__default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_delete__raw_;
extern const XERdescriptor_t Q933__PvcStatus_delete__xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_delete__oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_delete__descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_delete__default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_active_raw_;
extern const XERdescriptor_t Q933__PvcStatus_active_xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_active_oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_active_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_active_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_reserved0_raw_;
extern const XERdescriptor_t Q933__PvcStatus_reserved0_xer_;
extern const TTCN_OERdescriptor_t Q933__PvcStatus_reserved0_oer_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_reserved0_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_reserved0_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatus_raw_;
extern const TTCN_Typedescriptor_t Q933__PvcStatus_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatus_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatusRec_0_raw_;
extern const TTCN_Typedescriptor_t Q933__PvcStatusRec_0_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatusRec_0_default_coding;
extern UNIVERSAL_CHARSTRING Q933__PvcStatusRec_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatusIE_pvc__status_raw_;
extern const TTCN_Typedescriptor_t Q933__PvcStatusIE_pvc__status_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatusIE_pvc__status_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PvcStatusIE_raw_;
extern const TTCN_Typedescriptor_t Q933__PvcStatusIE_descr_;
extern UNIVERSAL_CHARSTRING Q933__PvcStatusIE_default_coding;
extern const TTCN_RAWdescriptor_t Q933__STATUS__Msg_pvc__status_raw_;
extern const TTCN_Typedescriptor_t Q933__STATUS__Msg_pvc__status_descr_;
extern UNIVERSAL_CHARSTRING Q933__STATUS__Msg_pvc__status_default_coding;
extern UNIVERSAL_CHARSTRING Q933__STATUS__Msg_default_coding;
extern const TTCN_RAWdescriptor_t Q933__STATEUS__ENQ__Msg_rep__type_raw_;
extern const TTCN_Typedescriptor_t Q933__STATEUS__ENQ__Msg_rep__type_descr_;
extern UNIVERSAL_CHARSTRING Q933__STATEUS__ENQ__Msg_rep__type_default_coding;
extern const TTCN_RAWdescriptor_t Q933__STATEUS__ENQ__Msg_link__int_raw_;
extern const TTCN_Typedescriptor_t Q933__STATEUS__ENQ__Msg_link__int_descr_;
extern UNIVERSAL_CHARSTRING Q933__STATEUS__ENQ__Msg_link__int_default_coding;
extern const TTCN_RAWdescriptor_t Q933__STATEUS__ENQ__Msg_raw_;
extern const TTCN_Typedescriptor_t Q933__STATEUS__ENQ__Msg_descr_;
extern UNIVERSAL_CHARSTRING Q933__STATEUS__ENQ__Msg_default_coding;
extern const TTCN_RAWdescriptor_t Q933__Payload_raw_;
extern const TTCN_Typedescriptor_t Q933__Payload_descr_;
extern const TTCN_RAWdescriptor_t Q933__Payload_status_raw_;
extern const TTCN_Typedescriptor_t Q933__Payload_status_descr_;
extern UNIVERSAL_CHARSTRING Q933__Payload_status_default_coding;
extern const TTCN_RAWdescriptor_t Q933__Payload_status__enq_raw_;
extern const TTCN_Typedescriptor_t Q933__Payload_status__enq_descr_;
extern UNIVERSAL_CHARSTRING Q933__Payload_status__enq_default_coding;
extern const TTCN_RAWdescriptor_t Q933__Payload_other_raw_;
extern const XERdescriptor_t Q933__Payload_other_xer_;
extern const TTCN_OERdescriptor_t Q933__Payload_other_oer_;
extern const TTCN_Typedescriptor_t Q933__Payload_other_descr_;
extern UNIVERSAL_CHARSTRING Q933__Payload_other_default_coding;
extern UNIVERSAL_CHARSTRING Q933__Payload_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PDU_prot__disc_raw_;
extern const XERdescriptor_t Q933__PDU_prot__disc_xer_;
extern const TTCN_OERdescriptor_t Q933__PDU_prot__disc_oer_;
extern const TTCN_Typedescriptor_t Q933__PDU_prot__disc_descr_;
extern UNIVERSAL_CHARSTRING Q933__PDU_prot__disc_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PDU_call__ref_raw_;
extern const XERdescriptor_t Q933__PDU_call__ref_xer_;
extern const TTCN_OERdescriptor_t Q933__PDU_call__ref_oer_;
extern const TTCN_Typedescriptor_t Q933__PDU_call__ref_descr_;
extern UNIVERSAL_CHARSTRING Q933__PDU_call__ref_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PDU_msg__type_raw_;
extern const TTCN_Typedescriptor_t Q933__PDU_msg__type_descr_;
extern UNIVERSAL_CHARSTRING Q933__PDU_msg__type_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PDU_body_raw_;
extern const TTCN_Typedescriptor_t Q933__PDU_body_descr_;
extern UNIVERSAL_CHARSTRING Q933__PDU_body_default_coding;
extern const TTCN_RAWdescriptor_t Q933__PDU_raw_;
extern const TTCN_Typedescriptor_t Q933__PDU_descr_;
extern UNIVERSAL_CHARSTRING Q933__PDU_default_coding;
extern const Q933__PDU_template& tr__Q933__LMI__PDU;
extern Q933__PDU_template template_tr__Q933__LMI__PDU;
extern const Q933__PDU_template& ts__Q933__LMI__PDU;
extern Q933__PDU_template template_ts__Q933__LMI__PDU;
extern const Q933__TypeOfReport_template& tr__Q933__STATUS__ENQ_rep__type_defval;
extern Q933__TypeOfReport_template template_tr__Q933__STATUS__ENQ_rep__type_defval;
extern const Q933__TypeOfReport_template& tr__Q933__STATUS_rep__type_defval;
extern Q933__TypeOfReport_template template_tr__Q933__STATUS_rep__type_defval;
extern const Q933__LinkIntegrityIE_template& tr__Q933__STATUS_link__int_defval;
extern Q933__LinkIntegrityIE_template template_tr__Q933__STATUS_link__int_defval;
extern const Q933__PvcStatusIE_template& tr__Q933__STATUS_pvc__sts_defval;
extern Q933__PvcStatusIE_template template_tr__Q933__STATUS_pvc__sts_defval;
extern const Q933__PvcStatusIE_template& ts__Q933__STATUS_pvc__sts_defval;
extern Q933__PvcStatusIE_template template_ts__Q933__STATUS_pvc__sts_defval;
extern const Q933__TypeOfReport_template& tr__Q933__RepTypeIE_rept_defval;
extern Q933__TypeOfReport_template template_tr__Q933__RepTypeIE_rept_defval;
extern const BITSTRING bs_3,
bs_0,
bs_2,
bs_1;
extern const OCTETSTRING os_1,
os_0;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
