// 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 FrameRelay__Emulation_HH
#define FrameRelay__Emulation_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 "FrameRelay_CodecPort.hh"
#include "Q933_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 FrameRelay__Emulation_HH
#endif

namespace FrameRelay__Emulation {

/* Forward declarations of classes */

class FRemu__LinkStatus;
class FRemu__LinkStatus_template;
class FRemu__PvcStatus;
class FRemu__PvcStatus_template;
class FRemu__Event;
class FRemu__Event_template;
class FRemu__PT;
class FRemu__asp__PT;
class FRemu__PROC__PT;
class FRemu__register_call;
class FRemu__register_call_redirect;
class FRemu__register_reply;
class FRemu__register_reply_redirect;
class FRemu__register_template;
class FRemu__unregister_call;
class FRemu__unregister_call_redirect;
class FRemu__unregister_reply;
class FRemu__unregister_reply_redirect;
class FRemu__unregister_template;
class ConnectionData;
class ConnectionData_template;
class Q933em__Config;
class Q933em__Config_template;
class Q933em__State;
class Q933em__State_template;

} /* end of namespace */

#ifndef FrameRelay__Emulation_HH
#define FrameRelay__Emulation_HH

namespace FrameRelay__Emulation {

/* Type definitions */

typedef COMPONENT FR__Emulation__CT;
typedef COMPONENT_template FR__Emulation__CT_template;
typedef COMPONENT FR__Client__CT;
typedef COMPONENT_template FR__Client__CT_template;
typedef VALUE_ARRAY<BOOLEAN, 10, 0> Q933em__State_err__buckets;
typedef TEMPLATE_ARRAY<BOOLEAN, BOOLEAN_template, 10, 0> Q933em__State_err__buckets_template;

/* Class definitions */

class FRemu__LinkStatus : public Base_Type { // enum
friend class FRemu__LinkStatus_template;
public:
enum enum_type { FR__LINK__STS__AVAILABLE = 0, FR__LINK__STS__UNAVAILABLE = 1, UNKNOWN_VALUE = 2, UNBOUND_VALUE = 3 };
private:
enum_type enum_value;

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

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

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

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

void copy_template(const FRemu__LinkStatus_template& other_value);

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

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

boolean match(FRemu__LinkStatus::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const FRemu__LinkStatus& other_value, boolean legacy = FALSE) const;
FRemu__LinkStatus::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
FRemu__LinkStatus_template& list_item(unsigned int list_index);
void log() const;
void log_match(const FRemu__LinkStatus& 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 FRemu__PvcStatus {
  INTEGER field_dlci;
  BOOLEAN field_new_;
  BOOLEAN field_delete_;
  BOOLEAN field_active;
public:
  FRemu__PvcStatus();
  FRemu__PvcStatus(const INTEGER& par_dlci,
    const BOOLEAN& par_new_,
    const BOOLEAN& par_delete_,
    const BOOLEAN& par_active);
  FRemu__PvcStatus(const FRemu__PvcStatus& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  FRemu__PvcStatus& operator=(const FRemu__PvcStatus& other_value);
  boolean operator==(const FRemu__PvcStatus& other_value) const;
  inline boolean operator!=(const FRemu__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 INTEGER& dlci()
    {return field_dlci;}
  inline const INTEGER& dlci() const
    {return field_dlci;}
  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 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);
};

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

void set_specific();
void copy_value(const FRemu__PvcStatus& other_value);
void copy_template(const FRemu__PvcStatus_template& other_value);

public:
FRemu__PvcStatus_template();
FRemu__PvcStatus_template(template_sel other_value);
FRemu__PvcStatus_template(const FRemu__PvcStatus& other_value);
FRemu__PvcStatus_template(const OPTIONAL<FRemu__PvcStatus>& other_value);
FRemu__PvcStatus_template(FRemu__PvcStatus_template* p_precondition, FRemu__PvcStatus_template* p_implied_template);
FRemu__PvcStatus_template(Dynamic_Match_Interface<FRemu__PvcStatus>* p_dyn_match);
FRemu__PvcStatus_template(const FRemu__PvcStatus_template& other_value);
~FRemu__PvcStatus_template();
FRemu__PvcStatus_template& operator=(template_sel other_value);
FRemu__PvcStatus_template& operator=(const FRemu__PvcStatus& other_value);
FRemu__PvcStatus_template& operator=(const OPTIONAL<FRemu__PvcStatus>& other_value);
FRemu__PvcStatus_template& operator=(const FRemu__PvcStatus_template& other_value);
boolean match(const FRemu__PvcStatus& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
FRemu__PvcStatus valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
FRemu__PvcStatus_template& list_item(unsigned int list_index) const;
INTEGER_template& dlci();
const INTEGER_template& dlci() 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;
int size_of() const;
void log() const;
void log_match(const FRemu__PvcStatus& 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 FRemu__Event : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_link__status = 1, ALT_pvc__status = 2 };
private:
union_selection_type union_selection;
union {
FRemu__LinkStatus *field_link__status;
FRemu__PvcStatus *field_pvc__status;
};
void copy_value(const FRemu__Event& other_value);

public:
FRemu__Event();
FRemu__Event(const FRemu__Event& other_value);
~FRemu__Event();
FRemu__Event& operator=(const FRemu__Event& other_value);
boolean operator==(const FRemu__Event& other_value) const;
inline boolean operator!=(const FRemu__Event& other_value) const { return !(*this == other_value); }
FRemu__LinkStatus& link__status();
const FRemu__LinkStatus& link__status() const;
FRemu__PvcStatus& pvc__status();
const FRemu__PvcStatus& pvc__status() 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);
};

class FRemu__Event_template : public Base_Template {
union {
struct {
FRemu__Event::union_selection_type union_selection;
union {
FRemu__LinkStatus_template *field_link__status;
FRemu__PvcStatus_template *field_pvc__status;
};
} single_value;
struct {
unsigned int n_values;
FRemu__Event_template *list_value;
} value_list;
struct {
FRemu__Event_template* precondition;
FRemu__Event_template* implied_template;
} implication_;
dynmatch_struct<FRemu__Event>* dyn_match;
};
void copy_value(const FRemu__Event& other_value);

void copy_template(const FRemu__Event_template& other_value);

public:
FRemu__Event_template();
FRemu__Event_template(template_sel other_value);
FRemu__Event_template(const FRemu__Event& other_value);
FRemu__Event_template(const OPTIONAL<FRemu__Event>& other_value);
FRemu__Event_template(FRemu__Event_template* p_precondition, FRemu__Event_template* p_implied_template);
FRemu__Event_template(Dynamic_Match_Interface<FRemu__Event>* p_dyn_match);
FRemu__Event_template(const FRemu__Event_template& other_value);
~FRemu__Event_template();
void clean_up();
FRemu__Event_template& operator=(template_sel other_value);
FRemu__Event_template& operator=(const FRemu__Event& other_value);
FRemu__Event_template& operator=(const OPTIONAL<FRemu__Event>& other_value);
FRemu__Event_template& operator=(const FRemu__Event_template& other_value);
boolean match(const FRemu__Event& other_value, boolean legacy = FALSE) const;
boolean is_value() const;FRemu__Event valueof() const;
FRemu__Event_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
FRemu__LinkStatus_template& link__status();
const FRemu__LinkStatus_template& link__status() const;
FRemu__PvcStatus_template& pvc__status();
const FRemu__PvcStatus_template& pvc__status() const;
boolean ischosen(FRemu__Event::union_selection_type checked_selection) const;
void log() const;
void log_match(const FRemu__Event& 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 FRemu__PT : public PORT {
enum msg_selection { MESSAGE_0, MESSAGE_1 };
struct msg_queue_item : public msg_queue_item_base {
msg_selection item_selection;
union {
FRemu__Event *message_0;
FrameRelay__Types::FrameRelayFrame *message_1;
};
component sender_component;
};

void remove_msg_queue_head();
protected:
void clear_queue();
public:
FRemu__PT(const char *par_port_name = NULL);
~FRemu__PT();
void send(const FrameRelay__Types::FrameRelayFrame& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame_template& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame_template& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame_template& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
public:
alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status receive(const FRemu__Event_template& value_template, FRemu__Event *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const FRemu__Event_template& value_template, FRemu__Event *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const FRemu__Event_template& value_template, FRemu__Event *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status receive(const FrameRelay__Types::FrameRelayFrame_template& value_template, FrameRelay__Types::FrameRelayFrame *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const FrameRelay__Types::FrameRelayFrame_template& value_template, FrameRelay__Types::FrameRelayFrame *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const FrameRelay__Types::FrameRelayFrame_template& value_template, FrameRelay__Types::FrameRelayFrame *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
private:
void incoming_message(const FRemu__Event& incoming_par, component sender_component);
void incoming_message(const FrameRelay__Types::FrameRelayFrame& incoming_par, component sender_component);
protected:
boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider);
};

class FRemu__asp__PT : public PORT {
enum msg_selection { MESSAGE_0 };
struct msg_queue_item : public msg_queue_item_base {
msg_selection item_selection;
union {
FrameRelay__Types::FrameRelayFrame *message_0;
};
component sender_component;
};

void remove_msg_queue_head();
protected:
void clear_queue();
public:
FRemu__asp__PT(const char *par_port_name = NULL);
~FRemu__asp__PT();
void send(const FRemu__Event& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const FRemu__Event& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const FRemu__Event& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const FRemu__Event_template& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const FRemu__Event_template& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const FRemu__Event_template& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame_template& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame_template& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const FrameRelay__Types::FrameRelayFrame_template& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
public:
alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status receive(const FrameRelay__Types::FrameRelayFrame_template& value_template, FrameRelay__Types::FrameRelayFrame *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const FrameRelay__Types::FrameRelayFrame_template& value_template, FrameRelay__Types::FrameRelayFrame *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const FrameRelay__Types::FrameRelayFrame_template& value_template, FrameRelay__Types::FrameRelayFrame *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
private:
void incoming_message(const FrameRelay__Types::FrameRelayFrame& incoming_par, component sender_component);
protected:
boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider);
};

class FRemu__PROC__PT : public PORT {
enum proc_selection { CALL_0, CALL_1, REPLY_0, REPLY_1 };
struct proc_queue_item {
proc_selection item_selection;
union {
FRemu__register_call *call_0;
FRemu__unregister_call *call_1;
FRemu__register_reply *reply_0;
FRemu__unregister_reply *reply_1;
};
component sender_component;
proc_queue_item *next_item;
} *proc_queue_head, *proc_queue_tail;
void append_to_proc_queue(proc_queue_item *new_item);
void remove_proc_queue_head();
protected:
void clear_queue();
public:
FRemu__PROC__PT(const char *par_port_name = NULL);
~FRemu__PROC__PT();
void call(const FRemu__register_template& call_template, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void call(const FRemu__register_template& call_template, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void call(const FRemu__register_template& call_template, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void call(const FRemu__unregister_template& call_template, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void call(const FRemu__unregister_template& call_template, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void call(const FRemu__unregister_template& call_template, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void reply(const FRemu__register_template& reply_template, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void reply(const FRemu__register_template& reply_template, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void reply(const FRemu__register_template& reply_template, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void reply(const FRemu__unregister_template& reply_template, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void reply(const FRemu__unregister_template& reply_template, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void reply(const FRemu__unregister_template& reply_template, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
public:
alt_status getcall(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_getcall(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status getcall(const FRemu__register_template& getcall_template, const COMPONENT_template& sender_template, const FRemu__register_call_redirect& param_ref, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_getcall(const FRemu__register_template& getcall_template, const COMPONENT_template& sender_template, const FRemu__register_call_redirect& param_ref, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status getcall(const FRemu__unregister_template& getcall_template, const COMPONENT_template& sender_template, const FRemu__unregister_call_redirect& param_ref, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_getcall(const FRemu__unregister_template& getcall_template, const COMPONENT_template& sender_template, const FRemu__unregister_call_redirect& param_ref, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status getreply(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_getreply(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status getreply(const FRemu__register_template& getreply_template, const COMPONENT_template& sender_template, const FRemu__register_reply_redirect& param_ref, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_getreply(const FRemu__register_template& getreply_template, const COMPONENT_template& sender_template, const FRemu__register_reply_redirect& param_ref, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status getreply(const FRemu__unregister_template& getreply_template, const COMPONENT_template& sender_template, const FRemu__unregister_reply_redirect& param_ref, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_getreply(const FRemu__unregister_template& getreply_template, const COMPONENT_template& sender_template, const FRemu__unregister_reply_redirect& param_ref, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
private:
void incoming_call(const FRemu__register_call& incoming_par, component sender_component);
void incoming_call(const FRemu__unregister_call& incoming_par, component sender_component);
void incoming_reply(const FRemu__register_reply& incoming_par, component sender_component);
void incoming_reply(const FRemu__unregister_reply& incoming_par, component sender_component);
protected:
boolean process_call(const char *signature_name, Text_Buf& incoming_buf, component sender_component);
boolean process_reply(const char *signature_name, Text_Buf& incoming_buf, component sender_component);
};

class FRemu__register_call {
INTEGER param_dlci;
public:
inline INTEGER& dlci() { return param_dlci; }
inline const INTEGER& dlci() const { return param_dlci; }
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void log() const;
};

class FRemu__register_call_redirect {
INTEGER *ptr_dlci;
public:
FRemu__register_call_redirect(INTEGER *par_dlci = NULL)
 : ptr_dlci(par_dlci) { }
virtual ~FRemu__register_call_redirect() { }
virtual void set_parameters(const FRemu__register_call& call_par) const;
};

class FRemu__register_reply {
public:
inline void encode_text(Text_Buf&) const { }
inline void decode_text(Text_Buf&) { }
void log() const;
};

class FRemu__register_reply_redirect {
public:
inline void set_parameters(const FRemu__register_reply&) const {}
};

class FRemu__register_template {
INTEGER_template param_dlci;
public:
FRemu__register_template();
inline INTEGER_template& dlci() { return param_dlci; }
inline const INTEGER_template& dlci() const { return param_dlci; }
FRemu__register_call create_call() const;
inline FRemu__register_reply create_reply() const { return FRemu__register_reply(); }
boolean match_call(const FRemu__register_call& match_value, boolean legacy = FALSE) const;
inline boolean match_reply(const FRemu__register_reply&, boolean legacy = FALSE) const { return TRUE; }
void log() const;
void log_match_call(const FRemu__register_call& match_value, boolean legacy = FALSE) const;
void log_match_reply(const FRemu__register_reply& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
};

class FRemu__unregister_call {
INTEGER param_dlci;
public:
inline INTEGER& dlci() { return param_dlci; }
inline const INTEGER& dlci() const { return param_dlci; }
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void log() const;
};

class FRemu__unregister_call_redirect {
INTEGER *ptr_dlci;
public:
FRemu__unregister_call_redirect(INTEGER *par_dlci = NULL)
 : ptr_dlci(par_dlci) { }
virtual ~FRemu__unregister_call_redirect() { }
virtual void set_parameters(const FRemu__unregister_call& call_par) const;
};

class FRemu__unregister_reply {
public:
inline void encode_text(Text_Buf&) const { }
inline void decode_text(Text_Buf&) { }
void log() const;
};

class FRemu__unregister_reply_redirect {
public:
inline void set_parameters(const FRemu__unregister_reply&) const {}
};

class FRemu__unregister_template {
INTEGER_template param_dlci;
public:
FRemu__unregister_template();
inline INTEGER_template& dlci() { return param_dlci; }
inline const INTEGER_template& dlci() const { return param_dlci; }
FRemu__unregister_call create_call() const;
inline FRemu__unregister_reply create_reply() const { return FRemu__unregister_reply(); }
boolean match_call(const FRemu__unregister_call& match_value, boolean legacy = FALSE) const;
inline boolean match_reply(const FRemu__unregister_reply&, boolean legacy = FALSE) const { return TRUE; }
void log() const;
void log_match_call(const FRemu__unregister_call& match_value, boolean legacy = FALSE) const;
void log_match_reply(const FRemu__unregister_reply& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
};

class ConnectionData {
  COMPONENT field_vc__conn;
  FRemu__PvcStatus field_q933__status;
public:
  ConnectionData();
  ConnectionData(const COMPONENT& par_vc__conn,
    const FRemu__PvcStatus& par_q933__status);
  ConnectionData(const ConnectionData& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ConnectionData& operator=(const ConnectionData& other_value);
  boolean operator==(const ConnectionData& other_value) const;
  inline boolean operator!=(const ConnectionData& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline COMPONENT& vc__conn()
    {return field_vc__conn;}
  inline const COMPONENT& vc__conn() const
    {return field_vc__conn;}
  inline FRemu__PvcStatus& q933__status()
    {return field_q933__status;}
  inline const FRemu__PvcStatus& q933__status() const
    {return field_q933__status;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
};

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

void set_specific();
void copy_value(const ConnectionData& other_value);
void copy_template(const ConnectionData_template& other_value);

public:
ConnectionData_template();
ConnectionData_template(template_sel other_value);
ConnectionData_template(const ConnectionData& other_value);
ConnectionData_template(const OPTIONAL<ConnectionData>& other_value);
ConnectionData_template(ConnectionData_template* p_precondition, ConnectionData_template* p_implied_template);
ConnectionData_template(Dynamic_Match_Interface<ConnectionData>* p_dyn_match);
ConnectionData_template(const ConnectionData_template& other_value);
~ConnectionData_template();
ConnectionData_template& operator=(template_sel other_value);
ConnectionData_template& operator=(const ConnectionData& other_value);
ConnectionData_template& operator=(const OPTIONAL<ConnectionData>& other_value);
ConnectionData_template& operator=(const ConnectionData_template& other_value);
boolean match(const ConnectionData& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ConnectionData valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ConnectionData_template& list_item(unsigned int list_index) const;
COMPONENT_template& vc__conn();
const COMPONENT_template& vc__conn() const;
FRemu__PvcStatus_template& q933__status();
const FRemu__PvcStatus_template& q933__status() const;
int size_of() const;
void log() const;
void log_match(const ConnectionData& 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 Q933em__Config {
  INTEGER field_N391;
  INTEGER field_N392;
  INTEGER field_N393;
  FLOAT field_T391;
  FLOAT field_T392;
  BOOLEAN field_ats__is__user;
  BOOLEAN field_bidirectional;
public:
  Q933em__Config();
  Q933em__Config(const INTEGER& par_N391,
    const INTEGER& par_N392,
    const INTEGER& par_N393,
    const FLOAT& par_T391,
    const FLOAT& par_T392,
    const BOOLEAN& par_ats__is__user,
    const BOOLEAN& par_bidirectional);
  Q933em__Config(const Q933em__Config& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933em__Config& operator=(const Q933em__Config& other_value);
  boolean operator==(const Q933em__Config& other_value) const;
  inline boolean operator!=(const Q933em__Config& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline INTEGER& N391()
    {return field_N391;}
  inline const INTEGER& N391() const
    {return field_N391;}
  inline INTEGER& N392()
    {return field_N392;}
  inline const INTEGER& N392() const
    {return field_N392;}
  inline INTEGER& N393()
    {return field_N393;}
  inline const INTEGER& N393() const
    {return field_N393;}
  inline FLOAT& T391()
    {return field_T391;}
  inline const FLOAT& T391() const
    {return field_T391;}
  inline FLOAT& T392()
    {return field_T392;}
  inline const FLOAT& T392() const
    {return field_T392;}
  inline BOOLEAN& ats__is__user()
    {return field_ats__is__user;}
  inline const BOOLEAN& ats__is__user() const
    {return field_ats__is__user;}
  inline BOOLEAN& bidirectional()
    {return field_bidirectional;}
  inline const BOOLEAN& bidirectional() const
    {return field_bidirectional;}
  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);
};

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

void set_specific();
void copy_value(const Q933em__Config& other_value);
void copy_template(const Q933em__Config_template& other_value);

public:
Q933em__Config_template();
Q933em__Config_template(template_sel other_value);
Q933em__Config_template(const Q933em__Config& other_value);
Q933em__Config_template(const OPTIONAL<Q933em__Config>& other_value);
Q933em__Config_template(Q933em__Config_template* p_precondition, Q933em__Config_template* p_implied_template);
Q933em__Config_template(Dynamic_Match_Interface<Q933em__Config>* p_dyn_match);
Q933em__Config_template(const Q933em__Config_template& other_value);
~Q933em__Config_template();
Q933em__Config_template& operator=(template_sel other_value);
Q933em__Config_template& operator=(const Q933em__Config& other_value);
Q933em__Config_template& operator=(const OPTIONAL<Q933em__Config>& other_value);
Q933em__Config_template& operator=(const Q933em__Config_template& other_value);
boolean match(const Q933em__Config& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
Q933em__Config valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
Q933em__Config_template& list_item(unsigned int list_index) const;
INTEGER_template& N391();
const INTEGER_template& N391() const;
INTEGER_template& N392();
const INTEGER_template& N392() const;
INTEGER_template& N393();
const INTEGER_template& N393() const;
FLOAT_template& T391();
const FLOAT_template& T391() const;
FLOAT_template& T392();
const FLOAT_template& T392() const;
BOOLEAN_template& ats__is__user();
const BOOLEAN_template& ats__is__user() const;
BOOLEAN_template& bidirectional();
const BOOLEAN_template& bidirectional() const;
int size_of() const;
void log() const;
void log_match(const Q933em__Config& 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 Q933em__State {
  Q933em__Config field_cfg;
  INTEGER field_tx__seq__nr;
  INTEGER field_last__rx__seq__nr;
  Q933em__State_err__buckets field_err__buckets;
  INTEGER field_num__cycles;
  BOOLEAN field_service__affecting__condition;
  BOOLEAN field_rx__status__in__cycle;
public:
  Q933em__State();
  Q933em__State(const Q933em__Config& par_cfg,
    const INTEGER& par_tx__seq__nr,
    const INTEGER& par_last__rx__seq__nr,
    const Q933em__State_err__buckets& par_err__buckets,
    const INTEGER& par_num__cycles,
    const BOOLEAN& par_service__affecting__condition,
    const BOOLEAN& par_rx__status__in__cycle);
  Q933em__State(const Q933em__State& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  Q933em__State& operator=(const Q933em__State& other_value);
  boolean operator==(const Q933em__State& other_value) const;
  inline boolean operator!=(const Q933em__State& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline Q933em__Config& cfg()
    {return field_cfg;}
  inline const Q933em__Config& cfg() const
    {return field_cfg;}
  inline INTEGER& tx__seq__nr()
    {return field_tx__seq__nr;}
  inline const INTEGER& tx__seq__nr() const
    {return field_tx__seq__nr;}
  inline INTEGER& last__rx__seq__nr()
    {return field_last__rx__seq__nr;}
  inline const INTEGER& last__rx__seq__nr() const
    {return field_last__rx__seq__nr;}
  inline Q933em__State_err__buckets& err__buckets()
    {return field_err__buckets;}
  inline const Q933em__State_err__buckets& err__buckets() const
    {return field_err__buckets;}
  inline INTEGER& num__cycles()
    {return field_num__cycles;}
  inline const INTEGER& num__cycles() const
    {return field_num__cycles;}
  inline BOOLEAN& service__affecting__condition()
    {return field_service__affecting__condition;}
  inline const BOOLEAN& service__affecting__condition() const
    {return field_service__affecting__condition;}
  inline BOOLEAN& rx__status__in__cycle()
    {return field_rx__status__in__cycle;}
  inline const BOOLEAN& rx__status__in__cycle() const
    {return field_rx__status__in__cycle;}
  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);
};

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

void set_specific();
void copy_value(const Q933em__State& other_value);
void copy_template(const Q933em__State_template& other_value);

public:
Q933em__State_template();
Q933em__State_template(template_sel other_value);
Q933em__State_template(const Q933em__State& other_value);
Q933em__State_template(const OPTIONAL<Q933em__State>& other_value);
Q933em__State_template(Q933em__State_template* p_precondition, Q933em__State_template* p_implied_template);
Q933em__State_template(Dynamic_Match_Interface<Q933em__State>* p_dyn_match);
Q933em__State_template(const Q933em__State_template& other_value);
~Q933em__State_template();
Q933em__State_template& operator=(template_sel other_value);
Q933em__State_template& operator=(const Q933em__State& other_value);
Q933em__State_template& operator=(const OPTIONAL<Q933em__State>& other_value);
Q933em__State_template& operator=(const Q933em__State_template& other_value);
boolean match(const Q933em__State& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
Q933em__State valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
Q933em__State_template& list_item(unsigned int list_index) const;
Q933em__Config_template& cfg();
const Q933em__Config_template& cfg() const;
INTEGER_template& tx__seq__nr();
const INTEGER_template& tx__seq__nr() const;
INTEGER_template& last__rx__seq__nr();
const INTEGER_template& last__rx__seq__nr() const;
Q933em__State_err__buckets_template& err__buckets();
const Q933em__State_err__buckets_template& err__buckets() const;
INTEGER_template& num__cycles();
const INTEGER_template& num__cycles() const;
BOOLEAN_template& service__affecting__condition();
const BOOLEAN_template& service__affecting__condition() const;
BOOLEAN_template& rx__status__in__cycle();
const BOOLEAN_template& rx__status__in__cycle() const;
int size_of() const;
void log() const;
void log_match(const Q933em__State& 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 FRemu__Event_template tr__FRemu__PvcStatusAct(const INTEGER_template& dlci, const BOOLEAN_template& active);
extern Q933em__Config_template ts__Q933em__Config(const BOOLEAN& ats__is__user, const BOOLEAN& bidirectional);
extern Q933em__State_template ts__Q933em__State(const Q933em__Config& cfg);
extern INTEGER q933__next__seq(const INTEGER& cur__seq);
extern void fill__err__bucket(const BOOLEAN& has__error);
extern void start_fill__err__bucket(const COMPONENT& component_reference, const BOOLEAN& has__error);
extern void q933__handle__rx__link__int(const Q933__Types::Q933__LinkIntegrityIE& link__int);
extern void start_q933__handle__rx__link__int(const COMPONENT& component_reference, const Q933__Types::Q933__LinkIntegrityIE& link__int);
extern Q933__Types::Q933__LinkIntegrityIE q933__gen__tx__link__int();
extern void start_q933__gen__tx__link__int(const COMPONENT& component_reference);
extern Q933__Types::Q933__PvcStatusRec q933__gen__pvc__status__rec();
extern void start_q933__gen__pvc__status__rec(const COMPONENT& component_reference);
extern void q933__tx__status__enq();
extern void start_q933__tx__status__enq(const COMPONENT& component_reference);
extern void handle__rx__q933(const Q933__Types::Q933__PDU& rx__pdu);
extern void start_handle__rx__q933(const COMPONENT& component_reference, const Q933__Types::Q933__PDU& rx__pdu);
extern FRemu__PvcStatus status__pvc2fremu(const Q933__Types::Q933__PvcStatus& inp);
extern void q933__handle__rx__pvc__status(const Q933__Types::Q933__PvcStatusRec& pvc__str);
extern void start_q933__handle__rx__pvc__status(const COMPONENT& component_reference, const Q933__Types::Q933__PvcStatusRec& pvc__str);
extern void q933__tx(const Q933__Types::Q933__PDU_template& tx);
extern void start_q933__tx(const COMPONENT& component_reference, const Q933__Types::Q933__PDU_template& tx);
extern void notify__client(const COMPONENT& vc__conn, const FRemu__Event_template& evt);
extern void start_notify__client(const COMPONENT& component_reference, const COMPONENT& vc__conn, const FRemu__Event_template& evt);
extern void notify__all__clients(const FRemu__Event_template& evt);
extern void start_notify__all__clients(const COMPONENT& component_reference, const FRemu__Event_template& evt);
extern void notify__all__clients__pvc__state();
extern void start_notify__all__clients__pvc__state(const COMPONENT& component_reference);
extern void main_(const Q933em__Config& q933__cfg);
extern void start_main_(const COMPONENT& component_reference, const Q933em__Config& q933__cfg);
extern void f__fremu__register(const INTEGER& dlci);
extern void start_f__fremu__register(const COMPONENT& component_reference, const INTEGER& dlci);
extern void f__fremu__unregister(const INTEGER& dlci);
extern void start_f__fremu__unregister(const COMPONENT& component_reference, const INTEGER& dlci);
extern void pre_init_module();
extern void post_init_module();
extern boolean init_comp_type(const char *component_type, boolean init_base_comps);
extern boolean init_system_port(const char* component_type, const char* port_name);
extern boolean start_ptc_function(const char *function_name, Text_Buf& function_arguments);

/* Global variable declarations */

extern const TTCN_Typedescriptor_t FRemu__LinkStatus_descr_;
extern const XERdescriptor_t FRemu__PvcStatus_dlci_xer_;
extern const TTCN_Typedescriptor_t FRemu__PvcStatus_dlci_descr_;
extern const XERdescriptor_t FRemu__PvcStatus_new__xer_;
extern const TTCN_OERdescriptor_t FRemu__PvcStatus_new__oer_;
extern const TTCN_Typedescriptor_t FRemu__PvcStatus_new__descr_;
extern const XERdescriptor_t FRemu__PvcStatus_delete__xer_;
extern const TTCN_OERdescriptor_t FRemu__PvcStatus_delete__oer_;
extern const TTCN_Typedescriptor_t FRemu__PvcStatus_delete__descr_;
extern const XERdescriptor_t FRemu__PvcStatus_active_xer_;
extern const TTCN_OERdescriptor_t FRemu__PvcStatus_active_oer_;
extern const TTCN_Typedescriptor_t FRemu__PvcStatus_active_descr_;
extern const TTCN_Typedescriptor_t FRemu__PvcStatus_descr_;
extern const TTCN_Typedescriptor_t FRemu__Event_descr_;
extern const BOOLEAN_template& tr__FRemu__PvcStatusAct_active_defval;
extern BOOLEAN_template template_tr__FRemu__PvcStatusAct_active_defval;
extern const TTCN_Typedescriptor_t& FR__Emulation__CT_descr_;
extern FrameRelay__CodecPort::FR__CODEC__PT FR__Emulation__CT_component_FR;
extern FRemu__asp__PT FR__Emulation__CT_component_CLIENT;
extern FRemu__PROC__PT FR__Emulation__CT_component_PROC;
extern const TTCN_Typedescriptor_t& FR__Client__CT_descr_;
extern const TTCN_Typedescriptor_t ConnectionData_descr_;
extern VALUE_ARRAY<ConnectionData, 1024, 0> FR__Emulation__CT_component_ConnectionTable;
extern const XERdescriptor_t Q933em__Config_N391_xer_;
extern const TTCN_Typedescriptor_t Q933em__Config_N391_descr_;
extern UNIVERSAL_CHARSTRING Q933em__Config_N391_default_coding;
extern const XERdescriptor_t Q933em__Config_N392_xer_;
extern const TTCN_Typedescriptor_t Q933em__Config_N392_descr_;
extern const XERdescriptor_t Q933em__Config_N393_xer_;
extern const TTCN_Typedescriptor_t Q933em__Config_N393_descr_;
extern const XERdescriptor_t Q933em__Config_T391_xer_;
extern const TTCN_OERdescriptor_t Q933em__Config_T391_oer_;
extern const TTCN_Typedescriptor_t Q933em__Config_T391_descr_;
extern const XERdescriptor_t Q933em__Config_T392_xer_;
extern const TTCN_OERdescriptor_t Q933em__Config_T392_oer_;
extern const TTCN_Typedescriptor_t Q933em__Config_T392_descr_;
extern const XERdescriptor_t Q933em__Config_ats__is__user_xer_;
extern const TTCN_OERdescriptor_t Q933em__Config_ats__is__user_oer_;
extern const TTCN_Typedescriptor_t Q933em__Config_ats__is__user_descr_;
extern const XERdescriptor_t Q933em__Config_bidirectional_xer_;
extern const TTCN_OERdescriptor_t Q933em__Config_bidirectional_oer_;
extern const TTCN_Typedescriptor_t Q933em__Config_bidirectional_descr_;
extern const TTCN_Typedescriptor_t Q933em__Config_descr_;
extern const XERdescriptor_t Q933em__State_tx__seq__nr_xer_;
extern const TTCN_OERdescriptor_t Q933em__State_tx__seq__nr_oer_;
extern const TTCN_Typedescriptor_t Q933em__State_tx__seq__nr_descr_;
extern UNIVERSAL_CHARSTRING Q933em__State_tx__seq__nr_default_coding;
extern const XERdescriptor_t Q933em__State_last__rx__seq__nr_xer_;
extern const TTCN_OERdescriptor_t Q933em__State_last__rx__seq__nr_oer_;
extern const TTCN_Typedescriptor_t Q933em__State_last__rx__seq__nr_descr_;
extern UNIVERSAL_CHARSTRING Q933em__State_last__rx__seq__nr_default_coding;
extern const TTCN_Typedescriptor_t Q933em__State_err__buckets_descr_;
extern const XERdescriptor_t Q933em__State_num__cycles_xer_;
extern const TTCN_Typedescriptor_t Q933em__State_num__cycles_descr_;
extern const XERdescriptor_t Q933em__State_service__affecting__condition_xer_;
extern const TTCN_OERdescriptor_t Q933em__State_service__affecting__condition_oer_;
extern const TTCN_Typedescriptor_t Q933em__State_service__affecting__condition_descr_;
extern const XERdescriptor_t Q933em__State_rx__status__in__cycle_xer_;
extern const TTCN_OERdescriptor_t Q933em__State_rx__status__in__cycle_oer_;
extern const TTCN_Typedescriptor_t Q933em__State_rx__status__in__cycle_descr_;
extern const TTCN_Typedescriptor_t Q933em__State_descr_;
extern Q933em__State FR__Emulation__CT_component_q933em;
extern TIMER FR__Emulation__CT_component_T391;
extern TIMER FR__Emulation__CT_component_T392;
extern FRemu__PT FR__Client__CT_component_FR;
extern FRemu__PROC__PT FR__Client__CT_component_FR__PROC;
extern const OCTETSTRING os_0;
extern const OCTETSTRING_template op_0;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
