#ifndef macrolib_ibis_t_INCLUDED
#define macrolib_ibis_t_INCLUDED
#if defined(__GNUC__) && defined(unix)
#  pragma interface "macrolib_ibis_t.hpp"
#endif
#ifndef macrolib_ibis_t_export
#  if defined(_WIN32) && !defined(unix)
#    define macrolib_ibis_t_export __declspec(dllimport)
#  else
#    define macrolib_ibis_t_export
#  endif
#endif
#include "smash_enum.h"
#include "std_standard.hpp"
using namespace STD;
#include "ieee_electrical_systems.hpp"
using namespace IEEE;
namespace MACROLIB
{
class macrolib_ibis_t_export IBIS_T {
public:
const char *mInstanceName;
static STANDARD_REAL smG_Z0;
static unsigned smGF_Z0;
unsigned mGF_Z0 : 1;
const STANDARD_REAL Z0;
static STANDARD_REAL smG_TD;
static unsigned smGF_TD;
unsigned mGF_TD : 1;
const STANDARD_REAL TD;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_N1;
static unsigned smPF_N1;
static short smPT_N1;
unsigned mPF_N1 : 4;
short mPT_N1;
static const char *smAN_N1;
ELECTRICAL_SYSTEMS_ELECTRICAL &N1;
static double smExpression_N1;
double mExpression_N1;
VHDL_Dispatcher *N1_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_REF1;
static unsigned smPF_REF1;
static short smPT_REF1;
unsigned mPF_REF1 : 4;
short mPT_REF1;
static const char *smAN_REF1;
ELECTRICAL_SYSTEMS_ELECTRICAL &REF1;
static double smExpression_REF1;
double mExpression_REF1;
VHDL_Dispatcher *REF1_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_N2;
static unsigned smPF_N2;
static short smPT_N2;
unsigned mPF_N2 : 4;
short mPT_N2;
static const char *smAN_N2;
ELECTRICAL_SYSTEMS_ELECTRICAL &N2;
static double smExpression_N2;
double mExpression_N2;
VHDL_Dispatcher *N2_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_REF2;
static unsigned smPF_REF2;
static short smPT_REF2;
unsigned mPF_REF2 : 4;
short mPT_REF2;
static const char *smAN_REF2;
ELECTRICAL_SYSTEMS_ELECTRICAL &REF2;
static double smExpression_REF2;
double mExpression_REF2;
VHDL_Dispatcher *REF2_dispatchers;
virtual short ElaborateConfiguration(const char *, long) = 0;
public:
IBIS_T();
virtual ~IBIS_T();
};
extern "C" macrolib_ibis_t_export const char *MACROLIB_IBIS_T_GetPortName(short);
extern "C" macrolib_ibis_t_export void MACROLIB_IBIS_T_InitStaticGenericPort(void);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_SetGeneric(const char *, const char *, const char *, const T_B3CIValue *);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_SetPort(short inLang, const char *, const char *, const char *, const char *, void *, long, double, short, short);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_InstantiateUnmappedPort(const char *);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_Elaborate(T_B3CIHandle *, const char *, long, short);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_Initialize(T_B3CIHandle, long, double *);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_Finalize(T_B3CIHandle);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_AmsLink(T_B3CIHandle, long, long **);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_AmsBim(T_B3CIHandle, long, TRANS_PARAM_BIM *, long **);
extern "C" macrolib_ibis_t_export short MACROLIB_IBIS_T_AmsConverge(T_B3CIHandle, long, long **, double *, unsigned char *, ANALYSISTYPE);
}
#endif /* macrolib_ibis_t_INCLUDED */
