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

typedef int Mif_Boolean_t;

#define  MIF_FALSE  0
#define  MIF_TRUE   1


typedef int Mif_Status_t;

#define  MIF_OK     0
#define  MIF_ERROR  1

typedef enum {
    MIF_ANALOG,         
    MIF_EVENT_DRIVEN, 
} Mif_Call_Type_t;


typedef enum {
    MIF_DC,     
    MIF_AC,   
    MIF_TRAN,     
} Mif_Analysis_t;


typedef enum {
    MIF_VOLTAGE,           
    MIF_DIFF_VOLTAGE,     
    MIF_CURRENT,   
    MIF_DIFF_CURRENT,  
    MIF_VSOURCE_CURRENT,  
    MIF_CONDUCTANCE,      
    MIF_DIFF_CONDUCTANCE,   
    MIF_RESISTANCE,    
    MIF_DIFF_RESISTANCE,   
    MIF_DIGITAL,       
    MIF_USER_DEFINED,     
} Mif_Port_Type_t;

typedef enum {
    MIF_IN,      
    MIF_OUT, 
    MIF_INOUT, 
} Mif_Dir_t;


typedef enum {

    MIF_BOOLEAN,
    MIF_INTEGER,
    MIF_REAL,
    MIF_COMPLEX,
    MIF_STRING,

} Mif_Data_Type_t;


typedef enum {

    MIF_LARRAY_TOK,
    MIF_RARRAY_TOK,
    MIF_LCOMPLEX_TOK,
    MIF_RCOMPLEX_TOK,
    MIF_PERCENT_TOK,
    MIF_TILDE_TOK,
    MIF_STRING_TOK,
    MIF_NULL_TOK,
    MIF_NO_TOK,

} Mif_Token_Type_t;


typedef enum {
    MIF_VCVS,
    MIF_VCIS,
    MIF_ICVS,
    MIF_ICIS,
} Mif_Cntl_Src_Type_t;


typedef struct {

    double  real;
    double  imag;

} Mif_Complex_t;


typedef union {

    Mif_Boolean_t  bvalue;      
    int            ivalue; 
    double         rvalue;  
    Mif_Complex_t  cvalue; 
    char           *svalue;  
    void           *pvalue; 

} Mif_Value_t;


typedef struct {

    Mif_Boolean_t     bvalue;  
    int               ivalue; 
    double            rvalue; 
    Mif_Complex_t     cvalue; 
    char              *svalue; 

} Mif_Parse_Value_t;


#endif /* MIFTYPES */
