#ifndef macrolib_ibis_ccvs_max_INCLUDED
#define macrolib_ibis_ccvs_max_INCLUDED
#if defined(__GNUC__) && defined(unix)
#  pragma interface "macrolib_ibis_ccvs_max.hpp"
#endif
#ifndef macrolib_ibis_ccvs_max_export
#  if defined(_WIN32) && !defined(unix)
#    define macrolib_ibis_ccvs_max_export __declspec(dllimport)
#  else
#    define macrolib_ibis_ccvs_max_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_ccvs_max_export IBIS_CCVS_MAX {
public:
const char *mInstanceName;
static STANDARD_REAL smG_SCALE;
static unsigned smGF_SCALE;
unsigned mGF_SCALE : 1;
const STANDARD_REAL SCALE;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_P;
static unsigned smPF_P;
static short smPT_P;
unsigned mPF_P : 4;
short mPT_P;
static const char *smAN_P;
ELECTRICAL_SYSTEMS_ELECTRICAL &P;
static double smExpression_P;
double mExpression_P;
VHDL_Dispatcher *P_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_N;
static unsigned smPF_N;
static short smPT_N;
unsigned mPF_N : 4;
short mPT_N;
static const char *smAN_N;
ELECTRICAL_SYSTEMS_ELECTRICAL &N;
static double smExpression_N;
double mExpression_N;
VHDL_Dispatcher *N_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_PS1;
static unsigned smPF_PS1;
static short smPT_PS1;
unsigned mPF_PS1 : 4;
short mPT_PS1;
static const char *smAN_PS1;
ELECTRICAL_SYSTEMS_ELECTRICAL &PS1;
static double smExpression_PS1;
double mExpression_PS1;
VHDL_Dispatcher *PS1_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_NS1;
static unsigned smPF_NS1;
static short smPT_NS1;
unsigned mPF_NS1 : 4;
short mPT_NS1;
static const char *smAN_NS1;
ELECTRICAL_SYSTEMS_ELECTRICAL &NS1;
static double smExpression_NS1;
double mExpression_NS1;
VHDL_Dispatcher *NS1_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_PS2;
static unsigned smPF_PS2;
static short smPT_PS2;
unsigned mPF_PS2 : 4;
short mPT_PS2;
static const char *smAN_PS2;
ELECTRICAL_SYSTEMS_ELECTRICAL &PS2;
static double smExpression_PS2;
double mExpression_PS2;
VHDL_Dispatcher *PS2_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_NS2;
static unsigned smPF_NS2;
static short smPT_NS2;
unsigned mPF_NS2 : 4;
short mPT_NS2;
static const char *smAN_NS2;
ELECTRICAL_SYSTEMS_ELECTRICAL &NS2;
static double smExpression_NS2;
double mExpression_NS2;
VHDL_Dispatcher *NS2_dispatchers;
virtual short ElaborateConfiguration(const char *, long) = 0;
public:
IBIS_CCVS_MAX();
virtual ~IBIS_CCVS_MAX();
};
extern "C" macrolib_ibis_ccvs_max_export const char *MACROLIB_IBIS_CCVS_MAX_GetPortName(short);
extern "C" macrolib_ibis_ccvs_max_export void MACROLIB_IBIS_CCVS_MAX_InitStaticGenericPort(void);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_SetGeneric(const char *, const char *, const char *, const T_B3CIValue *);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_SetPort(short inLang, const char *, const char *, const char *, const char *, void *, long, double, short, short);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_InstantiateUnmappedPort(const char *);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_Elaborate(T_B3CIHandle *, const char *, long, short);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_Initialize(T_B3CIHandle, long, double *);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_Finalize(T_B3CIHandle);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_AmsLink(T_B3CIHandle, long, long **);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_AmsBim(T_B3CIHandle, long, TRANS_PARAM_BIM *, long **);
extern "C" macrolib_ibis_ccvs_max_export short MACROLIB_IBIS_CCVS_MAX_AmsConverge(T_B3CIHandle, long, long **, double *, unsigned char *, ANALYSISTYPE);
}
#endif /* macrolib_ibis_ccvs_max_INCLUDED */
