Jspice3
cktlnkeq.c
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1985 Thomas L. Quarles
5  1993 Stephen R. Whiteley
6 ****************************************************************************/
7 
8  /*
9  *CKTlinkEq
10  * Link an already allocated node into the necessary structure
11  */
12 
13 #include "spice.h"
14 #include <stdio.h>
15 #include "cktdefs.h"
16 #include "iferrmsg.h"
17 #include "util.h"
18 #include "cktext.h"
19 
20 int
21 CKTlinkEq(ckt,node)
22 
23 CKTcircuit *ckt;
24 CKTnode *node;
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 }
int CKTlinkEq(CKTcircuit *ckt, CKTnode *node)
Definition: cktlnkeq.c:21
#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
#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