#ifndef macrolib_ibis_io_INCLUDED
#define macrolib_ibis_io_INCLUDED
#if defined(__GNUC__) && defined(unix)
#  pragma interface "macrolib_ibis_io.hpp"
#endif
#ifndef macrolib_ibis_io_export
#  if defined(_WIN32) && !defined(unix)
#    define macrolib_ibis_io_export __declspec(dllimport)
#  else
#    define macrolib_ibis_io_export
#  endif
#endif
#include "smash_enum.h"
#include "std_standard.hpp"
using namespace STD;
#include "ieee_electrical_systems.hpp"
using namespace IEEE;
#include "ieee_math_real.hpp"
using namespace IEEE;
namespace MACROLIB
{
class macrolib_ibis_io_export IBIS_IO {
public:
const char *mInstanceName;
static STANDARD_REAL smG_C_COMP;
static unsigned smGF_C_COMP;
unsigned mGF_C_COMP : 1;
const STANDARD_REAL C_COMP;
static STANDARD_REAL smG_KC_COMP_PC;
static unsigned smGF_KC_COMP_PC;
unsigned mGF_KC_COMP_PC : 1;
const STANDARD_REAL KC_COMP_PC;
static STANDARD_REAL smG_KC_COMP_PU;
static unsigned smGF_KC_COMP_PU;
unsigned mGF_KC_COMP_PU : 1;
const STANDARD_REAL KC_COMP_PU;
static STANDARD_REAL smG_KC_COMP_PD;
static unsigned smGF_KC_COMP_PD;
unsigned mGF_KC_COMP_PD : 1;
const STANDARD_REAL KC_COMP_PD;
static STANDARD_REAL smG_KC_COMP_GC;
static unsigned smGF_KC_COMP_GC;
unsigned mGF_KC_COMP_GC : 1;
const STANDARD_REAL KC_COMP_GC;
static STANDARD_REAL smG_VINH;
static unsigned smGF_VINH;
unsigned mGF_VINH : 1;
const STANDARD_REAL VINH;
static STANDARD_REAL smG_VINL;
static unsigned smGF_VINL;
unsigned mGF_VINL : 1;
const STANDARD_REAL VINL;
static STANDARD_REAL smG_VPC_REF;
static unsigned smGF_VPC_REF;
unsigned mGF_VPC_REF : 1;
const STANDARD_REAL VPC_REF;
static STANDARD_REAL smG_VPU_REF;
static unsigned smGF_VPU_REF;
unsigned mGF_VPU_REF : 1;
const STANDARD_REAL VPU_REF;
static STANDARD_REAL smG_VPD_REF;
static unsigned smGF_VPD_REF;
unsigned mGF_VPD_REF : 1;
const STANDARD_REAL VPD_REF;
static STANDARD_REAL smG_VGC_REF;
static unsigned smGF_VGC_REF;
unsigned mGF_VGC_REF : 1;
const STANDARD_REAL VGC_REF;
static STANDARD_REAL_VECTOR* smG_IPC_DATA;
static unsigned smGF_IPC_DATA;
unsigned mGF_IPC_DATA : 1;
STANDARD_REAL_VECTOR& IPC_DATA;
static STANDARD_REAL_VECTOR* smG_VPC_DATA;
static unsigned smGF_VPC_DATA;
unsigned mGF_VPC_DATA : 1;
STANDARD_REAL_VECTOR& VPC_DATA;
static STANDARD_REAL_VECTOR* smG_IPU_DATA;
static unsigned smGF_IPU_DATA;
unsigned mGF_IPU_DATA : 1;
STANDARD_REAL_VECTOR& IPU_DATA;
static STANDARD_REAL_VECTOR* smG_VPU_DATA;
static unsigned smGF_VPU_DATA;
unsigned mGF_VPU_DATA : 1;
STANDARD_REAL_VECTOR& VPU_DATA;
static STANDARD_REAL_VECTOR* smG_IPD_DATA;
static unsigned smGF_IPD_DATA;
unsigned mGF_IPD_DATA : 1;
STANDARD_REAL_VECTOR& IPD_DATA;
static STANDARD_REAL_VECTOR* smG_VPD_DATA;
static unsigned smGF_VPD_DATA;
unsigned mGF_VPD_DATA : 1;
STANDARD_REAL_VECTOR& VPD_DATA;
static STANDARD_REAL_VECTOR* smG_IGC_DATA;
static unsigned smGF_IGC_DATA;
unsigned mGF_IGC_DATA : 1;
STANDARD_REAL_VECTOR& IGC_DATA;
static STANDARD_REAL_VECTOR* smG_VGC_DATA;
static unsigned smGF_VGC_DATA;
unsigned mGF_VGC_DATA : 1;
STANDARD_REAL_VECTOR& VGC_DATA;
static STANDARD_REAL_VECTOR* smG_VR1_DATA;
static unsigned smGF_VR1_DATA;
unsigned mGF_VR1_DATA : 1;
STANDARD_REAL_VECTOR& VR1_DATA;
static STANDARD_REAL_VECTOR* smG_TR1_DATA;
static unsigned smGF_TR1_DATA;
unsigned mGF_TR1_DATA : 1;
STANDARD_REAL_VECTOR& TR1_DATA;
static STANDARD_REAL_VECTOR* smG_VR2_DATA;
static unsigned smGF_VR2_DATA;
unsigned mGF_VR2_DATA : 1;
STANDARD_REAL_VECTOR& VR2_DATA;
static STANDARD_REAL_VECTOR* smG_TR2_DATA;
static unsigned smGF_TR2_DATA;
unsigned mGF_TR2_DATA : 1;
STANDARD_REAL_VECTOR& TR2_DATA;
static STANDARD_REAL_VECTOR* smG_VF1_DATA;
static unsigned smGF_VF1_DATA;
unsigned mGF_VF1_DATA : 1;
STANDARD_REAL_VECTOR& VF1_DATA;
static STANDARD_REAL_VECTOR* smG_TF1_DATA;
static unsigned smGF_TF1_DATA;
unsigned mGF_TF1_DATA : 1;
STANDARD_REAL_VECTOR& TF1_DATA;
static STANDARD_REAL_VECTOR* smG_VF2_DATA;
static unsigned smGF_VF2_DATA;
unsigned mGF_VF2_DATA : 1;
STANDARD_REAL_VECTOR& VF2_DATA;
static STANDARD_REAL_VECTOR* smG_TF2_DATA;
static unsigned smGF_TF2_DATA;
unsigned mGF_TF2_DATA : 1;
STANDARD_REAL_VECTOR& TF2_DATA;
static STANDARD_REAL smG_VFX_R1;
static unsigned smGF_VFX_R1;
unsigned mGF_VFX_R1 : 1;
const STANDARD_REAL VFX_R1;
static STANDARD_REAL smG_VFX_R2;
static unsigned smGF_VFX_R2;
unsigned mGF_VFX_R2 : 1;
const STANDARD_REAL VFX_R2;
static STANDARD_REAL smG_VFX_F1;
static unsigned smGF_VFX_F1;
unsigned mGF_VFX_F1 : 1;
const STANDARD_REAL VFX_F1;
static STANDARD_REAL smG_VFX_F2;
static unsigned smGF_VFX_F2;
unsigned mGF_VFX_F2 : 1;
const STANDARD_REAL VFX_F2;
static STANDARD_REAL smG_RFX_R1;
static unsigned smGF_RFX_R1;
unsigned mGF_RFX_R1 : 1;
const STANDARD_REAL RFX_R1;
static STANDARD_REAL smG_RFX_R2;
static unsigned smGF_RFX_R2;
unsigned mGF_RFX_R2 : 1;
const STANDARD_REAL RFX_R2;
static STANDARD_REAL smG_RFX_F1;
static unsigned smGF_RFX_F1;
unsigned mGF_RFX_F1 : 1;
const STANDARD_REAL RFX_F1;
static STANDARD_REAL smG_RFX_F2;
static unsigned smGF_RFX_F2;
unsigned mGF_RFX_F2 : 1;
const STANDARD_REAL RFX_F2;
static STANDARD_REAL smG_MAX_DT;
static unsigned smGF_MAX_DT;
unsigned mGF_MAX_DT : 1;
const STANDARD_REAL MAX_DT;
static STANDARD_REAL smG_VTH_R;
static unsigned smGF_VTH_R;
unsigned mGF_VTH_R : 1;
const STANDARD_REAL VTH_R;
static STANDARD_REAL smG_VTH_F;
static unsigned smGF_VTH_F;
unsigned mGF_VTH_F : 1;
const STANDARD_REAL VTH_F;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_PU_REF;
static unsigned smPF_PU_REF;
static short smPT_PU_REF;
unsigned mPF_PU_REF : 4;
short mPT_PU_REF;
static const char *smAN_PU_REF;
ELECTRICAL_SYSTEMS_ELECTRICAL &PU_REF;
static double smExpression_PU_REF;
double mExpression_PU_REF;
VHDL_Dispatcher *PU_REF_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_PD_REF;
static unsigned smPF_PD_REF;
static short smPT_PD_REF;
unsigned mPF_PD_REF : 4;
short mPT_PD_REF;
static const char *smAN_PD_REF;
ELECTRICAL_SYSTEMS_ELECTRICAL &PD_REF;
static double smExpression_PD_REF;
double mExpression_PD_REF;
VHDL_Dispatcher *PD_REF_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_PAD;
static unsigned smPF_PAD;
static short smPT_PAD;
unsigned mPF_PAD : 4;
short mPT_PAD;
static const char *smAN_PAD;
ELECTRICAL_SYSTEMS_ELECTRICAL &PAD;
static double smExpression_PAD;
double mExpression_PAD;
VHDL_Dispatcher *PAD_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_IN_D;
static unsigned smPF_IN_D;
static short smPT_IN_D;
unsigned mPF_IN_D : 4;
short mPT_IN_D;
static const char *smAN_IN_D;
ELECTRICAL_SYSTEMS_ELECTRICAL &IN_D;
static double smExpression_IN_D;
double mExpression_IN_D;
VHDL_Dispatcher *IN_D_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_EN_D;
static unsigned smPF_EN_D;
static short smPT_EN_D;
unsigned mPF_EN_D : 4;
short mPT_EN_D;
static const char *smAN_EN_D;
ELECTRICAL_SYSTEMS_ELECTRICAL &EN_D;
static double smExpression_EN_D;
double mExpression_EN_D;
VHDL_Dispatcher *EN_D_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_PC_REF;
static unsigned smPF_PC_REF;
static short smPT_PC_REF;
unsigned mPF_PC_REF : 4;
short mPT_PC_REF;
static const char *smAN_PC_REF;
ELECTRICAL_SYSTEMS_ELECTRICAL &PC_REF;
static double smExpression_PC_REF;
double mExpression_PC_REF;
VHDL_Dispatcher *PC_REF_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_GC_REF;
static unsigned smPF_GC_REF;
static short smPT_GC_REF;
unsigned mPF_GC_REF : 4;
short mPT_GC_REF;
static const char *smAN_GC_REF;
ELECTRICAL_SYSTEMS_ELECTRICAL &GC_REF;
static double smExpression_GC_REF;
double mExpression_GC_REF;
VHDL_Dispatcher *GC_REF_dispatchers;
virtual short ElaborateConfiguration(const char *, long) = 0;
public:
IBIS_IO();
virtual ~IBIS_IO();
};
extern "C" macrolib_ibis_io_export const char *MACROLIB_IBIS_IO_GetPortName(short);
extern "C" macrolib_ibis_io_export void MACROLIB_IBIS_IO_InitStaticGenericPort(void);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_SetGeneric(const char *, const char *, const char *, const T_B3CIValue *);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_SetPort(short inLang, const char *, const char *, const char *, const char *, void *, long, double, short, short);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_InstantiateUnmappedPort(const char *);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_Elaborate(T_B3CIHandle *, const char *, long, short);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_Initialize(T_B3CIHandle, long, double *);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_Finalize(T_B3CIHandle);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_AmsLink(T_B3CIHandle, long, long **);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_AmsBim(T_B3CIHandle, long, TRANS_PARAM_BIM *, long **);
extern "C" macrolib_ibis_io_export short MACROLIB_IBIS_IO_AmsConverge(T_B3CIHandle, long, long **, double *, unsigned char *, ANALYSISTYPE);
}
#endif /* macrolib_ibis_io_INCLUDED */
