#ifndef macrolib_ibis_input_INCLUDED
#define macrolib_ibis_input_INCLUDED
#if defined(__GNUC__) && defined(unix)
#  pragma interface "macrolib_ibis_input.hpp"
#endif
#ifndef macrolib_ibis_input_export
#  if defined(_WIN32) && !defined(unix)
#    define macrolib_ibis_input_export __declspec(dllimport)
#  else
#    define macrolib_ibis_input_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_input_export IBIS_INPUT {
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_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_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_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 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;
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_RCV_D;
static unsigned smPF_RCV_D;
static short smPT_RCV_D;
unsigned mPF_RCV_D : 4;
short mPT_RCV_D;
static const char *smAN_RCV_D;
ELECTRICAL_SYSTEMS_ELECTRICAL &RCV_D;
static double smExpression_RCV_D;
double mExpression_RCV_D;
VHDL_Dispatcher *RCV_D_dispatchers;
virtual short ElaborateConfiguration(const char *, long) = 0;
public:
IBIS_INPUT();
virtual ~IBIS_INPUT();
};
extern "C" macrolib_ibis_input_export const char *MACROLIB_IBIS_INPUT_GetPortName(short);
extern "C" macrolib_ibis_input_export void MACROLIB_IBIS_INPUT_InitStaticGenericPort(void);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_SetGeneric(const char *, const char *, const char *, const T_B3CIValue *);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_SetPort(short inLang, const char *, const char *, const char *, const char *, void *, long, double, short, short);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_InstantiateUnmappedPort(const char *);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_Elaborate(T_B3CIHandle *, const char *, long, short);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_Initialize(T_B3CIHandle, long, double *);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_Finalize(T_B3CIHandle);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_AmsLink(T_B3CIHandle, long, long **);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_AmsBim(T_B3CIHandle, long, TRANS_PARAM_BIM *, long **);
extern "C" macrolib_ibis_input_export short MACROLIB_IBIS_INPUT_AmsConverge(T_B3CIHandle, long, long **, double *, unsigned char *, ANALYSISTYPE);
}
#endif /* macrolib_ibis_input_INCLUDED */
