ext2spice: use strict callback prototypes

This commit is contained in:
Darryl L. Miles 2025-07-18 22:02:48 +01:00
parent ddc0adcb41
commit a31018f721
2 changed files with 41 additions and 19 deletions

View File

@ -1531,6 +1531,8 @@ extHierSDAttr(
* *
* ---------------------------------------------------------------------------- * ----------------------------------------------------------------------------
*/ */
/* @typedef cb_extflat_visitsubcircuits_t (UNUSED) */
int int
subcktVisit( subcktVisit(
Use *use, Use *use,
@ -1718,6 +1720,8 @@ subcktVisit(
* *
* ---------------------------------------------------------------------------- * ----------------------------------------------------------------------------
*/ */
/* @typedef cb_extflat_visitsubcircuits_t (UNUSED) */
int int
subcktUndef( subcktUndef(
Use *use, Use *use,
@ -2471,12 +2475,14 @@ swapDrainSource(
* ---------------------------------------------------------------------------- * ----------------------------------------------------------------------------
*/ */
/* @typedef cb_extflat_visitdevs_t (UNUSED) */
int int
spcdevVisit( spcdevVisit(
Dev *dev, /* Dev being output */ Dev *dev, /* Dev being output */
HierContext *hc, /* Hierarchical context down to this dev */ HierContext *hc, /* Hierarchical context down to this dev */
float scale, /* Scale transform for output */ float scale, /* Scale transform for output */
Transform *trans) /* (unused) */ Transform *trans, /* (unused) */
ClientData cdata) /* (unused) */
{ {
DevParam *plist, *pptr; DevParam *plist, *pptr;
DevTerm *gate, *source, *drain; DevTerm *gate, *source, *drain;
@ -3601,11 +3607,13 @@ spcdevOutNode(
* ---------------------------------------------------------------------------- * ----------------------------------------------------------------------------
*/ */
/* @typedef cb_extflat_visitcaps_t (UNUSED) */
int int
spccapVisit( spccapVisit(
HierName *hierName1, HierName *hierName1,
HierName *hierName2, HierName *hierName2,
double cap) double cap,
ClientData cdata) /* unused */
{ {
cap = cap / 1000; cap = cap / 1000;
if (cap <= EFCapThreshold) if (cap <= EFCapThreshold)
@ -3643,11 +3651,14 @@ spccapVisit(
* *
* ---------------------------------------------------------------------------- * ----------------------------------------------------------------------------
*/ */
/* @typedef cb_extflat_visitresists_t (UNUSED) */
int int
spcresistVisit( spcresistVisit(
HierName *hierName1, HierName *hierName1,
HierName *hierName2, HierName *hierName2,
float res) float res,
ClientData cdata) /* unused */
{ {
HashEntry *he; HashEntry *he;
EFNodeName *nn; EFNodeName *nn;
@ -3711,8 +3722,9 @@ spcsubVisit(
EFNode *node, EFNode *node,
int res, // Unused int res, // Unused
double cap, // Unused double cap, // Unused
char **resstr) ClientData cdata)
{ {
char **resstr = (char **)CD2PTR(cdata);
HierName *hierName; HierName *hierName;
char *nsn; char *nsn;
@ -3743,11 +3755,13 @@ spcsubVisit(
* ---------------------------------------------------------------------------- * ----------------------------------------------------------------------------
*/ */
/* @typedef cb_extflat_visitnodes_t (UNUSED) */
int int
spcnodeVisit( spcnodeVisit(
EFNode *node, EFNode *node,
int res, int res,
double cap) double cap,
ClientData cdata) /* unused */
{ {
EFNodeName *nn; EFNodeName *nn;
HierName *hierName; HierName *hierName;
@ -3807,11 +3821,13 @@ spcnodeVisit(
} }
/* a debugging procedure */ /* a debugging procedure */
/* @typedef cb_extflat_visitnodes_t (UNUSED) */
int int
nodeVisitDebug( nodeVisitDebug(
EFNode *node, EFNode *node,
int res, int res,
double cap) double cap,
ClientData cdata) /* unused */
{ {
EFNodeName *nn; EFNodeName *nn;
HierName *hierName; HierName *hierName;
@ -4303,12 +4319,14 @@ mergeAttr(
* ---------------------------------------------------------------------------- * ----------------------------------------------------------------------------
*/ */
/* @typedef cb_extflat_visitdevs_t (UNUSED) */
int int
devMergeVisit( devMergeVisit(
Dev *dev, /* Dev to examine */ Dev *dev, /* Dev to examine */
HierContext *hc, /* Hierarchical context down to this dev */ HierContext *hc, /* Hierarchical context down to this dev */
float scale, /* Scale transform */ float scale, /* Scale transform */
Transform *trans) /* (unused) */ Transform *trans, /* (unused) */
ClientData cdata) /* (unused) */
{ {
DevTerm *gate, *source, *drain; DevTerm *gate, *source, *drain;
Dev *cf; Dev *cf;
@ -4322,7 +4340,7 @@ devMergeVisit(
HierName *hierName = hc->hc_hierName; HierName *hierName = hc->hc_hierName;
if (esDistrJunct) if (esDistrJunct)
devDistJunctVisit(dev, hc, scale, trans); devDistJunctVisit(dev, hc, scale, trans, cdata);
if (dev->dev_nterm < 2) if (dev->dev_nterm < 2)
{ {
@ -4522,12 +4540,14 @@ update_w(
* ---------------------------------------------------------------------------- * ----------------------------------------------------------------------------
*/ */
/* @typedef cb_extflat_visitdevs_t (UNUSED) */
int int
devDistJunctVisit( devDistJunctVisit(
Dev *dev, /* Dev to examine */ Dev *dev, /* Dev to examine */
HierContext *hc, /* Hierarchical path down to this dev */ HierContext *hc, /* Hierarchical path down to this dev */
float scale, /* Scale transform */ float scale, /* Scale transform */
Transform *trans) /* (unused) */ Transform *trans, /* (unused) */
ClientData cdata) /* (unused) */
{ {
EFNode *n; EFNode *n;
int i; int i;

View File

@ -16,21 +16,23 @@ typedef struct _devMerge {
const struct _devMerge *next; const struct _devMerge *next;
} devMerge; } devMerge;
#include "extflat/EFint.h" /* HierContext */
/* Forward declarations */ /* Forward declarations */
extern void CmdExtToSpice(MagWindow *w, TxCommand *cmd); extern void CmdExtToSpice(MagWindow *w, TxCommand *cmd);
extern int spcParseArgs(int *pargc, char ***pargv); extern int spcParseArgs(int *pargc, char ***pargv);
extern int spccapVisit(HierName *hierName1, HierName *hierName2, double cap); extern int spccapVisit(HierName *hierName1, HierName *hierName2, double cap, ClientData cdata); /* @typedef cb_extflat_visitcaps_t (UNUSED) */
extern int spcdevVisit(Dev *dev, HierContext *hc, float scale, Transform *trans); extern int spcdevVisit(Dev *dev, HierContext *hc, float scale, Transform *trans, ClientData cdata); /* @typedef cb_extflat_visitdevs_t (UNUSED) */
extern int spcnodeVisit(EFNode *node, int res, double cap); extern int spcnodeVisit(EFNode *node, int res, double cap, ClientData cdata); /* @typedef cb_extflat_visitnodes_t (UNUSED) */
extern int subcktVisit(Use *use, HierName *hierName, bool is_top); extern int subcktVisit(Use *use, HierName *hierName, bool is_top); /* @typedef cb_extflat_visitsubcircuits_t */
extern int spcresistVisit(HierName *hierName1, HierName *hierName2, float res); extern int spcresistVisit(HierName *hierName1, HierName *hierName2, float res, ClientData cdata); /* @typedef cb_extflat_visitresists_t (UNUSED) */
extern int devMergeVisit(Dev *dev, HierContext *hc, float scale, Transform *trans); extern int devMergeVisit(Dev *dev, HierContext *hc, float scale, Transform *trans, ClientData cdata); /* @typedef cb_extflat_visitdevs_t (UNUSED) */
extern int devDistJunctVisit(Dev *dev, HierContext *hc, float scale, Transform *trans); extern int devDistJunctVisit(Dev *dev, HierContext *hc, float scale, Transform *trans, ClientData cdata); /* @typedef cb_extflat_visitdevs_t (UNUSED) */
extern int spcsubVisit(EFNode *node, int res, double cap, char **resstr); extern int spcsubVisit(EFNode *node, int res, double cap, ClientData cdata); /* @typedef cb_extflat_visitnodes_t (char** resstr) */
extern int subcktUndef(Use *use, HierName *hierName, bool is_top); extern int subcktUndef(Use *use, HierName *hierName, bool is_top); /* @typedef cb_extflat_visitsubcircuits_t */
extern EFNode *spcdevSubstrate(HierName *prefix, HierName *suffix, int type, FILE *outf); extern EFNode *spcdevSubstrate(HierName *prefix, HierName *suffix, int type, FILE *outf);
extern char *nodeSpiceName(HierName *hname, EFNode **rnode); extern char *nodeSpiceName(HierName *hname, EFNode **rnode);
extern int nodeVisitDebug(EFNode *node, int res, double cap); extern int nodeVisitDebug(EFNode *node, int res, double cap, ClientData cdata); /* @typedef cb_extflat_visitnodes_t (UNUSED) */
extern void topVisit(Def *def, bool doStub); extern void topVisit(Def *def, bool doStub);
extern void swapDrainSource(Dev *dev); extern void swapDrainSource(Dev *dev);