/***************
Copyright © 1996 Norlinvest Ltd. All rights reserved.
Visual Code Model Generator, EDSpice, EDWin, EE Designer, CompCAD,
CAD 1000, CAD ABC and Visionics are trade marks of Norlinvest Ltd.
Copyright © 1983 - 1996.
*
*
Copyright 1991
Georgia Tech Research Corporation
Atlanta, Georgia 30332
All Rights Reserved
****************/

#ifndef MIFPROTO
#define MIFPROTO

#include "IFsim.h"
#include "INPdefs.h"
#include "SMPdefs.h"
#include "CKTdefs.h"
#include "MIFtypes.h"



extern void MIF_INP2A(
    GENERIC      *ckt,     
    INPtables    *tab,  
    card         *current  
);


extern char * MIFgetMod(
    GENERIC   *ckt,
    char      *name,
    INPmodel  **model,
    INPtables *tab 
);


extern IFvalue * MIFgetValue(
    GENERIC   *ckt,
    char      **line,
    int       type,
    INPtables *tab,
    char      **err 
);


extern int MIFsetup(
    SMPmatrix     *matrix,
    GENmodel      *inModel,
    CKTcircuit    *ckt,
    int           *state 
);

extern int MIFload(
    GENmodel      *inModel,
    CKTcircuit    *ckt 
);


extern int MIFmParam(
    int param_index,
    IFvalue *value,
    GENmodel *inModel 
);

extern int MIFask(
    CKTcircuit *ckt,
    GENinstance *inst,
    int param_index,
    IFvalue *value,
    IFvalue *select
);

extern int MIFmAsk(
    CKTcircuit *ckt,
    GENmodel *inModel,
    int param_index,
    IFvalue *value
);

extern int MIFtrunc(
    GENmodel   *inModel,
    CKTcircuit *ckt,
    double     *timeStep
);

extern int MIFconvTest(
    GENmodel   *inModel,
    CKTcircuit *ckt
);

extern int MIFdelete(
    GENmodel *inModel,
    IFuid    name,
    GENinstance  **inst
);

extern int MIFmDelete(
    GENmodel **inModel,
    IFuid    modname,
    GENmodel *model
);

extern void MIFdestroy(
    GENmodel **inModel
);

extern char  *MIFgettok(
    char **s
);


extern char  *MIFget_token(
    char **s,
    Mif_Token_Type_t *type
);


extern Mif_Cntl_Src_Type_t MIFget_cntl_src_type(
    Mif_Port_Type_t in_port_type,
    Mif_Port_Type_t out_port_type
);

extern char *MIFcopy(char *);

#endif  /* MIFPROTO */
