// 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 Osmocom__CTRL__Types_HH
#define Osmocom__CTRL__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>

#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 Osmocom__CTRL__Types_HH
#endif

namespace Osmocom__CTRL__Types {

/* Forward declarations of classes */

class CtrlCommand;
class CtrlCommand_template;
class CtrlResponse;
class CtrlResponse_template;
class CtrlError;
class CtrlError_template;
class CtrlTrap;
class CtrlTrap_template;
class CtrlMessage;
class CtrlMessage_template;

} /* end of namespace */

#ifndef Osmocom__CTRL__Types_HH
#define Osmocom__CTRL__Types_HH

namespace Osmocom__CTRL__Types {

/* Type definitions */

typedef CHARSTRING CtrlVerb;
typedef CHARSTRING_template CtrlVerb_template;
typedef CHARSTRING CtrlReplyVerb;
typedef CHARSTRING_template CtrlReplyVerb_template;
typedef CHARSTRING CtrlId;
typedef CHARSTRING_template CtrlId_template;
typedef CHARSTRING CtrlVariable;
typedef CHARSTRING_template CtrlVariable_template;
typedef CHARSTRING CtrlValue;
typedef CHARSTRING_template CtrlValue_template;
typedef CHARSTRING CtrlReason;
typedef CHARSTRING_template CtrlReason_template;

/* Class definitions */

class CtrlCommand : public Base_Type {
  CHARSTRING field_verb;
  CHARSTRING field_id;
  CHARSTRING field_variable;
  OPTIONAL< CHARSTRING > field_val;
public:
  CtrlCommand();
  CtrlCommand(const CHARSTRING& par_verb,
    const CHARSTRING& par_id,
    const CHARSTRING& par_variable,
    const OPTIONAL< CHARSTRING >& par_val);
  CtrlCommand(const CtrlCommand& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CtrlCommand& operator=(const CtrlCommand& other_value);
  boolean operator==(const CtrlCommand& other_value) const;
  inline boolean operator!=(const CtrlCommand& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline CHARSTRING& verb()
    {return field_verb;}
  inline const CHARSTRING& verb() const
    {return field_verb;}
  inline CHARSTRING& id()
    {return field_id;}
  inline const CHARSTRING& id() const
    {return field_id;}
  inline CHARSTRING& variable()
    {return field_variable;}
  inline const CHARSTRING& variable() const
    {return field_variable;}
  inline OPTIONAL< CHARSTRING >& val()
    {return field_val;}
  inline const OPTIONAL< CHARSTRING >& val() const
    {return field_val;}
  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 TEXT_encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&) const;
int TEXT_decode(const TTCN_Typedescriptor_t&,TTCN_Buffer&, Limit_Token_List&, boolean no_err=FALSE,boolean first_call=TRUE);
};

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

void set_specific();
void copy_value(const CtrlCommand& other_value);
void copy_template(const CtrlCommand_template& other_value);

public:
CtrlCommand_template();
CtrlCommand_template(template_sel other_value);
CtrlCommand_template(const CtrlCommand& other_value);
CtrlCommand_template(const OPTIONAL<CtrlCommand>& other_value);
CtrlCommand_template(CtrlCommand_template* p_precondition, CtrlCommand_template* p_implied_template);
CtrlCommand_template(Dynamic_Match_Interface<CtrlCommand>* p_dyn_match);
CtrlCommand_template(const CtrlCommand_template& other_value);
~CtrlCommand_template();
CtrlCommand_template& operator=(template_sel other_value);
CtrlCommand_template& operator=(const CtrlCommand& other_value);
CtrlCommand_template& operator=(const OPTIONAL<CtrlCommand>& other_value);
CtrlCommand_template& operator=(const CtrlCommand_template& other_value);
boolean match(const CtrlCommand& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CtrlCommand valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CtrlCommand_template& list_item(unsigned int list_index) const;
CHARSTRING_template& verb();
const CHARSTRING_template& verb() const;
CHARSTRING_template& id();
const CHARSTRING_template& id() const;
CHARSTRING_template& variable();
const CHARSTRING_template& variable() const;
CHARSTRING_template& val();
const CHARSTRING_template& val() const;
int size_of() const;
void log() const;
void log_match(const CtrlCommand& 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 CtrlResponse : public Base_Type {
  CHARSTRING field_verb;
  CHARSTRING field_id;
  CHARSTRING field_variable;
  CHARSTRING field_val;
public:
  CtrlResponse();
  CtrlResponse(const CHARSTRING& par_verb,
    const CHARSTRING& par_id,
    const CHARSTRING& par_variable,
    const CHARSTRING& par_val);
  CtrlResponse(const CtrlResponse& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CtrlResponse& operator=(const CtrlResponse& other_value);
  boolean operator==(const CtrlResponse& other_value) const;
  inline boolean operator!=(const CtrlResponse& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline CHARSTRING& verb()
    {return field_verb;}
  inline const CHARSTRING& verb() const
    {return field_verb;}
  inline CHARSTRING& id()
    {return field_id;}
  inline const CHARSTRING& id() const
    {return field_id;}
  inline CHARSTRING& variable()
    {return field_variable;}
  inline const CHARSTRING& variable() const
    {return field_variable;}
  inline CHARSTRING& val()
    {return field_val;}
  inline const CHARSTRING& val() const
    {return field_val;}
  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 TEXT_encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&) const;
int TEXT_decode(const TTCN_Typedescriptor_t&,TTCN_Buffer&, Limit_Token_List&, boolean no_err=FALSE,boolean first_call=TRUE);
};

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

void set_specific();
void copy_value(const CtrlResponse& other_value);
void copy_template(const CtrlResponse_template& other_value);

public:
CtrlResponse_template();
CtrlResponse_template(template_sel other_value);
CtrlResponse_template(const CtrlResponse& other_value);
CtrlResponse_template(const OPTIONAL<CtrlResponse>& other_value);
CtrlResponse_template(CtrlResponse_template* p_precondition, CtrlResponse_template* p_implied_template);
CtrlResponse_template(Dynamic_Match_Interface<CtrlResponse>* p_dyn_match);
CtrlResponse_template(const CtrlResponse_template& other_value);
~CtrlResponse_template();
CtrlResponse_template& operator=(template_sel other_value);
CtrlResponse_template& operator=(const CtrlResponse& other_value);
CtrlResponse_template& operator=(const OPTIONAL<CtrlResponse>& other_value);
CtrlResponse_template& operator=(const CtrlResponse_template& other_value);
boolean match(const CtrlResponse& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CtrlResponse valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CtrlResponse_template& list_item(unsigned int list_index) const;
CHARSTRING_template& verb();
const CHARSTRING_template& verb() const;
CHARSTRING_template& id();
const CHARSTRING_template& id() const;
CHARSTRING_template& variable();
const CHARSTRING_template& variable() const;
CHARSTRING_template& val();
const CHARSTRING_template& val() const;
int size_of() const;
void log() const;
void log_match(const CtrlResponse& 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 CtrlError : public Base_Type {
  CHARSTRING field_id;
  CHARSTRING field_reason;
public:
  CtrlError();
  CtrlError(const CHARSTRING& par_id,
    const CHARSTRING& par_reason);
  CtrlError(const CtrlError& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CtrlError& operator=(const CtrlError& other_value);
  boolean operator==(const CtrlError& other_value) const;
  inline boolean operator!=(const CtrlError& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline CHARSTRING& id()
    {return field_id;}
  inline const CHARSTRING& id() const
    {return field_id;}
  inline CHARSTRING& reason()
    {return field_reason;}
  inline const CHARSTRING& reason() const
    {return field_reason;}
  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 TEXT_encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&) const;
int TEXT_decode(const TTCN_Typedescriptor_t&,TTCN_Buffer&, Limit_Token_List&, boolean no_err=FALSE,boolean first_call=TRUE);
};

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

void set_specific();
void copy_value(const CtrlError& other_value);
void copy_template(const CtrlError_template& other_value);

public:
CtrlError_template();
CtrlError_template(template_sel other_value);
CtrlError_template(const CtrlError& other_value);
CtrlError_template(const OPTIONAL<CtrlError>& other_value);
CtrlError_template(CtrlError_template* p_precondition, CtrlError_template* p_implied_template);
CtrlError_template(Dynamic_Match_Interface<CtrlError>* p_dyn_match);
CtrlError_template(const CtrlError_template& other_value);
~CtrlError_template();
CtrlError_template& operator=(template_sel other_value);
CtrlError_template& operator=(const CtrlError& other_value);
CtrlError_template& operator=(const OPTIONAL<CtrlError>& other_value);
CtrlError_template& operator=(const CtrlError_template& other_value);
boolean match(const CtrlError& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CtrlError valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CtrlError_template& list_item(unsigned int list_index) const;
CHARSTRING_template& id();
const CHARSTRING_template& id() const;
CHARSTRING_template& reason();
const CHARSTRING_template& reason() const;
int size_of() const;
void log() const;
void log_match(const CtrlError& 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 CtrlTrap : public Base_Type {
  CHARSTRING field_variable;
  CHARSTRING field_val;
public:
  CtrlTrap();
  CtrlTrap(const CHARSTRING& par_variable,
    const CHARSTRING& par_val);
  CtrlTrap(const CtrlTrap& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CtrlTrap& operator=(const CtrlTrap& other_value);
  boolean operator==(const CtrlTrap& other_value) const;
  inline boolean operator!=(const CtrlTrap& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

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

  inline CHARSTRING& variable()
    {return field_variable;}
  inline const CHARSTRING& variable() const
    {return field_variable;}
  inline CHARSTRING& val()
    {return field_val;}
  inline const CHARSTRING& val() const
    {return field_val;}
  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 TEXT_encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&) const;
int TEXT_decode(const TTCN_Typedescriptor_t&,TTCN_Buffer&, Limit_Token_List&, boolean no_err=FALSE,boolean first_call=TRUE);
};

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

void set_specific();
void copy_value(const CtrlTrap& other_value);
void copy_template(const CtrlTrap_template& other_value);

public:
CtrlTrap_template();
CtrlTrap_template(template_sel other_value);
CtrlTrap_template(const CtrlTrap& other_value);
CtrlTrap_template(const OPTIONAL<CtrlTrap>& other_value);
CtrlTrap_template(CtrlTrap_template* p_precondition, CtrlTrap_template* p_implied_template);
CtrlTrap_template(Dynamic_Match_Interface<CtrlTrap>* p_dyn_match);
CtrlTrap_template(const CtrlTrap_template& other_value);
~CtrlTrap_template();
CtrlTrap_template& operator=(template_sel other_value);
CtrlTrap_template& operator=(const CtrlTrap& other_value);
CtrlTrap_template& operator=(const OPTIONAL<CtrlTrap>& other_value);
CtrlTrap_template& operator=(const CtrlTrap_template& other_value);
boolean match(const CtrlTrap& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CtrlTrap valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CtrlTrap_template& list_item(unsigned int list_index) const;
CHARSTRING_template& variable();
const CHARSTRING_template& variable() const;
CHARSTRING_template& val();
const CHARSTRING_template& val() const;
int size_of() const;
void log() const;
void log_match(const CtrlTrap& 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 CtrlMessage : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_cmd = 1, ALT_resp = 2, ALT_err = 3, ALT_trap = 4 };
private:
union_selection_type union_selection;
union {
CtrlCommand *field_cmd;
CtrlResponse *field_resp;
CtrlError *field_err;
CtrlTrap *field_trap;
};
void copy_value(const CtrlMessage& other_value);

public:
CtrlMessage();
CtrlMessage(const CtrlMessage& other_value);
~CtrlMessage();
CtrlMessage& operator=(const CtrlMessage& other_value);
boolean operator==(const CtrlMessage& other_value) const;
inline boolean operator!=(const CtrlMessage& other_value) const { return !(*this == other_value); }
CtrlCommand& cmd();
const CtrlCommand& cmd() const;
CtrlResponse& resp();
const CtrlResponse& resp() const;
CtrlError& err();
const CtrlError& err() const;
CtrlTrap& trap();
const CtrlTrap& trap() 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 TEXT_encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&) const;
int TEXT_decode(const TTCN_Typedescriptor_t&,TTCN_Buffer&, Limit_Token_List&, boolean no_err=FALSE,boolean first_call=TRUE);
};

class CtrlMessage_template : public Base_Template {
union {
struct {
CtrlMessage::union_selection_type union_selection;
union {
CtrlCommand_template *field_cmd;
CtrlResponse_template *field_resp;
CtrlError_template *field_err;
CtrlTrap_template *field_trap;
};
} single_value;
struct {
unsigned int n_values;
CtrlMessage_template *list_value;
} value_list;
struct {
CtrlMessage_template* precondition;
CtrlMessage_template* implied_template;
} implication_;
dynmatch_struct<CtrlMessage>* dyn_match;
};
void copy_value(const CtrlMessage& other_value);

void copy_template(const CtrlMessage_template& other_value);

public:
CtrlMessage_template();
CtrlMessage_template(template_sel other_value);
CtrlMessage_template(const CtrlMessage& other_value);
CtrlMessage_template(const OPTIONAL<CtrlMessage>& other_value);
CtrlMessage_template(CtrlMessage_template* p_precondition, CtrlMessage_template* p_implied_template);
CtrlMessage_template(Dynamic_Match_Interface<CtrlMessage>* p_dyn_match);
CtrlMessage_template(const CtrlMessage_template& other_value);
~CtrlMessage_template();
void clean_up();
CtrlMessage_template& operator=(template_sel other_value);
CtrlMessage_template& operator=(const CtrlMessage& other_value);
CtrlMessage_template& operator=(const OPTIONAL<CtrlMessage>& other_value);
CtrlMessage_template& operator=(const CtrlMessage_template& other_value);
boolean match(const CtrlMessage& other_value, boolean legacy = FALSE) const;
boolean is_value() const;CtrlMessage valueof() const;
CtrlMessage_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
CtrlCommand_template& cmd();
const CtrlCommand_template& cmd() const;
CtrlResponse_template& resp();
const CtrlResponse_template& resp() const;
CtrlError_template& err();
const CtrlError_template& err() const;
CtrlTrap_template& trap();
const CtrlTrap_template& trap() const;
boolean ischosen(CtrlMessage::union_selection_type checked_selection) const;
void log() const;
void log_match(const CtrlMessage& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};


/* Function prototypes */

extern void CtrlVerb_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlVerb_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlReplyVerb_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlReplyVerb_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlId_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlId_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlVariable_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlVariable_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlValue_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlValue_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlReason_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlReason_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlCommand_encoder(const CtrlCommand& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlCommand_decoder(OCTETSTRING& input_stream, CtrlCommand& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlResponse_encoder(const CtrlResponse& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlResponse_decoder(OCTETSTRING& input_stream, CtrlResponse& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlError_encoder(const CtrlError& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlError_decoder(OCTETSTRING& input_stream, CtrlError& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlTrap_encoder(const CtrlTrap& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlTrap_decoder(OCTETSTRING& input_stream, CtrlTrap& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CtrlMessage_encoder(const CtrlMessage& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CtrlMessage_decoder(OCTETSTRING& input_stream, CtrlMessage& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern CHARSTRING enc__CtrlMessage(const CtrlMessage& id);
extern CtrlMessage dec__CtrlMessage(const CHARSTRING& id);
extern CtrlMessage_template ts__CtrlMsgGet(const CHARSTRING& id, const CHARSTRING& variable);
extern CtrlMessage_template ts__CtrlMsgSet(const CHARSTRING& id, const CHARSTRING& variable, const CHARSTRING& val);
extern CtrlMessage_template ts__CtrlMsgTrap(const CHARSTRING& variable, const CHARSTRING_template& val);
extern CtrlMessage_template ts__CtrlMsgGetRepl(const CHARSTRING& id, const CHARSTRING& variable, const CHARSTRING& val);
extern CtrlMessage_template ts__CtrlMsgSetRepl(const CHARSTRING& id, const CHARSTRING& variable, const CHARSTRING& val);
extern CtrlMessage_template tr__CtrlMsgGet(const CHARSTRING_template& id, const CHARSTRING_template& variable);
extern CtrlMessage_template tr__CtrlMsgSet(const CHARSTRING_template& id, const CHARSTRING_template& variable, const CHARSTRING_template& val);
extern CtrlMessage_template tr__CtrlMsgGetRepl(const CHARSTRING_template& id, const CHARSTRING_template& variable);
extern CtrlMessage_template tr__CtrlMsgSetRepl(const CHARSTRING_template& id, const CHARSTRING_template& variable, const CHARSTRING_template& val);
extern CtrlMessage_template tr__CtrlMsgTrap(const CHARSTRING_template& variable, const CHARSTRING_template& val);
extern CtrlMessage_template tr__CtrlMsgError(const CHARSTRING_template& id, const CHARSTRING_template& reason);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const TTCN_TEXTdescriptor_param_values CtrlVerb_par_;
extern const TTCN_TEXTdescriptor_t CtrlVerb_text_;
extern const XERdescriptor_t CtrlVerb_xer_;
extern const TTCN_Typedescriptor_t CtrlVerb_descr_;
extern UNIVERSAL_CHARSTRING CtrlVerb_default_coding;
extern const TTCN_TEXTdescriptor_param_values CtrlReplyVerb_par_;
extern const TTCN_TEXTdescriptor_t CtrlReplyVerb_text_;
extern const XERdescriptor_t CtrlReplyVerb_xer_;
extern const TTCN_Typedescriptor_t CtrlReplyVerb_descr_;
extern UNIVERSAL_CHARSTRING CtrlReplyVerb_default_coding;
extern const XERdescriptor_t CtrlId_xer_;
extern const TTCN_Typedescriptor_t CtrlId_descr_;
extern UNIVERSAL_CHARSTRING CtrlId_default_coding;
extern const XERdescriptor_t CtrlVariable_xer_;
extern const TTCN_Typedescriptor_t CtrlVariable_descr_;
extern UNIVERSAL_CHARSTRING CtrlVariable_default_coding;
extern const XERdescriptor_t CtrlValue_xer_;
extern const TTCN_Typedescriptor_t CtrlValue_descr_;
extern UNIVERSAL_CHARSTRING CtrlValue_default_coding;
extern const XERdescriptor_t CtrlReason_xer_;
extern const TTCN_Typedescriptor_t CtrlReason_descr_;
extern UNIVERSAL_CHARSTRING CtrlReason_default_coding;
extern const XERdescriptor_t CtrlCommand_verb_xer_;
extern const TTCN_Typedescriptor_t CtrlCommand_verb_descr_;
extern UNIVERSAL_CHARSTRING CtrlCommand_verb_default_coding;
extern const XERdescriptor_t CtrlCommand_id_xer_;
extern const TTCN_Typedescriptor_t CtrlCommand_id_descr_;
extern UNIVERSAL_CHARSTRING CtrlCommand_id_default_coding;
extern const XERdescriptor_t CtrlCommand_variable_xer_;
extern const TTCN_Typedescriptor_t CtrlCommand_variable_descr_;
extern UNIVERSAL_CHARSTRING CtrlCommand_variable_default_coding;
extern const TTCN_TEXTdescriptor_t CtrlCommand_text_;
extern const TTCN_Typedescriptor_t CtrlCommand_descr_;
extern const XERdescriptor_t CtrlCommand_val_xer_;
extern const TTCN_Typedescriptor_t CtrlCommand_val_descr_;
extern UNIVERSAL_CHARSTRING CtrlCommand_val_default_coding;
extern UNIVERSAL_CHARSTRING CtrlCommand_default_coding;
extern const XERdescriptor_t CtrlResponse_verb_xer_;
extern const TTCN_Typedescriptor_t CtrlResponse_verb_descr_;
extern UNIVERSAL_CHARSTRING CtrlResponse_verb_default_coding;
extern const XERdescriptor_t CtrlResponse_id_xer_;
extern const TTCN_Typedescriptor_t CtrlResponse_id_descr_;
extern UNIVERSAL_CHARSTRING CtrlResponse_id_default_coding;
extern const XERdescriptor_t CtrlResponse_variable_xer_;
extern const TTCN_Typedescriptor_t CtrlResponse_variable_descr_;
extern UNIVERSAL_CHARSTRING CtrlResponse_variable_default_coding;
extern const XERdescriptor_t CtrlResponse_val_xer_;
extern const TTCN_Typedescriptor_t CtrlResponse_val_descr_;
extern UNIVERSAL_CHARSTRING CtrlResponse_val_default_coding;
extern const TTCN_TEXTdescriptor_t CtrlResponse_text_;
extern const TTCN_Typedescriptor_t CtrlResponse_descr_;
extern UNIVERSAL_CHARSTRING CtrlResponse_default_coding;
extern const XERdescriptor_t CtrlError_id_xer_;
extern const TTCN_Typedescriptor_t CtrlError_id_descr_;
extern UNIVERSAL_CHARSTRING CtrlError_id_default_coding;
extern const XERdescriptor_t CtrlError_reason_xer_;
extern const TTCN_Typedescriptor_t CtrlError_reason_descr_;
extern UNIVERSAL_CHARSTRING CtrlError_reason_default_coding;
extern const TTCN_TEXTdescriptor_t CtrlError_text_;
extern const TTCN_Typedescriptor_t CtrlError_descr_;
extern UNIVERSAL_CHARSTRING CtrlError_default_coding;
extern const XERdescriptor_t CtrlTrap_variable_xer_;
extern const TTCN_Typedescriptor_t CtrlTrap_variable_descr_;
extern UNIVERSAL_CHARSTRING CtrlTrap_variable_default_coding;
extern const XERdescriptor_t CtrlTrap_val_xer_;
extern const TTCN_Typedescriptor_t CtrlTrap_val_descr_;
extern UNIVERSAL_CHARSTRING CtrlTrap_val_default_coding;
extern const TTCN_TEXTdescriptor_t CtrlTrap_text_;
extern const TTCN_Typedescriptor_t CtrlTrap_descr_;
extern UNIVERSAL_CHARSTRING CtrlTrap_default_coding;
extern const TTCN_TEXTdescriptor_t CtrlMessage_text_;
extern const TTCN_Typedescriptor_t CtrlMessage_descr_;
extern UNIVERSAL_CHARSTRING CtrlMessage_cmd_default_coding;
extern UNIVERSAL_CHARSTRING CtrlMessage_resp_default_coding;
extern UNIVERSAL_CHARSTRING CtrlMessage_err_default_coding;
extern UNIVERSAL_CHARSTRING CtrlMessage_trap_default_coding;
extern UNIVERSAL_CHARSTRING CtrlMessage_default_coding;
extern const CHARSTRING_template& ts__CtrlMsgTrap_val_defval;
extern CHARSTRING_template template_ts__CtrlMsgTrap_val_defval;
extern const CHARSTRING_template& tr__CtrlMsgGet_variable_defval;
extern CHARSTRING_template template_tr__CtrlMsgGet_variable_defval;
extern const CHARSTRING_template& tr__CtrlMsgSet_variable_defval;
extern CHARSTRING_template template_tr__CtrlMsgSet_variable_defval;
extern const CHARSTRING_template& tr__CtrlMsgSet_val_defval;
extern CHARSTRING_template template_tr__CtrlMsgSet_val_defval;
extern const CHARSTRING_template& tr__CtrlMsgGetRepl_variable_defval;
extern CHARSTRING_template template_tr__CtrlMsgGetRepl_variable_defval;
extern const CHARSTRING_template& tr__CtrlMsgSetRepl_variable_defval;
extern CHARSTRING_template template_tr__CtrlMsgSetRepl_variable_defval;
extern const CHARSTRING_template& tr__CtrlMsgSetRepl_val_defval;
extern CHARSTRING_template template_tr__CtrlMsgSetRepl_val_defval;
extern const CHARSTRING_template& tr__CtrlMsgTrap_variable_defval;
extern CHARSTRING_template template_tr__CtrlMsgTrap_variable_defval;
extern const CHARSTRING_template& tr__CtrlMsgTrap_val_defval;
extern CHARSTRING_template template_tr__CtrlMsgTrap_val_defval;
extern const CHARSTRING_template& tr__CtrlMsgError_id_defval;
extern CHARSTRING_template template_tr__CtrlMsgError_id_defval;
extern const CHARSTRING_template& tr__CtrlMsgError_reason_defval;
extern CHARSTRING_template template_tr__CtrlMsgError_reason_defval;
extern const CHARSTRING cs_3,
cs_0,
cs_1,
cs_4,
cs_6,
cs_5,
cs_7,
cs_2;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
