parent
4cf2b5e5ce
commit
afdd0fe85e
|
|
@ -7,16 +7,15 @@ Modified: 2000 AlansFixes
|
||||||
#ifndef ngspice_INPDEFS_H
|
#ifndef ngspice_INPDEFS_H
|
||||||
#define ngspice_INPDEFS_H
|
#define ngspice_INPDEFS_H
|
||||||
|
|
||||||
/* structure declarations used by either/both input package */
|
/* structure declarations used by either/both input package */
|
||||||
|
|
||||||
#include "ngspice/ifsim.h"
|
|
||||||
#include "ngspice/gendefs.h"
|
#include "ngspice/gendefs.h"
|
||||||
|
#include "ngspice/ifsim.h"
|
||||||
#include "ngspice/inpptree.h"
|
#include "ngspice/inpptree.h"
|
||||||
|
|
||||||
typedef struct INPtables INPtables;
|
typedef struct INPtables INPtables;
|
||||||
typedef struct INPmodel INPmodel;
|
typedef struct INPmodel INPmodel;
|
||||||
|
|
||||||
|
|
||||||
struct INPtab {
|
struct INPtab {
|
||||||
char *t_ent;
|
char *t_ent;
|
||||||
struct INPtab *t_next;
|
struct INPtab *t_next;
|
||||||
|
|
@ -28,7 +27,7 @@ struct INPnTab {
|
||||||
struct INPnTab *t_next;
|
struct INPnTab *t_next;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct INPtables{
|
struct INPtables {
|
||||||
struct INPtab **INPsymtab;
|
struct INPtab **INPsymtab;
|
||||||
struct INPnTab **INPtermsymtab;
|
struct INPnTab **INPtermsymtab;
|
||||||
int INPsize;
|
int INPsize;
|
||||||
|
|
@ -60,18 +59,21 @@ struct INPtables{
|
||||||
GENmodel *defZmod;
|
GENmodel *defZmod;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Linked list of scoping information for each netlist line entry */
|
||||||
struct nscope {
|
struct nscope {
|
||||||
struct nscope *next;
|
struct nscope *next;
|
||||||
struct card_assoc *subckts;
|
struct card_assoc *subckts;
|
||||||
struct modellist *models;
|
struct modellist *models;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* A linked list of netlist line entries, associated for a specific reason */
|
||||||
struct card_assoc {
|
struct card_assoc {
|
||||||
const char *name;
|
const char *name;
|
||||||
struct card *line;
|
struct card *line;
|
||||||
struct card_assoc *next;
|
struct card_assoc *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* The linked list of netlist line entries */
|
||||||
struct card {
|
struct card {
|
||||||
int linenum;
|
int linenum;
|
||||||
int linenum_orig;
|
int linenum_orig;
|
||||||
|
|
@ -83,12 +85,12 @@ struct card {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* structure used to save models in after they are read during pass 1 */
|
/* structure used to save models in after they are read during pass 1 */
|
||||||
struct INPmodel{
|
struct INPmodel {
|
||||||
IFuid INPmodName; /* uid of model */
|
IFuid INPmodName; /* uid of model */
|
||||||
int INPmodType; /* type index of device type */
|
int INPmodType; /* type index of device type */
|
||||||
INPmodel *INPnextModel; /* link to next model */
|
INPmodel *INPnextModel; /* link to next model */
|
||||||
struct card *INPmodLine; /* pointer to line describing model */
|
struct card *INPmodLine; /* pointer to line describing model */
|
||||||
GENmodel *INPmodfast; /* high speed pointer to model for access */
|
GENmodel *INPmodfast; /* high speed pointer to model for access */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -99,11 +101,12 @@ struct INPmodel{
|
||||||
|
|
||||||
int IFnewUid(CKTcircuit *, IFuid *, IFuid, char *, int, CKTnode **);
|
int IFnewUid(CKTcircuit *, IFuid *, IFuid, char *, int, CKTnode **);
|
||||||
int IFdelUid(CKTcircuit *, IFuid, int);
|
int IFdelUid(CKTcircuit *, IFuid, int);
|
||||||
int INPaName(char *, IFvalue *, CKTcircuit *, int *, char *, GENinstance **, IFsimulator *, int *,
|
int INPaName(char *, IFvalue *, CKTcircuit *, int *, char *, GENinstance **,
|
||||||
IFvalue *);
|
IFsimulator *, int *, IFvalue *);
|
||||||
int INPapName(CKTcircuit *, int, JOB *, char *, IFvalue *);
|
int INPapName(CKTcircuit *, int, JOB *, char *, IFvalue *);
|
||||||
void INPcaseFix(char *);
|
void INPcaseFix(char *);
|
||||||
char *INPdevParse(char **, CKTcircuit *, int, GENinstance *, double *, int *, INPtables *);
|
char *INPdevParse(char **, CKTcircuit *, int, GENinstance *, double *, int *,
|
||||||
|
INPtables *);
|
||||||
char *INPdomodel(CKTcircuit *, struct card *, INPtables *);
|
char *INPdomodel(CKTcircuit *, struct card *, INPtables *);
|
||||||
void INPdoOpts(CKTcircuit *, JOB *, struct card *, INPtables *);
|
void INPdoOpts(CKTcircuit *, JOB *, struct card *, INPtables *);
|
||||||
char *INPerrCat(char *, char *);
|
char *INPerrCat(char *, char *);
|
||||||
|
|
@ -128,7 +131,8 @@ int INPmakeMod(char *, int, struct card *);
|
||||||
char *INPmkTemp(char *);
|
char *INPmkTemp(char *);
|
||||||
void INPpas1(CKTcircuit *, struct card *, INPtables *);
|
void INPpas1(CKTcircuit *, struct card *, INPtables *);
|
||||||
void INPpas2(CKTcircuit *, struct card *, INPtables *, TSKtask *);
|
void INPpas2(CKTcircuit *, struct card *, INPtables *, TSKtask *);
|
||||||
void INPpas3(CKTcircuit *, struct card *, INPtables *, TSKtask *, IFparm *, int);
|
void INPpas3(
|
||||||
|
CKTcircuit *, struct card *, INPtables *, TSKtask *, IFparm *, int);
|
||||||
int INPpName(char *, IFvalue *, CKTcircuit *, int, GENinstance *);
|
int INPpName(char *, IFvalue *, CKTcircuit *, int, GENinstance *);
|
||||||
int INPtermInsert(CKTcircuit *, char **, INPtables *, CKTnode **);
|
int INPtermInsert(CKTcircuit *, char **, INPtables *, CKTnode **);
|
||||||
int INPmkTerm(CKTcircuit *, char **, INPtables *, CKTnode **);
|
int INPmkTerm(CKTcircuit *, char **, INPtables *, CKTnode **);
|
||||||
|
|
@ -137,7 +141,7 @@ int INP2dot(CKTcircuit *, INPtables *, struct card *, TSKtask *, CKTnode *);
|
||||||
INPtables *INPtabInit(int);
|
INPtables *INPtabInit(int);
|
||||||
void INPkillMods(void);
|
void INPkillMods(void);
|
||||||
void INPtabEnd(INPtables *);
|
void INPtabEnd(INPtables *);
|
||||||
char * INPfindVer(char *line, char *version);
|
char *INPfindVer(char *line, char *version);
|
||||||
int INPgetStr(char **line, char **token, int gobble);
|
int INPgetStr(char **line, char **token, int gobble);
|
||||||
int INPgetTitle(CKTcircuit **ckt, struct card **data);
|
int INPgetTitle(CKTcircuit **ckt, struct card **data);
|
||||||
int INPgetUTok(char **line, char **token, int gobble);
|
int INPgetUTok(char **line, char **token, int gobble);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue