1 /* Configuration file for ngspice */
2 
3 /**********
4 Copyright 1990 Regents of the University of California.  All rights reserved.
5 **********/
6 
7 #include "ngspice/ngspice.h"
8 
9 #define CONFIG
10 
11 #include "ngspice/devdefs.h"
12 #include "ngspice/noisedef.h"
13 #include "ngspice/suffix.h"
14 
15 
16 /* XXX Should be -1 ? There is always an extra null element at the end ? */
17 static char *specSigList[] = {
18     "time"
19 };
20 
21 
22 static IFparm nodeParms[] = {
23     IP("nodeset", PARM_NS ,       IF_REAL,    "suggested initial voltage"),
24     IP("ic",      PARM_IC ,       IF_REAL,    "initial voltage"),
25     IP("type",    PARM_NODETYPE , IF_INTEGER, "output type of equation")
26 };
27 
28 
29 IFsimulator SIMinfo = {
30     "ngspice",                           /* my name */
31     "Circuit level simulation program",  /* more about me */
32     Spice_Version,                       /* my version */
33 
34     CKTinit,                    /* newCircuit function */
35     CKTdestroy,                 /* deleteCircuit function */
36 
37     CKTnewNode,                 /* newNode function */
38     CKTground,                  /* groundNode function */
39     CKTbindNode,                /* bindNode function */
40     CKTfndNode,                 /* findNode function */
41     (int(*)(CKTcircuit *,void *,int,void **,IFuid *)) /* va, type cast for CKTinst2Node */
42     CKTinst2Node,               /* instToNode function */
43     CKTsetNodPm,                /* setNodeParm function */
44     CKTaskNodQst,               /* askNodeQuest function */
45     CKTdltNod,                  /* deleteNode function */
46 
47     CKTcrtElt,                  /* newInstance function */
48     CKTparam,                   /* setInstanceParm function */
49     CKTask,                     /* askInstanceQuest function */
50     CKTfndDev,                  /* findInstance funciton */
51     CKTdltInst,                 /* deleteInstance function */
52 
53     CKTmodCrt,                  /* newModel function */
54     CKTmodParam,                /* setModelParm function */
55     CKTmodAsk,                  /* askModelQuest function */
56     CKTfndMod,                  /* findModel function */
57     CKTdltMod,                  /* deleteModel function */
58 
59     CKTnewTask,                 /* newTask function */
60     CKTnewAnal,                 /* newAnalysis function */
61     CKTsetAnalPm,               /* setAnalysisParm function */
62     CKTaskAnalQ,                /* askAnalysisQuest function */
63     CKTfndAnal,                 /* findAnalysis function */
64     CKTfndTask,                 /* findTask function */
65     CKTdelTask,                 /* deleteTask function */
66 
67     CKTdoJob,                   /* doAnalyses function */
68     CKTtrouble,                 /* non-convergence message function */
69 
70     0,                          /* Initialized in SIMinit() */
71     NULL,                       /* Initialized in SIMinit() */
72     0,                          /* Initialized in SIMinit() */
73     NULL,                       /* Initialized in SIMinit() */
74 
75     NUMELEMS(nodeParms),
76     nodeParms,
77 
78     NUMELEMS(specSigList),
79     specSigList,
80 };
81