// 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 Osmocom__CTRL__Adapter_HH
#define Osmocom__CTRL__Adapter_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_CTRL_Functions.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

namespace Osmocom__CTRL__Adapter {

/* Type definitions */

typedef COMPONENT CTRL__Adapter__CT;
typedef COMPONENT_template CTRL__Adapter__CT_template;

/* Function prototypes */

extern void f__ipa__ctrl__wait__link__up();
extern void start_f__ipa__ctrl__wait__link__up(const COMPONENT& component_reference);
extern void f__ipa__ctrl__wait__link__down();
extern void start_f__ipa__ctrl__wait__link__down(const COMPONENT& component_reference);
extern void f__ipa__ctrl__start__client(const CHARSTRING& bsc__host, const INTEGER& bsc__port);
extern void start_f__ipa__ctrl__start__client(const COMPONENT& component_reference, const CHARSTRING& bsc__host, const INTEGER& bsc__port);
extern void f__ipa__ctrl__start__server(const CHARSTRING& listen__host, const INTEGER& listen__port);
extern void start_f__ipa__ctrl__start__server(const COMPONENT& component_reference, const CHARSTRING& listen__host, const INTEGER& listen__port);
extern void f__ipa__ctrl__stop();
extern void start_f__ipa__ctrl__stop(const COMPONENT& component_reference);
extern CHARSTRING f__ctrl__get__bts(IPA__Emulation::IPA__CTRL__PT& pt, const INTEGER& bts__nr, const CHARSTRING& suffix);
extern void f__ctrl__set__bts(IPA__Emulation::IPA__CTRL__PT& pt, const INTEGER& bts__nr, const CHARSTRING& suffix, const CHARSTRING& val);
extern CHARSTRING_template ts__bts(const INTEGER& bts__nr);
extern CHARSTRING_template ts__bts__trx(const INTEGER& bts__nr, const INTEGER& trx__nr);
extern void f__ctrl__get__exp__bts(IPA__Emulation::IPA__CTRL__PT& pt, const INTEGER& bts__nr, const CHARSTRING& suffix, const CHARSTRING_template& exp);
extern void f__ctrl__get__exp__trx(IPA__Emulation::IPA__CTRL__PT& pt, const INTEGER& bts__nr, const INTEGER& trx__nr, const CHARSTRING& suffix, const CHARSTRING_template& exp);
extern CHARSTRING_template ts__fsm__inst__id(const CHARSTRING& class__name, const CHARSTRING& inst__id);
extern CHARSTRING f__ctrl__get__fsm__inst__state(IPA__Emulation::IPA__CTRL__PT& pt, const CHARSTRING& fsm__class__name, const CHARSTRING& fsm__inst__id);
extern void f__ctrl__get__exp__inst__state(IPA__Emulation::IPA__CTRL__PT& pt, const CHARSTRING& fsm__class__name, const CHARSTRING_template& fsm__inst__id, const CHARSTRING_template& exp);
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& CTRL__Adapter__CT_descr_;
extern COMPONENT CTRL__Adapter__CT_component_vc__CTRL__IPA;
extern BOOLEAN CTRL__Adapter__CT_component_ipa__is__up;
extern IPA__Emulation::IPA__CTRL__PT CTRL__Adapter__CT_component_IPA__CTRL;
extern const CHARSTRING cs_2,
cs_1,
cs_5,
cs_8,
cs_0,
cs_3,
cs_4,
cs_7,
cs_9,
cs_6;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
