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

Go to the source code of this file.

Functions

int CKTground (GENERIC *inCkt, GENERIC **node, IFuid name)
 

Function Documentation

int CKTground ( GENERIC inCkt,
GENERIC **  node,
IFuid  name 
)

Definition at line 21 of file cktgrnd.c.

26 {
27  CKTcircuit *ckt = (CKTcircuit *)inCkt;
28 
29  if (ckt->CKTnodes) {
30  if (ckt->CKTnodes->name) {
31  /*already exists - keep old name, but return it */
32  if (node) *node = (char *)ckt->CKTnodes;
33  return (E_EXISTS);
34  }
35  ckt->CKTnodes->name = name;
36  ckt->CKTnodes->type = SP_VOLTAGE;
37  ckt->CKTnodes->number = 0;
38  }
39  else {
40  ckt->CKTnodes = (CKTnode *)MALLOC(sizeof(CKTnode));
41  if (ckt->CKTnodes == NULL) return (E_NOMEM);
42  ckt->CKTnodes->name = name;
43  ckt->CKTnodes->type = SP_VOLTAGE;
44  ckt->CKTnodes->number = 0;
45  ckt->CKTnodes->next = (CKTnode *)NULL;
46  ckt->CKTlastNode = ckt->CKTnodes;
47  }
48  if (node) *node = (char *)ckt->CKTnodes;
49  return (OK);
50 }
IFuid name
Definition: cktdefs.h:31
#define E_EXISTS
Definition: iferrmsg.h:20
#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
return(True)