Jspice3
cktlnkeq.c File Reference
#include "spice.h"
#include <stdio.h>
#include "cktdefs.h"
#include "iferrmsg.h"
#include "util.h"
#include "cktext.h"
Include dependency graph for cktlnkeq.c:

Go to the source code of this file.

Functions

int CKTlinkEq (CKTcircuit *ckt, CKTnode *node)
 

Function Documentation

int CKTlinkEq ( CKTcircuit ckt,
CKTnode node 
)

Definition at line 21 of file cktlnkeq.c.

25 {
26  if (!(ckt->CKTnodes)) {
27  /* starting the list - allocate both ground and 1 */
28  ckt->CKTnodes = (CKTnode *) MALLOC(sizeof(CKTnode));
29  if(ckt->CKTnodes == (CKTnode *)NULL) return (E_NOMEM);
30  ckt->CKTnodes->name = (char *)NULL;
31  ckt->CKTnodes->type = SP_VOLTAGE;
32  ckt->CKTnodes->number = 0;
33  ckt->CKTlastNode = ckt->CKTnodes;
34  }
35  if (node == (CKTnode *)NULL) return (E_BADPARM);
36  ckt->CKTlastNode->next = node;
37  ckt->CKTlastNode = ckt->CKTlastNode->next;
38  ckt->CKTlastNode->number = ckt->CKTmaxEqNum++;
39  ckt->CKTlastNode->next = (CKTnode *)NULL;
40  return (OK);
41 }
IFuid name
Definition: cktdefs.h:31
#define E_BADPARM
Definition: iferrmsg.h:26
#define SP_VOLTAGE
Definition: cktdefs.h:34
#define OK
Definition: iferrmsg.h:17
#define MALLOC(x)
Definition: util.h:9
int type
Definition: cktdefs.h:32
#define NULL
Definition: spdefs.h:121
#define E_NOMEM
Definition: iferrmsg.h:27
struct sCKTnode * next
Definition: cktdefs.h:43
int number
Definition: cktdefs.h:39
CKTnode * CKTnodes
Definition: cktdefs.h:135
CKTnode * CKTlastNode
Definition: cktdefs.h:136
int CKTmaxEqNum
Definition: cktdefs.h:129