/***************
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 MIFDEFS
#define MIFDEFS


#include  "MIFcmdat.h"
#include "IFsim.h"

typedef struct sMIFinstance {

    struct sMIFmodel    *MIFmodPtr;      
    struct sMIFinstance *MIFnextInstance; 
    IFuid               MIFname;          

    Mif_Conn_Data_t     **conn;          

    Mif_Inst_Var_Data_t **inst_var;     

    Mif_Param_Data_t    **param;         

    Mif_State_t         *state;         

    Mif_Intgr_t         *intgr;           

    Mif_Conv_t          *conv;            


    int                 num_conn;         
    int                 num_inst_var;    
    int                 num_param;       
    int                 num_state;       
    int                 num_intgr;        
    int                 num_conv;      

    Mif_Boolean_t       initialized;    

    Mif_Boolean_t       analog;          
    Mif_Boolean_t       event_driven;     

    int                 inst_index;       

	StateData *StateList;
	StateData *StateHead;
	StateData *StateCurrent;

} MIFinstance ;

typedef struct sMIFmodel {

    int              MIFmodType;   
    struct sMIFmodel *MIFnextModel;
    MIFinstance      *MIFinstances;   
    IFuid            MIFmodName; 

    int              num_param; 
    Mif_Param_Data_t **param; 

    Mif_Boolean_t    analog;  
    Mif_Boolean_t    event_driven; 

} MIFmodel;


#endif /* MIFDEFS */
