extract: convert K&R function definitions to ANSI C

Convert the old-style (K&R) function definitions in extract/ to ANSI C
prototypes, formatted in the project's convention: the return type on its
own line and each parameter on its own line, indented four spaces, with
the original parameter comments retained.

Updates the extract headers (extract.h, extractInt.h).  Where the
generically-typed node-name callback field is assigned the now-prototyped
extArrayTileToNode / extSubtreeTileToNode, the assignment is cast to the
field's function-pointer type.

Builds cleanly under GCC 16 / C23 (with the -std=gnu17 build change).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Andreas Wendleder 2026-06-10 03:49:03 +02:00
parent 97be8b72f0
commit 61a0a0541c
No known key found for this signature in database
GPG Key ID: 588785BFDFB01ABD
19 changed files with 895 additions and 873 deletions

View File

@ -60,8 +60,8 @@ ExtTree *extArrayPrimary; /* Primary array element */
/* Forward declarations */
int extArrayFunc();
int extArrayPrimaryFunc(), extArrayInterFunc();
char *extArrayRange();
char *extArrayTileToNode();
char *extArrayRange(char *dstp, int lo, int hi, bool prevRange, bool followRange);
char *extArrayTileToNode(Tile *tp, TileType dinfo, int pNum, ExtTree *et, HierExtractArg *ha, bool doHard);
LabRegion *extArrayHardNode();
char *extArrayNodeName();
@ -85,9 +85,9 @@ void extArrayHardSearch();
*/
void
extOutputGeneratedLabels(parentUse, f)
CellUse *parentUse;
FILE *f;
extOutputGeneratedLabels(
CellUse *parentUse,
FILE *f)
{
CellDef *parentDef;
Label *lab;
@ -147,9 +147,9 @@ extOutputGeneratedLabels(parentUse, f)
*/
void
extArray(parentUse, f)
CellUse *parentUse;
FILE *f;
extArray(
CellUse *parentUse,
FILE *f)
{
SearchContext scx;
HierExtractArg ha;
@ -161,7 +161,7 @@ extArray(parentUse, f)
*/
ha.ha_outf = f;
ha.ha_parentUse = parentUse;
ha.ha_nodename = extArrayTileToNode;
ha.ha_nodename = (char *(*)()) extArrayTileToNode;
ha.ha_cumFlat.et_use = extYuseCum;
HashInit(&ha.ha_connHash, 32, 0);
@ -232,9 +232,9 @@ extArray(parentUse, f)
*/
int
extArrayFunc(scx, ha)
SearchContext *scx; /* Describes first element of array */
HierExtractArg *ha; /* Extraction context */
extArrayFunc(
SearchContext *scx, /* Describes first element of array */
HierExtractArg *ha) /* Extraction context */
{
int xsep, ysep; /* X, Y separation in parent coordinates */
int xsize, ysize; /* X, Y sizes in parent coordinates */
@ -358,9 +358,9 @@ extArrayFunc(scx, ha)
*/
void
extArrayProcess(ha, primary)
HierExtractArg *ha;
Rect *primary; /* Area guaranteed to contain only the primary
extArrayProcess(
HierExtractArg *ha,
Rect *primary) /* Area guaranteed to contain only the primary
* element of the array, against which we will
* extract all other elements that overlap the
* area 'ha->ha_interArea'.
@ -421,13 +421,14 @@ done:
*/
int
extArrayPrimaryFunc(use, trans, x, y, ha)
CellUse *use; /* Use of which this is an array element */
Transform *trans; /* Transform from coordinates of use->cu_def to those
extArrayPrimaryFunc(
CellUse *use, /* Use of which this is an array element */
Transform *trans, /* Transform from coordinates of use->cu_def to those
* in use->cu_parent, for the array element (x, y).
*/
int x, y; /* X, Y indices of this array element */
HierExtractArg *ha;
int x,
int y,
HierExtractArg *ha)
{
CellDef *primDef;
HierYank hy;
@ -493,13 +494,14 @@ extArrayPrimaryFunc(use, trans, x, y, ha)
*/
int
extArrayInterFunc(use, trans, x, y, ha)
CellUse *use; /* Use of which this is an array element */
Transform *trans; /* Transform from use->cu_def to use->cu_parent
extArrayInterFunc(
CellUse *use, /* Use of which this is an array element */
Transform *trans, /* Transform from use->cu_def to use->cu_parent
* coordinates, for the array element (x, y).
*/
int x, y; /* X, Y of this array element in use->cu_def coords */
HierExtractArg *ha;
int x,
int y,
HierExtractArg *ha)
{
CellUse *cumUse = ha->ha_cumFlat.et_use;
CellDef *cumDef = cumUse->cu_def;
@ -654,9 +656,10 @@ extArrayInterFunc(use, trans, x, y, ha)
}
void
extArrayAdjust(ha, et1, et2)
HierExtractArg *ha;
ExtTree *et1, *et2;
extArrayAdjust(
HierExtractArg *ha,
ExtTree *et1,
ExtTree *et2)
{
CapValue cap; /* value of capacitance WAS: int */
NodeRegion *np;
@ -707,10 +710,11 @@ extArrayAdjust(ha, et1, et2)
}
char *
extArrayNodeName(np, ha, et1, et2)
NodeRegion *np;
HierExtractArg *ha;
ExtTree *et1, *et2;
extArrayNodeName(
NodeRegion *np,
HierExtractArg *ha,
ExtTree *et1,
ExtTree *et2)
{
Tile *tp;
TileType dinfo;
@ -769,13 +773,13 @@ extArrayNodeName(np, ha, et1, et2)
*/
char *
extArrayTileToNode(tp, dinfo, pNum, et, ha, doHard)
Tile *tp;
TileType dinfo;
int pNum;
ExtTree *et;
HierExtractArg *ha;
bool doHard; /* If TRUE, we look up this node's name the hard way
extArrayTileToNode(
Tile *tp,
TileType dinfo,
int pNum,
ExtTree *et,
HierExtractArg *ha,
bool doHard) /* If TRUE, we look up this node's name the hard way
* if we can't find it any other way; otherwise, we
* return NULL if we can't find the node's name.
*/
@ -885,11 +889,12 @@ done:
*/
char *
extArrayRange(dstp, lo, hi, prevRange, followRange)
char *dstp;
int lo, hi;
bool prevRange; /* TRUE if preceded by a range */
bool followRange; /* TRUE if followed by a range */
extArrayRange(
char *dstp,
int lo,
int hi,
bool prevRange, /* TRUE if preceded by a range */
bool followRange) /* TRUE if followed by a range */
{
if (!prevRange) *dstp++ = '[';
if (hi < lo)
@ -936,12 +941,12 @@ extArrayRange(dstp, lo, hi, prevRange, followRange)
*/
LabRegion *
extArrayHardNode(tp, dinfo, pNum, def, ha)
Tile *tp;
TileType dinfo;
int pNum;
CellDef *def;
HierExtractArg *ha;
extArrayHardNode(
Tile *tp,
TileType dinfo,
int pNum,
CellDef *def,
HierExtractArg *ha)
{
TileType type;
char labelBuf[4096];
@ -1010,11 +1015,11 @@ extArrayHardNode(tp, dinfo, pNum, def, ha)
*/
void
extArrayHardSearch(def, arg, scx, proc)
CellDef *def;
HardWay *arg;
SearchContext *scx;
int (*proc)();
extArrayHardSearch(
CellDef *def,
HardWay *arg,
SearchContext *scx,
int (*proc)())
{
Transform tinv;

View File

@ -154,7 +154,7 @@ void extTermAPFunc();
int extAnnularTileFunc(Tile *, TileType, int, FindRegion *); /* UNUSED */
int extResistorTileFunc(Tile *, TileType, int, FindRegion *); /* UNUSED */
int extSpecialPerimFunc();
int extSpecialPerimFunc(Boundary *bp, bool sense);
void extFindDuplicateLabels();
void extOutputDevices();
@ -170,10 +170,10 @@ bool extLabType();
/* that is not in the topmost def of the search. */
int
extFoundFunc(tile, dinfo, cxp)
Tile *tile;
TileType dinfo; // Unused
TreeContext *cxp;
extFoundFunc(
Tile *tile,
TileType dinfo, // Unused
TreeContext *cxp)
{
CellDef *def = (CellDef *)cxp->tc_filter->tf_arg;
return (def == cxp->tc_scx->scx_use->cu_def) ? 0 : 1;
@ -213,11 +213,11 @@ extFoundFunc(tile, dinfo, cxp)
*/
NodeRegion *
extBasic(def, outFile)
CellDef *def; /* Cell being extracted */
FILE *outFile; /* Output file */
extBasic(
CellDef *def, /* Cell being extracted */
FILE *outFile) /* Output file */
{
NodeRegion *nodeList, *extFindNodes();
NodeRegion *nodeList, *extFindNodes(CellDef *def, Rect *clipArea, bool subonly);
bool coupleInitialized = FALSE;
TransRegion *transList, *reg;
HashTable extCoupleHash;
@ -620,8 +620,8 @@ extBasic(def, outFile)
*/
void
extSetResist(reg)
NodeRegion *reg;
extSetResist(
NodeRegion *reg)
{
int n, perim;
dlong area;
@ -678,9 +678,9 @@ extSetResist(reg)
*/
void
extOutputNodes(nodeList, outFile)
NodeRegion *nodeList; /* Nodes */
FILE *outFile; /* Output file */
extOutputNodes(
NodeRegion *nodeList, /* Nodes */
FILE *outFile) /* Output file */
{
ResValue rround = ExtCurStyle->exts_resistScale / 2;
CapValue finC;
@ -883,8 +883,8 @@ extOutputNodes(nodeList, outFile)
*/
char *
extSubsName(node)
LabRegion *node;
extSubsName(
LabRegion *node)
{
char *subsName;
@ -939,9 +939,9 @@ extSubsName(node)
*/
void
extMakeNodeNumPrint(buf, lreg)
char *buf;
LabRegion *lreg;
extMakeNodeNumPrint(
char *buf,
LabRegion *lreg)
{
int plane = lreg->lreg_pnum;
Point *p = &lreg->lreg_ll;
@ -990,8 +990,8 @@ extMakeNodeNumPrint(buf, lreg)
*/
char *
extNodeName(node)
LabRegion *node;
extNodeName(
LabRegion *node)
{
static char namebuf[256]; /* Big enough to hold a generated nodename */
LabelList *ll;
@ -1026,9 +1026,9 @@ extNodeName(node)
*/
void
extFindDuplicateLabels(def, nreg)
CellDef *def;
NodeRegion *nreg;
extFindDuplicateLabels(
CellDef *def,
NodeRegion *nreg)
{
static char *badmesg =
"Label \"%s\" attached to more than one unconnected node: %s";
@ -1112,9 +1112,9 @@ extFindDuplicateLabels(def, nreg)
*/
void
ExtSortTerminals(tran, ll)
struct transRec *tran;
LabelList *ll;
ExtSortTerminals(
struct transRec *tran,
LabelList *ll)
{
int nsd, changed;
TermTilePos *p1, *p2;
@ -1204,8 +1204,9 @@ ExtSortTerminals(tran, ll)
*/
bool
extComputeCapLW(rlengthptr, rwidthptr)
int *rlengthptr, *rwidthptr;
extComputeCapLW(
int *rlengthptr,
int *rwidthptr)
{
LinkedBoundary *lb;
Rect bbox;
@ -1256,10 +1257,11 @@ extComputeCapLW(rlengthptr, rwidthptr)
*/
void
extComputeEffectiveLW(rlengthptr, rwidthptr, numregions, chop)
int *rlengthptr, *rwidthptr;
int numregions;
float chop;
extComputeEffectiveLW(
int *rlengthptr,
int *rwidthptr,
int numregions,
float chop)
{
int i, j, p, jmax;
LinkedBoundary *lb, *lb2;
@ -1578,8 +1580,8 @@ extComputeEffectiveLW(rlengthptr, rwidthptr, numregions, chop)
*/
void
extSeparateBounds(nterm)
int nterm; /* last terminal (# terminals - 1) */
extSeparateBounds(
int nterm) /* last terminal (# terminals - 1) */
{
Rect lbrect;
LinkedBoundary *lb, *lbstart, *lbend, *lblast, *lbnext;
@ -1694,10 +1696,10 @@ extSeparateBounds(nterm)
*/
void
extOutputParameters(def, transList, outFile)
CellDef *def; /* Cell being extracted */
TransRegion *transList; /* Transistor regions built up in first pass */
FILE *outFile; /* Output file */
extOutputParameters(
CellDef *def, /* Cell being extracted */
TransRegion *transList, /* Transistor regions built up in first pass */
FILE *outFile) /* Output file */
{
ParamList *plist;
TransRegion *reg;
@ -1842,14 +1844,14 @@ extOutputParameters(def, transList, outFile)
*/
void
extOutputDevParams(reg, devptr, outFile, length, width, areavec, perimvec)
TransRegion *reg;
ExtDevice *devptr;
FILE *outFile;
int length;
int width;
int *areavec;
int *perimvec;
extOutputDevParams(
TransRegion *reg,
ExtDevice *devptr,
FILE *outFile,
int length,
int width,
int *areavec,
int *perimvec)
{
ParamList *chkParam;
HashEntry *he;
@ -2057,10 +2059,10 @@ typedef struct _extareaperimdata {
*/
ExtDevice *
extDevFindParamMatch(devptr, length, width)
ExtDevice *devptr;
int length; /* Computed effective length of device */
int width; /* Computed effective width of device */
extDevFindParamMatch(
ExtDevice *devptr,
int length, /* Computed effective length of device */
int width) /* Computed effective width of device */
{
ExtDevice *newdevptr, *nextdev;
int i;
@ -2206,11 +2208,11 @@ extDevFindParamMatch(devptr, length, width)
*/
/*ARGSUSED*/
int
extSDTileFunc(tile, dinfo, pNum, arg)
Tile *tile;
TileType dinfo; /* UNUSED */
int pNum;
FindRegion *arg; /* UNUSED */
extSDTileFunc(
Tile *tile,
TileType dinfo, /* UNUSED */
int pNum,
FindRegion *arg) /* UNUSED */
{
LinkedTile *newdevtile;
@ -2238,10 +2240,10 @@ extSDTileFunc(tile, dinfo, pNum, arg)
* ----------------------------------------------------------------------------
*/
int
extTransFindTermArea(tile, dinfo, eapd)
Tile *tile;
TileType dinfo;
ExtAreaPerimData *eapd;
extTransFindTermArea(
Tile *tile,
TileType dinfo,
ExtAreaPerimData *eapd)
{
extEnumTerminal(tile, dinfo, DBConnectTbl, extTermAPFunc, (ClientData)eapd);
return 1;
@ -2279,10 +2281,10 @@ extTransFindTermArea(tile, dinfo, eapd)
*/
void
extOutputDevices(def, transList, outFile)
CellDef *def; /* Cell being extracted */
TransRegion *transList; /* Transistor regions built up in first pass */
FILE *outFile; /* Output file */
extOutputDevices(
CellDef *def, /* Cell being extracted */
TransRegion *transList, /* Transistor regions built up in first pass */
FILE *outFile) /* Output file */
{
NodeRegion *node, *subsNode;
TransRegion *reg;
@ -3308,13 +3310,13 @@ typedef struct _node_type {
} NodeAndType;
int
extTransFindSubs(tile, dinfo, mask, def, sn, layerptr)
Tile *tile;
TileType dinfo;
TileTypeBitMask *mask;
CellDef *def;
NodeRegion **sn;
TileType *layerptr;
extTransFindSubs(
Tile *tile,
TileType dinfo,
TileTypeBitMask *mask,
CellDef *def,
NodeRegion **sn,
TileType *layerptr)
{
Rect tileArea, tileAreaPlus;
int pNum;
@ -3357,10 +3359,10 @@ extTransFindSubs(tile, dinfo, mask, def, sn, layerptr)
}
int
extTransFindSubsFunc1(tile, dinfo, noderecptr)
Tile *tile;
TileType dinfo;
NodeAndType *noderecptr;
extTransFindSubsFunc1(
Tile *tile,
TileType dinfo,
NodeAndType *noderecptr)
{
TileType type;
@ -3392,12 +3394,12 @@ extTransFindSubsFunc1(tile, dinfo, noderecptr)
}
int
extTransFindId(tile, dinfo, mask, def, idtypeptr)
Tile *tile;
TileType dinfo;
TileTypeBitMask *mask;
CellDef *def;
TileType *idtypeptr;
extTransFindId(
Tile *tile,
TileType dinfo,
TileTypeBitMask *mask,
CellDef *def,
TileType *idtypeptr)
{
TileType type;
Rect tileArea;
@ -3420,10 +3422,10 @@ extTransFindId(tile, dinfo, mask, def, idtypeptr)
}
int
extTransFindIdFunc1(tile, dinfo, idtypeptr)
Tile *tile;
TileType dinfo;
TileType *idtypeptr;
extTransFindIdFunc1(
Tile *tile,
TileType dinfo,
TileType *idtypeptr)
{
/*
* ID Layer found overlapping device area, so return 1 to halt search.
@ -3454,9 +3456,9 @@ extTransFindIdFunc1(tile, dinfo, idtypeptr)
*/
ExtDevice *
extDevFindMatch(deventry, t)
ExtDevice *deventry;
TileType t;
extDevFindMatch(
ExtDevice *deventry,
TileType t)
{
ExtDevice *devptr;
int i, j, k, matchflags;
@ -3539,11 +3541,11 @@ extDevFindMatch(deventry, t)
*/
int
extTransTileFunc(tile, dinfo, pNum, arg)
Tile *tile;
TileType dinfo;
int pNum;
FindRegion *arg;
extTransTileFunc(
Tile *tile,
TileType dinfo,
int pNum,
FindRegion *arg)
{
TileTypeBitMask mask, cmask, *smask;
TileType loctype, idlayer, sublayer;
@ -3755,9 +3757,9 @@ extTransTileFunc(tile, dinfo, pNum, arg)
*/
void
extAddSharedDevice(eapd, node)
ExtAreaPerimData *eapd;
NodeRegion *node;
extAddSharedDevice(
ExtAreaPerimData *eapd,
NodeRegion *node)
{
ExtNodeList *nl, *newnl;
@ -3797,10 +3799,10 @@ extAddSharedDevice(eapd, node)
*/
void
extTermAPFunc(tile, dinfo, eapd)
Tile *tile; /* Tile extending a device terminal */
TileType dinfo; /* Split tile information */
ExtAreaPerimData *eapd; /* Area and perimeter totals for terminal */
extTermAPFunc(
Tile *tile, /* Tile extending a device terminal */
TileType dinfo, /* Split tile information */
ExtAreaPerimData *eapd) /* Area and perimeter totals for terminal */
{
TileType type, tpdi;
Tile *tp;
@ -3946,9 +3948,9 @@ extTermAPFunc(tile, dinfo, eapd)
/*ARGSUSED*/
int
extTransPerimFunc(bp, cdata)
Boundary *bp;
ClientData cdata; /* UNUSED */
extTransPerimFunc(
Boundary *bp,
ClientData cdata) /* UNUSED */
{
TileType tinside, toutside, dinfo;
Tile *tile;
@ -4226,11 +4228,11 @@ extTransPerimFunc(bp, cdata)
/*ARGSUSED*/
int
extAnnularTileFunc(tile, dinfo, pNum, arg)
Tile *tile;
TileType dinfo;
int pNum;
FindRegion *arg; /* UNUSED */
extAnnularTileFunc(
Tile *tile,
TileType dinfo,
int pNum,
FindRegion *arg) /* UNUSED */
{
TileTypeBitMask mask;
TileType loctype;
@ -4248,7 +4250,7 @@ extAnnularTileFunc(tile, dinfo, pNum, arg)
mask = ExtCurStyle->exts_deviceConn[loctype];
TTMaskCom(&mask);
extEnumTilePerim(tile, dinfo, &mask, pNum, extSpecialPerimFunc, (ClientData) TRUE);
extEnumTilePerim(tile, dinfo, &mask, pNum, (int (*)())extSpecialPerimFunc, (ClientData) TRUE);
return (0);
}
@ -4278,11 +4280,11 @@ extAnnularTileFunc(tile, dinfo, pNum, arg)
/*ARGSUSED*/
int
extResistorTileFunc(tile, dinfo, pNum, arg)
Tile *tile;
TileType dinfo;
int pNum;
FindRegion *arg; /* UNUSED */
extResistorTileFunc(
Tile *tile,
TileType dinfo,
int pNum,
FindRegion *arg) /* UNUSED */
{
TileTypeBitMask mask;
TileType loctype;
@ -4309,7 +4311,7 @@ extResistorTileFunc(tile, dinfo, pNum, arg)
TTMaskSetMask(&mask, &devptr->exts_deviceSDTypes[0]);
TTMaskCom(&mask);
extEnumTilePerim(tile, dinfo, &mask, pNum, extSpecialPerimFunc, (ClientData)FALSE);
extEnumTilePerim(tile, dinfo, &mask, pNum, (int (*)())extSpecialPerimFunc, (ClientData)FALSE);
if (extSpecialBounds[0] != NULL) break;
devptr = devptr->exts_next;
@ -4326,9 +4328,9 @@ extResistorTileFunc(tile, dinfo, pNum, arg)
/*----------------------------------------------------------------------*/
int
extSpecialPerimFunc(bp, sense)
Boundary *bp;
bool sense;
extSpecialPerimFunc(
Boundary *bp,
bool sense)
{
TileType tinside, toutside, termdinfo;
NodeRegion *termNode;
@ -4586,17 +4588,17 @@ extSpecialPerimFunc(bp, sense)
*/
void
extTransOutTerminal(lreg, ll, whichTerm, len, area, perim, shared, outFile)
LabRegion *lreg; /* Node connected to terminal */
LabelList *ll; /* Gate's label list */
int whichTerm; /* Which terminal we are processing. The gate
extTransOutTerminal(
LabRegion *lreg, /* Node connected to terminal */
LabelList *ll, /* Gate's label list */
int whichTerm, /* Which terminal we are processing. The gate
* is indicated by LL_GATEATTR.
*/
int len; /* Length of perimeter along terminal */
int area; /* Total area of terminal */
int perim; /* Total perimeter of terminal (includes len) */
int shared; /* Number of devices sharing the terminal */
FILE *outFile; /* Output file */
int len, /* Length of perimeter along terminal */
int area, /* Total area of terminal */
int perim, /* Total perimeter of terminal (includes len) */
int shared, /* Number of devices sharing the terminal */
FILE *outFile) /* Output file */
{
char *cp;
int n;
@ -4652,10 +4654,10 @@ extTransOutTerminal(lreg, ll, whichTerm, len, area, perim, shared, outFile)
*/
void
extTransBad(def, tp, mesg)
CellDef *def;
Tile *tp;
char *mesg;
extTransBad(
CellDef *def,
Tile *tp,
char *mesg)
{
Rect r;
@ -4686,9 +4688,9 @@ extTransBad(def, tp, mesg)
*/
bool
extLabType(text, typeMask)
char *text;
int typeMask;
extLabType(
char *text,
int typeMask)
{
if (*text == '\0')
return (FALSE);
@ -4905,11 +4907,11 @@ Tile *extNodeToTile(np, et, dinfo)
*/
void
extSetNodeNum(reg, plane, tile, dinfo)
LabRegion *reg;
int plane;
Tile *tile;
TileType dinfo;
extSetNodeNum(
LabRegion *reg,
int plane,
Tile *tile,
TileType dinfo)
{
TileType type;
@ -4973,10 +4975,10 @@ extSetNodeNum(reg, plane, tile, dinfo)
*/
ExtRegion *
extTransFirst(tile, dinfo, arg)
Tile *tile;
TileType dinfo;
FindRegion *arg;
extTransFirst(
Tile *tile,
TileType dinfo,
FindRegion *arg)
{
TransRegion *reg;
@ -5006,11 +5008,11 @@ extTransFirst(tile, dinfo, arg)
/*ARGSUSED*/
int
extTransEach(tile, dinfo, pNum, arg)
Tile *tile;
TileType dinfo; /* unused, should be handled */
int pNum;
FindRegion *arg;
extTransEach(
Tile *tile,
TileType dinfo, /* unused, should be handled */
int pNum,
FindRegion *arg)
{
TransRegion *reg = (TransRegion *) arg->fra_region;
int area = TILEAREA(tile);
@ -5054,12 +5056,12 @@ Stack *extNodeStack = NULL;
Rect *extNodeClipArea = NULL;
NodeRegion *
extFindNodes(def, clipArea, subonly)
CellDef *def; /* Def whose nodes are being found */
Rect *clipArea; /* If non-NULL, ignore perimeter and area that extend
extFindNodes(
CellDef *def, /* Def whose nodes are being found */
Rect *clipArea, /* If non-NULL, ignore perimeter and area that extend
* outside this rectangle.
*/
bool subonly; /* If true, only find the substrate node, and return */
bool subonly) /* If true, only find the substrate node, and return */
{
int extNodeAreaFunc();
int extSubsFunc();
@ -5208,10 +5210,10 @@ extFindNodes(def, clipArea, subonly)
}
int
extSubsFunc(tile, dinfo, arg)
Tile *tile;
TileType dinfo;
FindRegion *arg;
extSubsFunc(
Tile *tile,
TileType dinfo,
FindRegion *arg)
{
int pNum;
Rect tileArea;
@ -5245,10 +5247,10 @@ extSubsFunc(tile, dinfo, arg)
}
int
extSubsFunc2(tile, dinfo, arg)
Tile *tile;
TileType dinfo; // Unused
FindRegion *arg;
extSubsFunc2(
Tile *tile,
TileType dinfo, // Unused
FindRegion *arg)
{
int pNum;
Rect tileArea;
@ -5285,20 +5287,20 @@ extSubsFunc2(tile, dinfo, arg)
}
int
extSubsFunc3(tile, dinfo, clientdata)
Tile *tile; /* (unused) */
TileType dinfo; /* (unused) */
ClientData clientdata; /* (unused) */
extSubsFunc3(
Tile *tile, /* (unused) */
TileType dinfo, /* (unused) */
ClientData clientdata) /* (unused) */
{
/* Stops the search because something that was not space was found */
return 1;
}
int
extNodeAreaFunc(tile, dinfo, arg)
Tile *tile;
TileType dinfo;
FindRegion *arg;
extNodeAreaFunc(
Tile *tile,
TileType dinfo,
FindRegion *arg)
{
int tilePlaneNum, pNum, len, resistClass, n, nclasses;
dlong area;
@ -5761,9 +5763,9 @@ donesides:
*/
void
extSetCapValue(he, value)
HashEntry *he;
CapValue value;
extSetCapValue(
HashEntry *he,
CapValue value)
{
if (HashGetValue(he) == NULL)
HashSetValue(he, (CapValue *) mallocMagic(sizeof(CapValue)));
@ -5771,8 +5773,8 @@ extSetCapValue(he, value)
}
CapValue
extGetCapValue(he)
HashEntry *he;
extGetCapValue(
HashEntry *he)
{
if (HashGetValue(he) == NULL)
extSetCapValue(he, (CapValue) 0);
@ -5795,8 +5797,8 @@ extGetCapValue(he)
*/
void
extCapHashKill(ht)
HashTable *ht;
extCapHashKill(
HashTable *ht)
{
HashSearch hs;
HashEntry *he;

View File

@ -51,7 +51,7 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
/* Forward declarations */
int extOutputUsesFunc();
Plane* extCellFile();
Plane* extCellFile(CellDef *def, FILE *f, bool isTop);
void extHeader();
/*
@ -76,10 +76,10 @@ void extHeader();
*/
Plane *
ExtCell(def, outName, isTop)
CellDef *def; /* Cell being extracted */
char *outName; /* Name of output file; if NULL, derive from def name */
bool isTop; /* If TRUE, cell is the top level cell */
ExtCell(
CellDef *def, /* Cell being extracted */
char *outName, /* Name of output file; if NULL, derive from def name */
bool isTop) /* If TRUE, cell is the top level cell */
{
char *filename;
FILE *f = NULL;
@ -150,16 +150,16 @@ ExtCell(def, outName, isTop)
*/
FILE *
ExtFileOpen(def, file, mode, prealfile)
CellDef *def; /* Cell whose .ext file is to be written */
char *file; /* If non-NULL, open 'name'.ext; otherwise,
ExtFileOpen(
CellDef *def, /* Cell whose .ext file is to be written */
char *file, /* If non-NULL, open 'name'.ext; otherwise,
* derive filename from 'def' as described
* above.
*/
char *mode; /* Either "r" or "w", the mode in which the .ext
char *mode, /* Either "r" or "w", the mode in which the .ext
* file is to be opened.
*/
char **prealfile; /* If this is non-NULL, it gets set to point to
char **prealfile) /* If this is non-NULL, it gets set to point to
* a string holding the name of the .ext file.
*/
{
@ -287,8 +287,8 @@ ExtFileOpen(def, file, mode, prealfile)
*/
Plane *
extPrepSubstrate(def)
CellDef *def;
extPrepSubstrate(
CellDef *def)
{
SearchContext scx;
CellUse dummy;
@ -363,8 +363,8 @@ extPrepSubstrate(def)
*/
Plane *
extResPrepSubstrate(def)
CellDef *def;
extResPrepSubstrate(
CellDef *def)
{
SearchContext scx;
CellUse dummy;
@ -436,9 +436,9 @@ extResPrepSubstrate(def)
void
ExtRevertSubstrate(def, savePlane)
CellDef *def;
Plane *savePlane;
ExtRevertSubstrate(
CellDef *def,
Plane *savePlane)
{
int pNum;
Plane *subPlane;
@ -472,10 +472,10 @@ ExtRevertSubstrate(def, savePlane)
*/
Plane *
extCellFile(def, f, isTop)
CellDef *def; /* Def to be extracted */
FILE *f; /* Output to this file */
bool isTop; /* TRUE if the cell is the top level cell */
extCellFile(
CellDef *def, /* Def to be extracted */
FILE *f, /* Output to this file */
bool isTop) /* TRUE if the cell is the top level cell */
{
NodeRegion *reg;
Plane *saveSub;
@ -559,9 +559,9 @@ extCellFile(def, f, isTop)
*/
void
extHeader(def, f)
CellDef *def; /* Cell being extracted */
FILE *f; /* Write to this file */
extHeader(
CellDef *def, /* Cell being extracted */
FILE *f) /* Write to this file */
{
int n;
bool propfound;
@ -650,9 +650,9 @@ extHeader(def, f)
*/
int
extOutputUsesFunc(cu, outf)
CellUse *cu;
FILE *outf;
extOutputUsesFunc(
CellUse *cu,
FILE *outf)
{
Transform *t = &cu->cu_transform;

View File

@ -166,10 +166,10 @@ void extAdjustCouple(he, c, str)
*/
void
extFindCoupling(def, table, clipArea)
CellDef *def;
HashTable *table;
Rect *clipArea;
extFindCoupling(
CellDef *def,
HashTable *table,
Rect *clipArea)
{
const Rect *searchArea;
int pNum;
@ -208,9 +208,9 @@ extFindCoupling(def, table, clipArea)
*/
void
extRelocateSubstrateCoupling(table, subsnode)
HashTable *table; /* Coupling capacitance hash table */
NodeRegion *subsnode; /* Node record for substrate */
extRelocateSubstrateCoupling(
HashTable *table, /* Coupling capacitance hash table */
NodeRegion *subsnode) /* Node record for substrate */
{
HashEntry *he;
CoupleKey *ck;
@ -265,9 +265,9 @@ extRelocateSubstrateCoupling(table, subsnode)
*/
void
extOutputCoupling(table, outFile)
HashTable *table; /* Coupling capacitance hash table */
FILE *outFile; /* Output file */
extOutputCoupling(
HashTable *table, /* Coupling capacitance hash table */
FILE *outFile) /* Output file */
{
HashEntry *he;
CoupleKey *ck;
@ -312,10 +312,10 @@ extOutputCoupling(table, outFile)
*/
int
extBasicOverlap(tile, dinfo, ecs)
Tile *tile;
TileType dinfo;
extCapStruct *ecs;
extBasicOverlap(
Tile *tile,
TileType dinfo,
extCapStruct *ecs)
{
int thisType;
int pNum;
@ -413,10 +413,10 @@ struct sideoverlap
};
int
extAddOverlap(tbelow, dinfo, ecpls)
Tile *tbelow;
TileType dinfo; /* unused, but needs to be handled */
extCoupleStruct *ecpls;
extAddOverlap(
Tile *tbelow,
TileType dinfo, /* unused, but needs to be handled */
extCoupleStruct *ecpls)
{
int extSubtractOverlap(), extSubtractOverlap2();
NodeRegion *rabove, *rbelow;
@ -551,10 +551,10 @@ extAddOverlap(tbelow, dinfo, ecpls)
/* Simple overlap. The area of overlap is subtracted from ov->o_area */
int
extSubtractOverlap(tile, dinfo, ov)
Tile *tile;
TileType dinfo; /* (unused) */
struct overlap *ov;
extSubtractOverlap(
Tile *tile,
TileType dinfo, /* (unused) */
struct overlap *ov)
{
Rect r;
int area;
@ -575,10 +575,10 @@ extSubtractOverlap(tile, dinfo, ov)
/* shielding plane. */
int
extSubtractOverlap2(tile, dinfo, ov)
Tile *tile;
TileType dinfo; /* (unused) */
struct overlap *ov;
extSubtractOverlap2(
Tile *tile,
TileType dinfo, /* (unused) */
struct overlap *ov)
{
TileType ttype;
struct overlap ovnew;
@ -637,10 +637,10 @@ extSubtractOverlap2(tile, dinfo, ov)
*/
int
extSubtractSideOverlap(tile, dinfo, sov)
Tile *tile;
TileType dinfo; /* (unused) */
struct sideoverlap *sov;
extSubtractSideOverlap(
Tile *tile,
TileType dinfo, /* (unused) */
struct sideoverlap *sov)
{
Rect r;
int area, dnear, dfar, length;
@ -715,10 +715,10 @@ extSubtractSideOverlap(tile, dinfo, sov)
/* shielding plane. */
int
extSubtractSideOverlap2(tile, dinfo, sov)
Tile *tile;
TileType dinfo;
struct sideoverlap *sov;
extSubtractSideOverlap2(
Tile *tile,
TileType dinfo,
struct sideoverlap *sov)
{
TileType ttype;
struct sideoverlap sovnew;
@ -795,10 +795,10 @@ extSubtractSideOverlap2(tile, dinfo, sov)
*/
int
extBasicCouple(tile, dinfo, ecs)
Tile *tile;
TileType dinfo;
extCapStruct *ecs;
extBasicCouple(
Tile *tile,
TileType dinfo,
extCapStruct *ecs)
{
TileType ttype;
@ -1070,9 +1070,9 @@ extGetBoundaryRegions(int bdir,
*/
int
extAddCouple(bp, ecs)
Boundary *bp; /* Boundary being considered */
extCapStruct *ecs;
extAddCouple(
Boundary *bp, /* Boundary being considered */
extCapStruct *ecs)
{
TileType tin, tout;
int pNum;
@ -1203,10 +1203,10 @@ extAddCouple(bp, ecs)
*/
void
extRemoveSubcap(bp, clip, esws)
Boundary *bp; /* Boundary with fringe capacitance */
Rect *clip; /* Area not being blocked */
extSidewallStruct *esws; /* Overlapping edge and plane information */
extRemoveSubcap(
Boundary *bp, /* Boundary with fringe capacitance */
Rect *clip, /* Area not being blocked */
extSidewallStruct *esws) /* Overlapping edge and plane information */
{
int dnear, length;
double snear, cfrac;
@ -1277,10 +1277,10 @@ extRemoveSubcap(bp, clip, esws)
int
extFindOverlap(tp, area, esws)
Tile *tp; /* Overlapped tile */
Rect *area; /* Area to check for coupling */
extSidewallStruct *esws; /* Overlapping edge and plane information */
extFindOverlap(
Tile *tp, /* Overlapped tile */
Rect *area, /* Area to check for coupling */
extSidewallStruct *esws) /* Overlapping edge and plane information */
{
PlaneMask pMask;
int pNum;
@ -1345,10 +1345,10 @@ extFindOverlap(tp, area, esws)
*/
int
extSideOverlapHalo(tp, dinfo, esws)
Tile *tp; /* Overlapped tile */
TileType dinfo; /* Split tile information */
extSidewallStruct *esws; /* Overlapping edge and plane information */
extSideOverlapHalo(
Tile *tp, /* Overlapped tile */
TileType dinfo, /* Split tile information */
extSidewallStruct *esws) /* Overlapping edge and plane information */
{
Boundary *bp = esws->bp; /* Overlapping edge */
NodeRegion *rtp = (NodeRegion *) ExtGetRegion(tp, dinfo);
@ -1576,10 +1576,10 @@ extSideOverlapHalo(tp, dinfo, esws)
*/
int
extSideOverlap(tp, dinfo, esws)
Tile *tp; /* Overlapped tile */
TileType dinfo; /* Split tile information */
extSidewallStruct *esws; /* Overlapping edge and plane information */
extSideOverlap(
Tile *tp, /* Overlapped tile */
TileType dinfo, /* Split tile information */
extSidewallStruct *esws) /* Overlapping edge and plane information */
{
Boundary *bp = esws->bp; /* Overlapping edge */
NodeRegion *rtp = (NodeRegion *) ExtGetRegion(tp, dinfo);
@ -1757,12 +1757,12 @@ extSideOverlap(tp, dinfo, esws)
*/
int
extWalkTop(area, mask, func, bp, esws)
Rect *area;
TileTypeBitMask *mask;
int (*func)();
Boundary *bp;
extSidewallStruct *esws;
extWalkTop(
Rect *area,
TileTypeBitMask *mask,
int (*func)(),
Boundary *bp,
extSidewallStruct *esws)
{
Tile *tile, *tp;
TileType ttype;
@ -1865,12 +1865,12 @@ extWalkTop(area, mask, func, bp, esws)
*/
int
extWalkBottom(area, mask, func, bp, esws)
Rect *area;
TileTypeBitMask *mask;
int (*func)();
Boundary *bp;
extSidewallStruct *esws;
extWalkBottom(
Rect *area,
TileTypeBitMask *mask,
int (*func)(),
Boundary *bp,
extSidewallStruct *esws)
{
Tile *tile, *tp;
TileType ttype;
@ -1973,12 +1973,12 @@ extWalkBottom(area, mask, func, bp, esws)
*/
int
extWalkRight(area, mask, func, bp, esws)
Rect *area;
TileTypeBitMask *mask;
int (*func)();
Boundary *bp;
extSidewallStruct *esws;
extWalkRight(
Rect *area,
TileTypeBitMask *mask,
int (*func)(),
Boundary *bp,
extSidewallStruct *esws)
{
Tile *tile, *tp;
TileType ttype;
@ -2081,12 +2081,12 @@ extWalkRight(area, mask, func, bp, esws)
*/
int
extWalkLeft(area, mask, func, bp, esws)
Rect *area;
TileTypeBitMask *mask;
int (*func)();
Boundary *bp;
extSidewallStruct *esws;
extWalkLeft(
Rect *area,
TileTypeBitMask *mask,
int (*func)(),
Boundary *bp,
extSidewallStruct *esws)
{
Tile *tile, *tp;
TileType ttype;
@ -2194,10 +2194,10 @@ extWalkLeft(area, mask, func, bp, esws)
*/
int
extSideLeft(tpfar, bp, esws)
Tile *tpfar;
Boundary *bp;
extSidewallStruct *esws;
extSideLeft(
Tile *tpfar,
Boundary *bp,
extSidewallStruct *esws)
{
NodeRegion *rinside, *rfar;
Tile *tpnear;
@ -2246,10 +2246,10 @@ extSideLeft(tpfar, bp, esws)
*/
int
extSideRight(tpfar, bp, esws)
Tile *tpfar;
Boundary *bp;
extSidewallStruct *esws;
extSideRight(
Tile *tpfar,
Boundary *bp,
extSidewallStruct *esws)
{
NodeRegion *rinside, *rfar;
Tile *tpnear;
@ -2298,10 +2298,10 @@ extSideRight(tpfar, bp, esws)
*/
int
extSideTop(tpfar, bp, esws)
Tile *tpfar;
Boundary *bp;
extSidewallStruct *esws;
extSideTop(
Tile *tpfar,
Boundary *bp,
extSidewallStruct *esws)
{
NodeRegion *rinside, *rfar;
Tile *tpnear;
@ -2350,10 +2350,10 @@ extSideTop(tpfar, bp, esws)
*/
int
extSideBottom(tpfar, bp, esws)
Tile *tpfar;
Boundary *bp;
extSidewallStruct *esws;
extSideBottom(
Tile *tpfar,
Boundary *bp,
extSidewallStruct *esws)
{
NodeRegion *rinside, *rfar;
Tile *tpnear;
@ -2403,14 +2403,15 @@ extSideBottom(tpfar, bp, esws)
*/
void
extSideCommon(rinside, rfar, tpnear, tpfar, bdir, overlap, sep, extCoupleList)
NodeRegion *rinside, *rfar; /* Both must be valid */
Tile *tpnear, *tpfar; /* Tiles on near and far side of edge */
int bdir; /* Boundary direction */
int overlap, sep; /* Overlap of this edge with original one,
* and distance between the two.
*/
EdgeCap *extCoupleList; /* List of sidewall capacitance rules */
extSideCommon(
NodeRegion *rinside,
NodeRegion *rfar,
Tile *tpnear,
Tile *tpfar,
int bdir, /* Boundary direction */
int overlap,
int sep,
EdgeCap *extCoupleList) /* List of sidewall capacitance rules */
{
TileType near, far;
HashEntry *he;

View File

@ -71,10 +71,10 @@ bool extHardSetLabel();
*/
ExtRegion *
extLabFirst(tile, dinfo, arg)
Tile *tile;
TileType dinfo; /* (unused) */
FindRegion *arg;
extLabFirst(
Tile *tile,
TileType dinfo, /* (unused) */
FindRegion *arg)
{
TransRegion *reg;
reg = (TransRegion *) mallocMagic((unsigned) (sizeof (TransRegion)));
@ -97,11 +97,11 @@ extLabFirst(tile, dinfo, arg)
/*ARGSUSED*/
int
extLabEach(tile, dinfo, pNum, arg)
Tile *tile;
TileType dinfo; /* (unused) */
int pNum;
FindRegion *arg;
extLabEach(
Tile *tile,
TileType dinfo, /* (unused) */
int pNum,
FindRegion *arg)
{
TransRegion *reg = (TransRegion *) arg->fra_region;
@ -157,9 +157,9 @@ extLabEach(tile, dinfo, pNum, arg)
*/
int
extHardProc(scx, arg)
SearchContext *scx; /* Context of the search to this cell */
HardWay *arg; /* See above; this structure provides both
extHardProc(
SearchContext *scx, /* Context of the search to this cell */
HardWay *arg) /* See above; this structure provides both
* options to govern how we generate labels
* and a place to store the label we return.
*/
@ -294,13 +294,13 @@ done:
*/
bool
extHardSetLabel(scx, reg, arg)
SearchContext *scx; /* We use scx->scx_trans to transform label
extHardSetLabel(
SearchContext *scx, /* We use scx->scx_trans to transform label
* coordinates in the def scx->scx_use->cu_def
* up to root coordinates.
*/
TransRegion *reg; /* ExtRegion with a label list */
HardWay *arg; /* We will set arg->hw_label if a node
TransRegion *reg, /* ExtRegion with a label list */
HardWay *arg) /* We will set arg->hw_label if a node
* label is found on the label list of 'reg'.
*/
{
@ -408,15 +408,15 @@ extHardSetLabel(scx, reg, arg)
*/
bool
extHardGenerateLabel(scx, reg, arg)
SearchContext *scx; /* We use scx->scx_trans to transform the
extHardGenerateLabel(
SearchContext *scx, /* We use scx->scx_trans to transform the
* generated label's coordinates up to
* root coordinates.
*/
TransRegion *reg; /* ExtRegion whose treg_ll and treg_pnum we use
TransRegion *reg, /* ExtRegion whose treg_ll and treg_pnum we use
* to generate a new label name.
*/
HardWay *arg; /* We set arg->hw_label to the new label */
HardWay *arg) /* We set arg->hw_label to the new label */
{
TerminalPath *tpath = &arg->hw_tpath;
char *srcp, *dstp;
@ -480,9 +480,9 @@ extHardGenerateLabel(scx, reg, arg)
*/
void
extHardFreeAll(def, tReg)
CellDef *def;
TransRegion *tReg;
extHardFreeAll(
CellDef *def,
TransRegion *tReg)
{
TransRegion *reg;
LabelList *ll;

View File

@ -124,10 +124,10 @@ bool extTestNMInteract(Tile *t1, TileType di1, Tile *t2, TileType di2)
*/
int
extHierSubShieldFunc(tile, dinfo, clientdata)
Tile *tile; /* (unused) */
TileType dinfo; /* (unused) */
ClientData clientdata; /* (unused) */
extHierSubShieldFunc(
Tile *tile, /* (unused) */
TileType dinfo, /* (unused) */
ClientData clientdata) /* (unused) */
{
return 1;
}
@ -149,10 +149,11 @@ extHierSubShieldFunc(tile, dinfo, clientdata)
*/
void
extHierSubstrate(ha, use, x, y)
HierExtractArg *ha; // Contains parent def and hash table
CellUse *use; // Child use
int x, y; // Array subscripts, or -1 if not an array
extHierSubstrate(
HierExtractArg *ha, // Contains parent def and hash table
CellUse *use, // Child use
int x,
int y)
{
NodeRegion *nodeList;
HashTable *table = &ha->ha_connHash;
@ -164,7 +165,7 @@ extHierSubstrate(ha, use, x, y)
Rect subArea;
int pNum;
NodeRegion *extFindNodes();
NodeRegion *extFindNodes(CellDef *def, Rect *clipArea, bool subonly);
/* Backwards compatibility with tech files that don't */
/* define a substrate plane or substrate connections. */
@ -336,9 +337,10 @@ extHierSubstrate(ha, use, x, y)
*/
void
extHierConnections(ha, cumFlat, oneFlat)
HierExtractArg *ha;
ExtTree *cumFlat, *oneFlat;
extHierConnections(
HierExtractArg *ha,
ExtTree *cumFlat,
ExtTree *oneFlat)
{
int pNum;
CellDef *sourceDef = oneFlat->et_use->cu_def;
@ -399,10 +401,10 @@ extHierConnections(ha, cumFlat, oneFlat)
*/
int
extHierConnectFunc1(oneTile, dinfo, ha)
Tile *oneTile; /* Comes from 'oneFlat' in extHierConnections */
TileType dinfo; /* Split tile information (unused) */
HierExtractArg *ha; /* Extraction context */
extHierConnectFunc1(
Tile *oneTile, /* Comes from 'oneFlat' in extHierConnections */
TileType dinfo, /* Split tile information (unused) */
HierExtractArg *ha) /* Extraction context */
{
CellDef *cumDef = extHierCumFlat->et_use->cu_def;
Rect r;
@ -613,10 +615,10 @@ extHierFindTopNode(Tile *tile,
*/
int
extHierConnectFunc2(cum, dinfo, ha)
Tile *cum; /* Comes from extHierCumFlat->et_use->cu_def */
TileType dinfo; /* Split tile information */
HierExtractArg *ha; /* Extraction context */
extHierConnectFunc2(
Tile *cum, /* Comes from extHierCumFlat->et_use->cu_def */
TileType dinfo, /* Split tile information */
HierExtractArg *ha) /* Extraction context */
{
HashTable *table = &ha->ha_connHash;
Node *node1, *node2;
@ -799,10 +801,10 @@ extHierConnectFunc2(cum, dinfo, ha)
*/
int
extHierConnectFunc3(cum, dinfo, ha)
Tile *cum; /* Comes from extHierCumFlat->et_use->cu_def */
TileType dinfo; /* Split tile information */
HierExtractArg *ha; /* Extraction context */
extHierConnectFunc3(
Tile *cum, /* Comes from extHierCumFlat->et_use->cu_def */
TileType dinfo, /* Split tile information */
HierExtractArg *ha) /* Extraction context */
{
HashTable *table = &ha->ha_connHash;
Node *node1, *node2;
@ -953,9 +955,11 @@ extHierConnectFunc3(cum, dinfo, ha)
*/
void
extHierAdjustments(ha, cumFlat, oneFlat, lookFlat)
HierExtractArg *ha;
ExtTree *cumFlat, *oneFlat, *lookFlat;
extHierAdjustments(
HierExtractArg *ha,
ExtTree *cumFlat,
ExtTree *oneFlat,
ExtTree *lookFlat)
{
HashEntry *he, *heCum;
int n;
@ -1050,9 +1054,9 @@ extHierAdjustments(ha, cumFlat, oneFlat, lookFlat)
*/
void
extOutputConns(table, outf)
HashTable *table;
FILE *outf;
extOutputConns(
HashTable *table,
FILE *outf)
{
CapValue c; /* cap value */
NodeName *nn, *nnext;
@ -1149,8 +1153,8 @@ extOutputConns(table, outf)
*/
Node *
extHierNewNode(he)
HashEntry *he;
extHierNewNode(
HashEntry *he)
{
int n, nclasses;
NodeName *nn;
@ -1199,10 +1203,10 @@ extHierNewNode(he)
/*ARGSUSED*/
ExtRegion *
extHierLabFirst(tile, dinfo, arg)
Tile *tile;
TileType dinfo; /* (unused) */
FindRegion *arg;
extHierLabFirst(
Tile *tile,
TileType dinfo, /* (unused) */
FindRegion *arg)
{
LabRegion *new;
@ -1220,11 +1224,11 @@ extHierLabFirst(tile, dinfo, arg)
/*ARGSUSED*/
int
extHierLabEach(tile, dinfo, pNum, arg)
Tile *tile;
TileType dinfo;
int pNum;
FindRegion *arg;
extHierLabEach(
Tile *tile,
TileType dinfo,
int pNum,
FindRegion *arg)
{
LabRegion *reg;
@ -1307,8 +1311,8 @@ extHierNewOne()
*/
void
extHierFreeOne(et)
ExtTree *et;
extHierFreeOne(
ExtTree *et)
{
if (ExtOptions & EXT_DOCOUPLING)
extCapHashKill(&et->et_coupleHash);

View File

@ -87,13 +87,13 @@ int extInterSubtreePaint();
*/
void
ExtFindInteractions(def, halo, bloatby, resultPlane)
CellDef *def; /* Find interactions among children of def */
int halo; /* Interaction is elements closer than halo */
int bloatby; /* Bloat each interaction area by this amount when
ExtFindInteractions(
CellDef *def, /* Find interactions among children of def */
int halo, /* Interaction is elements closer than halo */
int bloatby, /* Bloat each interaction area by this amount when
* painting into resultPlane.
*/
Plane *resultPlane; /* Paint interaction areas into this plane */
Plane *resultPlane) /* Paint interaction areas into this plane */
{
SearchContext scx;
@ -129,9 +129,9 @@ ExtFindInteractions(def, halo, bloatby, resultPlane)
}
int
extInterSubtreePaint(scx, def)
SearchContext *scx;
CellDef *def;
extInterSubtreePaint(
SearchContext *scx,
CellDef *def)
{
Rect r;
int pNum;
@ -165,8 +165,8 @@ extInterSubtreePaint(scx, def)
*/
int
extInterSubtree(scx)
SearchContext *scx;
extInterSubtree(
SearchContext *scx)
{
CellUse *oldUse = extInterUse;
SearchContext parentScx;
@ -185,8 +185,9 @@ extInterSubtree(scx)
}
int
extInterSubtreeClip(overlapScx, scx)
SearchContext *overlapScx, *scx;
extInterSubtreeClip(
SearchContext *overlapScx,
SearchContext *scx)
{
Rect r, r2;
@ -227,11 +228,12 @@ extInterSubtreeClip(overlapScx, scx)
*/
int
extInterSubtreeElement(use, trans, x, y, r)
CellUse *use;
Transform *trans;
int x, y;
Rect *r;
extInterSubtreeElement(
CellUse *use,
Transform *trans,
int x,
int y,
Rect *r)
{
SearchContext scx;
Transform tinv;
@ -270,10 +272,10 @@ extInterSubtreeElement(use, trans, x, y, r)
*/
int
extInterSubtreeTile(tile, dinfo, cxp)
Tile *tile;
TileType dinfo; /* (unused) */
TreeContext *cxp;
extInterSubtreeTile(
Tile *tile,
TileType dinfo, /* (unused) */
TreeContext *cxp)
{
SearchContext newscx;
Rect r;
@ -312,8 +314,8 @@ extInterSubtreeTile(tile, dinfo, cxp)
*/
int
extInterOverlapSubtree(scx)
SearchContext *scx;
extInterOverlapSubtree(
SearchContext *scx)
{
if (extInterUse == scx->scx_use)
return (2);
@ -343,10 +345,10 @@ extInterOverlapSubtree(scx)
*/
int
extInterOverlapTile(tile, dinfo, cxp)
Tile *tile;
TileType dinfo; /* (unused) */
TreeContext *cxp;
extInterOverlapTile(
Tile *tile,
TileType dinfo, /* (unused) */
TreeContext *cxp)
{
SearchContext *scx = cxp->tc_scx;
Rect r, rootr;
@ -410,14 +412,14 @@ extInterOverlapTile(tile, dinfo, cxp)
*/
int
extTreeSrPaintArea(scx, func, cdarg)
SearchContext *scx; /* Pointer to search context specifying
extTreeSrPaintArea(
SearchContext *scx, /* Pointer to search context specifying
* a cell use to search, an area in the
* coordinates of the cell's def, and a
* transform back to "root" coordinates.
*/
int (*func)(); /* Function to apply at each qualifying tile */
ClientData cdarg; /* Client data for above function */
int (*func)(), /* Function to apply at each qualifying tile */
ClientData cdarg) /* Client data for above function */
{
int extTreeSrFunc();
CellDef *def = scx->scx_use->cu_def;
@ -455,9 +457,9 @@ extTreeSrPaintArea(scx, func, cdarg)
*/
int
extTreeSrFunc(scx, fp)
SearchContext *scx;
TreeFilter *fp;
extTreeSrFunc(
SearchContext *scx,
TreeFilter *fp)
{
CellDef *def = scx->scx_use->cu_def;
TreeContext context;

View File

@ -144,8 +144,8 @@ void extPathFloodTile();
*/
void
ExtSetDriver(name)
char *name;
ExtSetDriver(
char *name)
{
HashEntry *he;
@ -154,8 +154,8 @@ ExtSetDriver(name)
}
void
ExtSetReceiver(name)
char *name;
ExtSetReceiver(
char *name)
{
HashEntry *he;
@ -238,12 +238,12 @@ extLengthInit()
*/
void
extLength(rootUse, f)
CellUse *rootUse; /* The names stored in the driver and receiver tables
extLength(
CellUse *rootUse, /* The names stored in the driver and receiver tables
* should all be relative to this root cell. It is
* the responsibility of the caller to ensure this.
*/
FILE *f; /* Open output file */
FILE *f) /* Open output file */
{
Label *dList, *rList, *dLab, *rLab;
int min, max;
@ -346,9 +346,9 @@ extLength(rootUse, f)
*/
Label *
extLengthYank(use, labList)
CellUse *use; /* Cell whose material is to be traced */
Label *labList; /* List of labels whose attached net is to be traced */
extLengthYank(
CellUse *use, /* Cell whose material is to be traced */
Label *labList) /* List of labels whose attached net is to be traced */
{
SearchContext scx;
char mesg[512];
@ -434,10 +434,10 @@ extLengthYank(use, labList)
*/
int
extLengthLabels(tile, dinfo, rootUse)
Tile *tile; /* Some tile in extPathDef */
TileType dinfo; /* Split tile information (unused) */
CellUse *rootUse; /* The original root cell */
extLengthLabels(
Tile *tile, /* Some tile in extPathDef */
TileType dinfo, /* Split tile information (unused) */
CellUse *rootUse) /* The original root cell */
{
char name[MAXNAMESIZE];
TileTypeBitMask mask;
@ -486,10 +486,10 @@ extLengthLabels(tile, dinfo, rootUse)
*/
int
extLengthLabelsFunc(scx, label, tpath)
SearchContext *scx; /* Where in the search tree we are */
Label *label; /* The label itself */
TerminalPath *tpath; /* Identifies hierarchical prefix for label.
extLengthLabelsFunc(
SearchContext *scx, /* Where in the search tree we are */
Label *label, /* The label itself */
TerminalPath *tpath) /* Identifies hierarchical prefix for label.
* The full hierarchical pathname will be the
* concatenation of the string tpath->tp_first
* and the string label->lab_text.
@ -544,9 +544,9 @@ extLengthLabelsFunc(scx, label, tpath)
*/
Label *
extPathLabel(use, text)
CellUse *use;
char *text;
extPathLabel(
CellUse *use,
char *text)
{
int extPathLabelFunc();
Label *lab;
@ -578,11 +578,11 @@ extPathLabel(use, text)
*/
int
extPathLabelFunc(rect, text, childLab, pLabList)
Rect *rect; /* Transformed location of the label */
char *text; /* Full hierarchical name of the label */
Label *childLab; /* The label itself */
Label **pLabList; /* Cons the newly allocated label onto the front of
extPathLabelFunc(
Rect *rect, /* Transformed location of the label */
char *text, /* Full hierarchical name of the label */
Label *childLab, /* The label itself */
Label **pLabList) /* Cons the newly allocated label onto the front of
* this list.
*/
{
@ -630,9 +630,11 @@ extPathLabelFunc(rect, text, childLab, pLabList)
*/
void
extPathPairDistance(lab1, lab2, pMin, pMax)
Label *lab1, *lab2;
int *pMin, *pMax;
extPathPairDistance(
Label *lab1,
Label *lab2,
int *pMin,
int *pMax)
{
struct extPathArg epa;
TileTypeBitMask mask;
@ -694,8 +696,8 @@ extPathPairDistance(lab1, lab2, pMin, pMax)
*/
int
extPathResetClient(tile)
Tile *tile;
extPathResetClient(
Tile *tile)
{
TiSetClient(tile, CLIENTDEFAULT);
return (0);
@ -728,10 +730,10 @@ extPathResetClient(tile)
*/
int
extPathPairFunc(tile, dinfo, epa)
Tile *tile;
TileType dinfo; // Unused
struct extPathArg *epa;
extPathPairFunc(
Tile *tile,
TileType dinfo, // Unused
struct extPathArg *epa)
{
Point startPoint;
Rect r;
@ -772,11 +774,11 @@ extPathPairFunc(tile, dinfo, epa)
*/
void
extPathFlood(tile, p, distance, epa)
Tile *tile; /* Tile whose neighbors we are to visit */
Point *p; /* Usually at center of 'tile' */
int distance; /* Distance to 'p' */
struct extPathArg *epa; /* Update epa_min and epa_max when we reach
extPathFlood(
Tile *tile, /* Tile whose neighbors we are to visit */
Point *p, /* Usually at center of 'tile' */
int distance, /* Distance to 'p' */
struct extPathArg *epa) /* Update epa_min and epa_max when we reach
* the destination epa_lab2.
*/
{
@ -911,10 +913,10 @@ extPathFlood(tile, p, distance, epa)
}
int
extPathFloodFunc(dstTile, dinfo, epfa)
Tile *dstTile;
TileType dinfo; // Unused
struct extPathFloodArg *epfa;
extPathFloodFunc(
Tile *dstTile,
TileType dinfo, // Unused
struct extPathFloodArg *epfa)
{
Rect srcRect, dstRect;
Point dstPoint, *p;
@ -970,12 +972,12 @@ extPathFloodFunc(dstTile, dinfo, epfa)
*/
void
extPathFloodTile(srcTile, srcPoint, srcDist, dstTile, epa)
Tile *srcTile; /* Tile through which we're propagating */
Point *srcPoint; /* Point inside or on srcTile */
int srcDist; /* Distance to srcPoint so far */
Tile *dstTile; /* Tile on border of srcTile */
struct extPathArg *epa;
extPathFloodTile(
Tile *srcTile, /* Tile through which we're propagating */
Point *srcPoint, /* Point inside or on srcTile */
int srcDist, /* Distance to srcPoint so far */
Tile *dstTile, /* Tile on border of srcTile */
struct extPathArg *epa)
{
Rect srcRect, dstRect;
Point dstPoint;
@ -1017,10 +1019,11 @@ extPathFloodTile(srcTile, srcPoint, srcDist, dstTile, epa)
*/
int
extPathTileDist(p1, p2, tile, oldDist)
Point *p1, *p2;
Tile *tile;
int oldDist;
extPathTileDist(
Point *p1,
Point *p2,
Tile *tile,
int oldDist)
{
int newDist;

View File

@ -88,10 +88,10 @@ Stack *extDefStack;
int extDefInitFunc(CellDef *, ClientData); /* UNUSED */
void extDefPush();
void extDefIncremental();
void extParents();
void extParents(CellUse *use, bool doExtract);
void extDefParentFunc();
void extDefParentAreaFunc();
void extExtractStack();
void extExtractStack(Stack *stack, bool doExtract, CellDef *rootDef);
bool extContainsGeometry();
int extContainsCellFunc(CellUse *use, ClientData cdata); /* cb_database_srcellplanearea_t (const CellUse *allButUse) */
@ -173,9 +173,9 @@ ExtInit()
*/
int
extIsUsedFunc(use, clientData)
CellUse *use;
ClientData clientData; /* unused */
extIsUsedFunc(
CellUse *use,
ClientData clientData) /* unused */
{
CellDef *def = use->cu_def;
@ -197,10 +197,10 @@ extIsUsedFunc(use, clientData)
*/
int
extEnumFunc(tile, dinfo, clientdata)
Tile *tile; /* (unused) */
TileType dinfo; /* (unused) */
ClientData clientdata; /* (unused) */
extEnumFunc(
Tile *tile, /* (unused) */
TileType dinfo, /* (unused) */
ClientData clientdata) /* (unused) */
{
return 1;
}
@ -212,9 +212,9 @@ extEnumFunc(tile, dinfo, clientdata)
*/
int
extDefListFunc(use, defList)
CellUse *use;
LinkedDef **defList;
extDefListFunc(
CellUse *use,
LinkedDef **defList)
{
CellDef *def = use->cu_def;
LinkedDef *newLD;
@ -270,9 +270,9 @@ extDefListFunc(use, defList)
*/
int
extDefListFuncIncremental(use, defList)
CellUse *use;
LinkedDef **defList;
extDefListFuncIncremental(
CellUse *use,
LinkedDef **defList)
{
CellDef *def = use->cu_def;
LinkedDef *newLD;
@ -346,8 +346,8 @@ extDefListFuncIncremental(use, defList)
*/
void
ExtAll(rootUse)
CellUse *rootUse;
ExtAll(
CellUse *rootUse)
{
LinkedDef *defList = NULL;
CellDef *err_def;
@ -397,9 +397,9 @@ ExtAll(rootUse)
*/
/*ARGSUSED*/
int
extDefInitFunc(def, cdata)
CellDef *def;
ClientData cdata; /* UNUSED */
extDefInitFunc(
CellDef *def,
ClientData cdata) /* UNUSED */
{
def->cd_client = (ClientData) 0;
return (0);
@ -411,8 +411,8 @@ extDefInitFunc(def, cdata)
*/
void
extDefPush(defList)
LinkedDef *defList;
extDefPush(
LinkedDef *defList)
{
while (defList != NULL)
{
@ -452,9 +452,9 @@ extDefPush(defList)
*/
void
ExtUnique(rootUse, option)
CellUse *rootUse;
int option;
ExtUnique(
CellUse *rootUse,
int option)
{
CellDef *def, *err_def;
LinkedDef *defList = NULL;
@ -545,23 +545,23 @@ ExtUnique(rootUse, option)
*/
void
ExtParents(use)
CellUse *use;
ExtParents(
CellUse *use)
{
extParents(use, TRUE);
}
void
ExtShowParents(use)
CellUse *use;
ExtShowParents(
CellUse *use)
{
extParents(use, FALSE);
}
void
extParents(use, doExtract)
CellUse *use;
bool doExtract; /* If TRUE, we extract; if FALSE, we print */
extParents(
CellUse *use,
bool doExtract) /* If TRUE, we extract; if FALSE, we print */
{
LinkedDef *defList = NULL;
CellDef *def;
@ -632,8 +632,8 @@ extParents(use, doExtract)
*/
void
extDefParentFunc(def)
CellDef *def;
extDefParentFunc(
CellDef *def)
{
CellUse *parent;
@ -667,10 +667,10 @@ extDefParentFunc(def)
*/
void
ExtParentArea(use, changedArea, doExtract)
CellUse *use; /* Use->cu_def changed; extract its affected parents */
Rect *changedArea; /* Area changed in use->cu_def coordinates */
bool doExtract; /* If TRUE, we extract; if FALSE, we just print names
ExtParentArea(
CellUse *use, /* Use->cu_def changed; extract its affected parents */
Rect *changedArea, /* Area changed in use->cu_def coordinates */
bool doExtract) /* If TRUE, we extract; if FALSE, we just print names
* of the cells we would extract.
*/
{
@ -704,11 +704,11 @@ ExtParentArea(use, changedArea, doExtract)
*/
void
extDefParentAreaFunc(def, baseDef, allButUse, area)
CellDef *def;
CellDef *baseDef;
CellUse *allButUse;
Rect *area;
extDefParentAreaFunc(
CellDef *def,
CellDef *baseDef,
CellUse *allButUse,
Rect *area)
{
int x, y, xoff, yoff;
CellUse *parent;
@ -758,10 +758,10 @@ extDefParentAreaFunc(def, baseDef, allButUse, area)
*/
void
ExtractOneCell(def, outName, doLength)
CellDef *def; /* Cell being extracted */
char *outName; /* Name of output file; if NULL, derive from def name */
bool doLength; /* If TRUE, extract pathlengths from drivers to
ExtractOneCell(
CellDef *def, /* Cell being extracted */
char *outName, /* Name of output file; if NULL, derive from def name */
bool doLength) /* If TRUE, extract pathlengths from drivers to
* receivers (the names are stored in ExtLength.c).
* Should only be TRUE for the root cell in a
* hierarchy.
@ -842,10 +842,10 @@ ExtractOneCell(def, outName, doLength)
/* ------------------------------------------------------------------------- */
bool
extContainsGeometry(def, allButUse, area)
CellDef *def;
CellUse *allButUse;
Rect *area;
extContainsGeometry(
CellDef *def,
CellUse *allButUse,
Rect *area)
{
int extContainsPaintFunc();
int pNum;
@ -904,8 +904,8 @@ extContainsPaintFunc(
*/
void
ExtIncremental(rootUse)
CellUse *rootUse;
ExtIncremental(
CellUse *rootUse)
{
LinkedDef *defList = NULL;
CellDef *err_def;
@ -954,8 +954,8 @@ ExtIncremental(rootUse)
*/
bool
extTimestampMisMatch(def)
CellDef *def;
extTimestampMisMatch(
CellDef *def)
{
char line[256];
FILE *extFile;
@ -1002,10 +1002,10 @@ closeit:
*/
void
extExtractStack(stack, doExtract, rootDef)
Stack *stack;
bool doExtract;
CellDef *rootDef;
extExtractStack(
Stack *stack,
bool doExtract,
CellDef *rootDef)
{
int errorcnt = 0, warnings = 0;
bool first = TRUE;

View File

@ -71,11 +71,11 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
*/
int
ExtFindNeighbors(tile, dinfo, tilePlaneNum, arg)
Tile *tile;
TileType dinfo;
int tilePlaneNum;
FindRegion *arg;
ExtFindNeighbors(
Tile *tile,
TileType dinfo,
int tilePlaneNum,
FindRegion *arg)
{
TileTypeBitMask *connTo = arg->fra_connectsTo;
Tile *tp;
@ -376,10 +376,10 @@ fail:
*/
int
extNbrPushFunc(tile, dinfo, pla)
Tile *tile;
TileType dinfo;
PlaneAndArea *pla;
extNbrPushFunc(
Tile *tile,
TileType dinfo,
PlaneAndArea *pla)
{
Rect *tileArea;
Rect r;

View File

@ -139,13 +139,13 @@ ExtGetRegion(Tile *tp, /* Tile to get region record from */
*/
ExtRegion *
ExtFindRegions(def, area, mask, connectsTo, first, each)
CellDef *def; /* Cell definition being searched */
Rect *area; /* Area to search initially for tiles */
TileTypeBitMask *mask; /* In the initial area search, only visit
ExtFindRegions(
CellDef *def, /* Cell definition being searched */
Rect *area, /* Area to search initially for tiles */
TileTypeBitMask *mask, /* In the initial area search, only visit
* tiles whose types are in this mask.
*/
TileTypeBitMask *connectsTo;/* Connectivity table for determining regions.
TileTypeBitMask *connectsTo,/* Connectivity table for determining regions.
* If t1 and t2 are the types of adjacent
* tiles, then t1 and t2 belong to the same
* region iff:
@ -155,8 +155,8 @@ ExtFindRegions(def, area, mask, connectsTo, first, each)
* so this is the same as:
* TTMaskHasType(&connectsTo[t2], t1)
*/
ExtRegion * (*first)(); /* Applied to first tile in region */
int (*each)(); /* Applied to each tile in region */
ExtRegion * (*first)(), /* Applied to first tile in region */
int (*each)()) /* Applied to each tile in region */
{
FindRegion arg;
int extRegionAreaFunc();
@ -206,10 +206,10 @@ ExtFindRegions(def, area, mask, connectsTo, first, each)
*/
int
extRegionAreaFunc(tile, dinfo, arg)
Tile *tile;
TileType dinfo;
FindRegion *arg;
extRegionAreaFunc(
Tile *tile,
TileType dinfo,
FindRegion *arg)
{
/* Allocate a new region */
if (arg->fra_first)
@ -251,11 +251,11 @@ extRegionAreaFunc(tile, dinfo, arg)
*/
LabelList *
ExtLabelRegions(def, connTo, nodeList, clipArea)
CellDef *def; /* Cell definition being labelled */
TileTypeBitMask *connTo; /* Connectivity table (see above) */
NodeRegion **nodeList; /* Node list to add to (or NULL) */
Rect *clipArea; /* Area to search for sticky labels */
ExtLabelRegions(
CellDef *def, /* Cell definition being labelled */
TileTypeBitMask *connTo, /* Connectivity table (see above) */
NodeRegion **nodeList, /* Node list to add to (or NULL) */
Rect *clipArea) /* Area to search for sticky labels */
{
static Point offsets[] = { { 0, 0 }, { 0, -1 }, { -1, -1 }, { -1, 0 } };
LabelList *ll;
@ -431,10 +431,10 @@ ExtLabelRegions(def, connTo, nodeList, clipArea)
*/
void
ExtLabelOneRegion(def, connTo, reg)
CellDef *def; /* Cell definition being labelled */
TileTypeBitMask *connTo; /* Connectivity table (see above) */
NodeRegion *reg; /* The region whose labels we want */
ExtLabelOneRegion(
CellDef *def, /* Cell definition being labelled */
TileTypeBitMask *connTo, /* Connectivity table (see above) */
NodeRegion *reg) /* The region whose labels we want */
{
static Point offsets[] = { { 0, 0 }, { 0, -1 }, { -1, -1 }, { -1, 0 } };
LabelList *ll;
@ -519,9 +519,9 @@ ExtLabelOneRegion(def, connTo, reg)
*/
void
ExtResetTiles(def, resetTo)
CellDef *def;
ClientData resetTo; /* New value for ti_client */
ExtResetTiles(
CellDef *def,
ClientData resetTo) /* New value for ti_client */
{
int pNum;
@ -553,8 +553,8 @@ ExtResetTiles(def, resetTo)
*/
void
ExtFreeRegions(regList)
ExtRegion *regList; /* List of regions to be freed */
ExtFreeRegions(
ExtRegion *regList) /* List of regions to be freed */
{
ExtRegion *reg;
@ -565,8 +565,8 @@ ExtFreeRegions(regList)
}
void
ExtFreeLabRegions(regList)
LabRegion *regList; /* List of regions to be freed */
ExtFreeLabRegions(
LabRegion *regList) /* List of regions to be freed */
{
LabRegion *lreg;
LabelList *ll;
@ -584,8 +584,8 @@ ExtFreeLabRegions(regList)
}
void
ExtFreeHierLabRegions(regList)
ExtRegion *regList; /* List of regions to be freed */
ExtFreeHierLabRegions(
ExtRegion *regList) /* List of regions to be freed */
{
ExtRegion *reg;
LabelList *ll;

View File

@ -90,7 +90,7 @@ bool extFirstPass;
ExtTree *extSubList = (ExtTree *) NULL;
/* Forward declarations of filter functions */
char *extSubtreeTileToNode();
char *extSubtreeTileToNode(Tile *tp, TileType dinfo, int pNum, ExtTree *et, HierExtractArg *ha, bool doHard);
int extSubtreeFunc();
int extSubstrateFunc();
int extConnFindFunc();
@ -115,9 +115,9 @@ void extSubtreeHardSearch();
*/
int
extClearUseFlags(use, clientData)
CellUse *use;
ClientData clientData;
extClearUseFlags(
CellUse *use,
ClientData clientData)
{
use->cu_flags &= ~CU_SUB_EXTRACTED;
return 0;
@ -161,10 +161,10 @@ extClearUseFlags(use, clientData)
#define RECTAREA(r) (((r)->r_xtop-(r)->r_xbot) * ((r)->r_ytop-(r)->r_ybot))
void
extSubtree(parentUse, reg, f)
CellUse *parentUse;
NodeRegion *reg; /* Node regions of the parent cell */
FILE *f;
extSubtree(
CellUse *parentUse,
NodeRegion *reg, /* Node regions of the parent cell */
FILE *f)
{
int extSubtreeInterFunc();
CellDef *def = parentUse->cu_def;
@ -200,7 +200,7 @@ extSubtree(parentUse, reg, f)
ha.ha_outf = f;
ha.ha_parentUse = parentUse;
ha.ha_parentReg = reg;
ha.ha_nodename = extSubtreeTileToNode;
ha.ha_nodename = (char *(*)()) extSubtreeTileToNode;
ha.ha_interArea = GeoNullRect;
ha.ha_cumFlat.et_use = extYuseCum;
HashInit(&ha.ha_connHash, 32, 0);
@ -361,10 +361,10 @@ done:
#ifdef exactinteractions
int
extSubtreeCopyPlane(tile, dinfo, plane)
Tile *tile;
TileType dinfo;
Plane *plane;
extSubtreeCopyPlane(
Tile *tile,
TileType dinfo,
Plane *plane)
{
Rect r;
@ -375,10 +375,10 @@ extSubtreeCopyPlane(tile, dinfo, plane)
}
int
extSubtreeShrinkPlane(tile, dinfo, plane)
Tile *tile;
TileType dinfo;
Plane *plane;
extSubtreeShrinkPlane(
Tile *tile,
TileType dinfo,
Plane *plane)
{
Rect r;
@ -392,10 +392,10 @@ extSubtreeShrinkPlane(tile, dinfo, plane)
}
int
extSubtreeInterFunc(tile, dinfo, ha)
Tile *tile;
TileType dinfo;
HierExtractArg *ha;
extSubtreeInterFunc(
Tile *tile,
TileType dinfo,
HierExtractArg *ha)
{
TITORECT(tile, &ha->ha_interArea);
ha->ha_clipArea = ha->ha_interArea;
@ -450,8 +450,8 @@ extSubtreeInterFunc(tile, dinfo, ha)
*/
void
extSubtreeInteraction(ha)
HierExtractArg *ha; /* Context for hierarchical extraction */
extSubtreeInteraction(
HierExtractArg *ha) /* Context for hierarchical extraction */
{
CellDef *oneDef, *cumDef = ha->ha_cumFlat.et_use->cu_def;
ExtTree *oneFlat, *nextFlat;
@ -638,8 +638,8 @@ extSubtreeInteraction(ha)
*/
void
extSubtreeAdjustInit(ha)
HierExtractArg *ha;
extSubtreeAdjustInit(
HierExtractArg *ha)
{
NodeRegion *np;
NodeName *nn;
@ -690,8 +690,8 @@ extSubtreeAdjustInit(ha)
*/
void
extSubtreeOutputCoupling(ha)
HierExtractArg *ha;
extSubtreeOutputCoupling(
HierExtractArg *ha)
{
CapValue cap;
CoupleKey *ck;
@ -736,10 +736,10 @@ extSubtreeOutputCoupling(ha)
*/
int
extFoundProc(tile, dinfo, clientData)
Tile *tile;
TileType dinfo;
ClientData clientData;
extFoundProc(
Tile *tile,
TileType dinfo,
ClientData clientData)
{
return 1;
}
@ -767,9 +767,9 @@ extFoundProc(tile, dinfo, clientData)
*/
int
extSubtreeFunc(scx, ha)
SearchContext *scx;
HierExtractArg *ha;
extSubtreeFunc(
SearchContext *scx,
HierExtractArg *ha)
{
CellUse *cumUse = ha->ha_cumFlat.et_use;
CellUse *use = scx->scx_use;
@ -985,9 +985,9 @@ extSubtreeFunc(scx, ha)
*/
int
extSubstrateFunc(scx, ha)
SearchContext *scx;
HierExtractArg *ha;
extSubstrateFunc(
SearchContext *scx,
HierExtractArg *ha)
{
CellUse *use = scx->scx_use;
int x, y;
@ -1065,13 +1065,13 @@ extSubstrateFunc(scx, ha)
*/
char *
extSubtreeTileToNode(tp, dinfo, pNum, et, ha, doHard)
Tile *tp; /* Tile whose node name is to be found */
TileType dinfo; /* Split tile information */
int pNum; /* Plane of the tile */
ExtTree *et; /* Yank buffer to search */
HierExtractArg *ha; /* Extraction context */
bool doHard; /* If TRUE, we look up this node's name the hard way
extSubtreeTileToNode(
Tile *tp, /* Tile whose node name is to be found */
TileType dinfo, /* Split tile information */
int pNum, /* Plane of the tile */
ExtTree *et, /* Yank buffer to search */
HierExtractArg *ha, /* Extraction context */
bool doHard) /* If TRUE, we look up this node's name the hard way
* if we can't find it any other way; otherwise, we
* return NULL if we can't find the node's name.
*/
@ -1175,10 +1175,10 @@ extSubtreeTileToNode(tp, dinfo, pNum, et, ha, doHard)
*/
int
extConnFindFunc(tp, dinfo, preg)
Tile *tp;
TileType dinfo; // Unused, but needs to be handled
LabRegion **preg;
extConnFindFunc(
Tile *tp,
TileType dinfo, // Unused, but needs to be handled
LabRegion **preg)
{
if (extHasRegion(tp, CLIENTDEFAULT))
{
@ -1220,12 +1220,12 @@ extConnFindFunc(tp, dinfo, preg)
*/
LabRegion *
extSubtreeHardNode(tp, dinfo, pNum, et, ha)
Tile *tp;
TileType dinfo;
int pNum;
ExtTree *et;
HierExtractArg *ha;
extSubtreeHardNode(
Tile *tp,
TileType dinfo,
int pNum,
ExtTree *et,
HierExtractArg *ha)
{
LabRegion *lreg = (LabRegion *) ExtGetRegion(tp, dinfo);
CellDef *def = et->et_use->cu_def;
@ -1301,9 +1301,9 @@ extSubtreeHardNode(tp, dinfo, pNum, et, ha)
*/
void
extSubtreeHardSearch(et, arg)
ExtTree *et;
HardWay *arg;
extSubtreeHardSearch(
ExtTree *et,
HardWay *arg)
{
HierExtractArg *ha = arg->hw_ha;
ExtTree *oneFlat;
@ -1352,13 +1352,14 @@ extSubtreeHardSearch(et, arg)
*/
int
extSubtreeHardUseFunc(use, trans, x, y, arg)
CellUse *use; /* Use that is the root of the subtree being searched */
Transform *trans; /* Transform from coordinates of use->cu_def to those
extSubtreeHardUseFunc(
CellUse *use, /* Use that is the root of the subtree being searched */
Transform *trans, /* Transform from coordinates of use->cu_def to those
* in use->cu_parent, for the array element (x, y).
*/
int x, y; /* Indices of this array element */
HardWay *arg; /* Context passed down to filter functions */
int x,
int y,
HardWay *arg) /* Context passed down to filter functions */
{
SearchContext scx;
Transform tinv;

View File

@ -275,8 +275,8 @@ static const keydesc devTable[] = {
*/
bool
ExtCompareStyle(stylename)
char *stylename;
ExtCompareStyle(
char *stylename)
{
ExtKeep *style;
@ -335,15 +335,14 @@ ExtCompareStyle(stylename)
*/
bool
ExtGetDevInfo(idx, devnameptr, devtypeptr, s_rclassptr, d_rclassptr,
sub_rclassptr, subnameptr)
int idx;
char **devnameptr; /* Name of extracted device model */
TileType *devtypeptr; /* Magic tile type of device */
short *s_rclassptr; /* Source (1st terminal) type only */
short *d_rclassptr; /* Drain (2nd terminal) type only */
short *sub_rclassptr;
char **subnameptr;
ExtGetDevInfo(
int idx,
char **devnameptr, /* Name of extracted device model */
TileType *devtypeptr, /* Magic tile type of device */
short *s_rclassptr, /* Source (1st terminal) type only */
short *d_rclassptr, /* Drain (2nd terminal) type only */
short *sub_rclassptr,
char **subnameptr)
{
TileType t;
TileTypeBitMask *rmask, *tmask;
@ -477,8 +476,8 @@ ExtGetDevInfo(idx, devnameptr, devtypeptr, s_rclassptr, d_rclassptr,
*/
TileType
extGetDevType(devname)
char *devname;
extGetDevType(
char *devname)
{
TileType t;
ExtDevice *devptr;
@ -503,8 +502,8 @@ extGetDevType(devname)
*/
int
ExtGetGateTypesMask(mask)
TileTypeBitMask *mask;
ExtGetGateTypesMask(
TileTypeBitMask *mask)
{
TileType ttype;
@ -540,8 +539,8 @@ ExtGetGateTypesMask(mask)
*/
int
ExtGetDiffTypesMask(mask)
TileTypeBitMask *mask;
ExtGetDiffTypesMask(
TileTypeBitMask *mask)
{
TileType ttype;
@ -573,9 +572,10 @@ ExtGetDiffTypesMask(mask)
*/
void
ExtGetZAxis(tile, height, thick)
Tile *tile;
float *height, *thick;
ExtGetZAxis(
Tile *tile,
float *height,
float *thick)
{
TileType ttype;
@ -610,8 +610,8 @@ ExtGetZAxis(tile, height, thick)
*/
void
ExtPrintPath(dolist)
bool dolist;
ExtPrintPath(
bool dolist)
{
if (ExtLocalPath == NULL)
{
@ -659,8 +659,8 @@ ExtPrintPath(dolist)
*/
void
ExtSetPath(path)
char *path;
ExtSetPath(
char *path)
{
if (path != NULL)
{
@ -692,10 +692,10 @@ ExtSetPath(path)
*/
void
ExtPrintStyle(dolist, doforall, docurrent)
bool dolist;
bool doforall;
bool docurrent;
ExtPrintStyle(
bool dolist,
bool doforall,
bool docurrent)
{
ExtKeep *style;
@ -759,8 +759,8 @@ ExtPrintStyle(dolist, doforall, docurrent)
*/
void
ExtSetStyle(name)
char *name;
ExtSetStyle(
char *name)
{
ExtKeep *style, *match;
int length;
@ -826,8 +826,8 @@ extTechStyleAlloc()
*/
void
extTechStyleInit(style)
ExtStyle *style;
extTechStyleInit(
ExtStyle *style)
{
TileType r, s;
@ -1017,8 +1017,8 @@ extTechStyleNew()
*/
CapValue
aToCap(str)
char *str;
aToCap(
char *str)
{
CapValue capVal;
if (sscanf(str, "%lf", &capVal) != 1) {
@ -1044,8 +1044,8 @@ aToCap(str)
*/
ResValue
aToRes(str)
char *str;
aToRes(
char *str)
{
ResValue resVal;
if (sscanf(str, "%d", &resVal) != 1) {
@ -1072,8 +1072,8 @@ aToRes(str)
* ----------------------------------------------------------------------------
*/
void
ExtLoadStyle(stylename)
char *stylename;
ExtLoadStyle(
char *stylename)
{
SectionID invext;
@ -1177,9 +1177,9 @@ ExtTechInit()
*/
void
ExtTechSimpleAreaCap(argc, argv)
int argc;
char *argv[];
ExtTechSimpleAreaCap(
int argc,
char *argv[])
{
TileType s, t;
TileTypeBitMask types, subtypes, shields;
@ -1355,9 +1355,9 @@ ExtTechSimpleAreaCap(argc, argv)
*/
void
ExtTechSimplePerimCap(argc, argv)
int argc;
char *argv[];
ExtTechSimplePerimCap(
int argc,
char *argv[])
{
TileType r, s, t;
TileTypeBitMask types, nottypes, subtypes, shields;
@ -1541,9 +1541,9 @@ ExtTechSimplePerimCap(argc, argv)
*/
void
ExtTechSimpleSidewallCap(argc, argv)
int argc;
char *argv[];
ExtTechSimpleSidewallCap(
int argc,
char *argv[])
{
/* Like ExtTechLine, but with near = types2 and far = types1 */
@ -1626,8 +1626,8 @@ ExtTechSimpleSidewallCap(argc, argv)
*/
void
ExtTechSimpleOverlapCap(argv)
char *argv[];
ExtTechSimpleOverlapCap(
char *argv[])
{
TileType s, t;
TileTypeBitMask types1, types2, shields;
@ -1724,8 +1724,8 @@ ExtTechSimpleOverlapCap(argv)
*/
void
ExtTechSimpleSideOverlapCap(argv)
char *argv[];
ExtTechSimpleSideOverlapCap(
char *argv[])
{
TileType r, s, t;
TileTypeBitMask types, nottypes, ov, notov, shields;
@ -1981,10 +1981,10 @@ ExtTechSimpleSideOverlapCap(argv)
/*ARGSUSED*/
bool
ExtTechLine(sectionName, argc, argv)
char *sectionName;
int argc;
char *argv[];
ExtTechLine(
char *sectionName,
int argc,
char *argv[])
{
int n, l, i, j, size, val, p1, p2, p3, nterm, iterm, class;
PlaneMask pshield, pov;
@ -3575,8 +3575,8 @@ ExtTechFinal()
void
extTechFinalStyle(style)
ExtStyle *style;
extTechFinalStyle(
ExtStyle *style)
{
TileTypeBitMask maskBits;
TileType r, s, t;
@ -3944,9 +3944,9 @@ zinit:
*/
void
ExtTechScale(scalen, scaled)
int scalen; /* Scale numerator */
int scaled; /* Scale denominator */
ExtTechScale(
int scalen, /* Scale numerator */
int scaled) /* Scale denominator */
{
ExtStyle *style = ExtCurStyle;
EdgeCap *ec;

View File

@ -105,9 +105,9 @@ void extShowConnect(char *, TileTypeBitMask *, FILE *);
*/
void
ExtractTest(w, cmd)
MagWindow *w;
TxCommand *cmd;
ExtractTest(
MagWindow *w,
TxCommand *cmd)
{
extern long extSubtreeTotalArea;
extern long extSubtreeInteractionArea;
@ -316,10 +316,10 @@ ExtractTest(w, cmd)
}
int
extShowInter(tile, dinfo, clientdata)
Tile *tile;
TileType dinfo; /* (unused) */
ClientData clientdata; /* (unused) */
extShowInter(
Tile *tile,
TileType dinfo, /* (unused) */
ClientData clientdata) /* (unused) */
{
Rect r;
@ -351,8 +351,8 @@ extShowInter(tile, dinfo, clientdata)
*/
void
extShowTech(name)
char *name;
extShowTech(
char *name)
{
FILE *out;
TileType t, s;
@ -489,10 +489,10 @@ extShowTech(name)
}
void
extShowTrans(name, mask, out)
char *name;
TileTypeBitMask *mask;
FILE *out;
extShowTrans(
char *name,
TileTypeBitMask *mask,
FILE *out)
{
TileType t;
@ -518,10 +518,10 @@ extShowTrans(name, mask, out)
}
void
extShowConnect(hdr, connectsTo, out)
char *hdr;
TileTypeBitMask *connectsTo;
FILE *out;
extShowConnect(
char *hdr,
TileTypeBitMask *connectsTo,
FILE *out)
{
TileType t;
@ -536,9 +536,9 @@ extShowConnect(hdr, connectsTo, out)
}
void
extShowMask(m, out)
TileTypeBitMask *m;
FILE *out;
extShowMask(
TileTypeBitMask *m,
FILE *out)
{
TileType t;
bool first = TRUE;
@ -554,9 +554,9 @@ extShowMask(m, out)
}
void
extShowPlanes(m, out)
PlaneMask m;
FILE *out;
extShowPlanes(
PlaneMask m,
FILE *out)
{
int pNum;
bool first = TRUE;
@ -589,9 +589,9 @@ extShowPlanes(m, out)
*/
void
extDispInit(def, w)
CellDef *def;
MagWindow *w;
extDispInit(
CellDef *def,
MagWindow *w)
{
extDebugWindow = w;
extCellDef = def;
@ -618,9 +618,9 @@ extDispInit(def, w)
*/
void
extShowEdge(s, bp)
char *s;
Boundary *bp;
extShowEdge(
char *s,
Boundary *bp)
{
Rect extScreenRect, edgeRect;
int style = STYLE_PURPLE1;
@ -679,10 +679,10 @@ extShowEdge(s, bp)
*/
void
extShowTile(tile, s, style_index)
Tile *tile;
char *s;
int style_index;
extShowTile(
Tile *tile,
char *s,
int style_index)
{
Rect tileRect;
static int styles[] = { STYLE_PALEHIGHLIGHTS, STYLE_DOTTEDHIGHLIGHTS };
@ -697,9 +697,9 @@ extShowTile(tile, s, style_index)
}
bool
extShowRect(r, style)
Rect *r;
int style;
extShowRect(
Rect *r,
int style)
{
Rect extScreenRect;
@ -731,10 +731,10 @@ extMore()
}
void
extNewYank(name, puse, pdef)
char *name;
CellUse **puse;
CellDef **pdef;
extNewYank(
char *name,
CellUse **puse,
CellDef **pdef)
{
DBNewYank(name, puse, pdef);
}
@ -746,8 +746,8 @@ extNewYank(name, puse, pdef)
*/
void
ExtDumpCapsToFile(f)
FILE *f;
ExtDumpCapsToFile(
FILE *f)
{
TileType t, s, r;
EdgeCap *e;
@ -1093,8 +1093,8 @@ ExtDumpCapsToFile(f)
*/
void
ExtDumpCaps(filename)
char *filename;
ExtDumpCaps(
char *filename)
{
TileType t, s, r;
EdgeCap *e;

View File

@ -162,9 +162,9 @@ extern int extDefInitFunc();
*/
void
ExtTimes(rootUse, f)
CellUse *rootUse;
FILE *f;
ExtTimes(
CellUse *rootUse,
FILE *f)
{
double clip, inter;
HashSearch hs;
@ -290,9 +290,9 @@ ExtTimes(rootUse, f)
/*ARGSUSED*/
int
extTimesInitFunc(use, cdata)
CellUse *use;
ClientData cdata; /* UNUSED */
extTimesInitFunc(
CellUse *use,
ClientData cdata) /* UNUSED */
{
CellDef *def = use->cu_def;
struct cellStats *cs;
@ -345,8 +345,8 @@ extTimesInitFunc(use, cdata)
*/
void
extTimesCellFunc(cs)
struct cellStats *cs;
extTimesCellFunc(
struct cellStats *cs)
{
extern long extSubtreeTotalArea;
extern long extSubtreeInteractionArea;
@ -398,10 +398,10 @@ extTimesCellFunc(cs)
*/
int
extCountTiles(tile, dinfo, cs)
Tile *tile; /* (unused) */
TileType dinfo; /* (unused) */
struct cellStats *cs;
extCountTiles(
Tile *tile, /* (unused) */
TileType dinfo, /* (unused) */
struct cellStats *cs)
{
cs->cs_rects++;
return (0);
@ -432,8 +432,8 @@ extCountTiles(tile, dinfo, cs)
*/
void
extTimesIncrFunc(cs)
struct cellStats *cs;
extTimesIncrFunc(
struct cellStats *cs)
{
/*
* Visit all of our parents recursively.
@ -481,9 +481,9 @@ extTimesIncrFunc(cs)
*/
void
extTimesSummaryFunc(cs, f)
struct cellStats *cs;
FILE *f;
extTimesSummaryFunc(
struct cellStats *cs,
FILE *f)
{
double tpaint, tcell, thier, tincr;
double fetspaint, rectspaint;
@ -590,9 +590,9 @@ extTimesSummaryFunc(cs, f)
*/
void
extTimesParentFunc(def, cs)
CellDef *def;
struct cellStats *cs;
extTimesParentFunc(
CellDef *def,
struct cellStats *cs)
{
struct cellStats *csForDef;
CellUse *parent;
@ -643,9 +643,9 @@ extTimesParentFunc(def, cs)
*/
int
extTimesHierFunc(def, cs)
CellDef *def;
struct cellStats *cs;
extTimesHierFunc(
CellDef *def,
struct cellStats *cs)
{
int extTimesHierUse();
struct cellStats *csForDef;
@ -679,9 +679,9 @@ extTimesHierFunc(def, cs)
}
int
extTimesHierUse(use, cs)
CellUse *use;
struct cellStats *cs;
extTimesHierUse(
CellUse *use,
struct cellStats *cs)
{
return (extTimesHierFunc(use->cu_def, cs));
}
@ -707,9 +707,9 @@ extTimesHierUse(use, cs)
*/
int
extTimesFlatFunc(def, cs)
CellDef *def;
struct cellStats *cs;
extTimesFlatFunc(
CellDef *def,
struct cellStats *cs)
{
struct cellStats *csForDef;
int extTimesFlatUse();
@ -728,9 +728,9 @@ extTimesFlatFunc(def, cs)
}
int
extTimesFlatUse(use, cs)
CellUse *use;
struct cellStats *cs;
extTimesFlatUse(
CellUse *use,
struct cellStats *cs)
{
struct cellStats dummyCS;
int nx, ny, nel;
@ -781,10 +781,10 @@ extTimesFlatUse(use, cs)
*/
void
extTimeProc(proc, def, tv)
int (*proc)();
CellDef *def;
struct timeval *tv;
extTimeProc(
int (*proc)(),
CellDef *def,
struct timeval *tv)
{
int secs, usecs, i;
@ -839,8 +839,8 @@ extTimeProc(proc, def, tv)
*/
void
extPaintOnly(def)
CellDef *def;
extPaintOnly(
CellDef *def)
{
NodeRegion *reg;
@ -867,8 +867,8 @@ extPaintOnly(def)
*/
void
extHierCell(def)
CellDef *def;
extHierCell(
CellDef *def)
{
extCellFile(def, extDevNull, FALSE);
}
@ -890,8 +890,8 @@ extHierCell(def)
*/
void
extCumInit(cum)
struct cumStats *cum;
extCumInit(
struct cumStats *cum)
{
cum->cums_min = (double) INFINITY;
cum->cums_max = (double) MINFINITY;
@ -917,10 +917,10 @@ extCumInit(cum)
*/
void
extCumOutput(str, cum, f)
char *str; /* Prefix string */
struct cumStats *cum;
FILE *f;
extCumOutput(
char *str, /* Prefix string */
struct cumStats *cum,
FILE *f)
{
double mean, var;
@ -961,9 +961,9 @@ extCumOutput(str, cum, f)
*/
void
extCumAdd(cum, v)
struct cumStats *cum;
double v;
extCumAdd(
struct cumStats *cum,
double v)
{
if (v < cum->cums_min) cum->cums_min = v;
if (v > cum->cums_max) cum->cums_max = v;
@ -989,8 +989,8 @@ extCumAdd(cum, v)
*/
struct cellStats *
extGetStats(def)
CellDef *def;
extGetStats(
CellDef *def)
{
HashEntry *he;
@ -1024,10 +1024,10 @@ int extInterCountHalo;
CellDef *extInterCountDef;
void
ExtInterCount(rootUse, halo, f)
CellUse *rootUse;
int halo;
FILE *f;
ExtInterCount(
CellUse *rootUse,
int halo,
FILE *f)
{
double inter;
CellDef *err_def;
@ -1073,9 +1073,9 @@ ExtInterCount(rootUse, halo, f)
}
int
extInterAreaFunc(use, f)
CellUse *use;
FILE *f;
extInterAreaFunc(
CellUse *use,
FILE *f)
{
static Plane *interPlane = (Plane *) NULL;
CellDef *def = use->cu_def;
@ -1118,10 +1118,10 @@ extInterAreaFunc(use, f)
}
int
extInterCountFunc(tile, dinfo, pArea)
Tile *tile;
TileType dinfo; /* (unused) */
int *pArea;
extInterCountFunc(
Tile *tile,
TileType dinfo, /* (unused) */
int *pArea)
{
Rect r;

View File

@ -80,9 +80,9 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/
*/
int
extUniqueCell(def, option)
CellDef *def;
int option;
extUniqueCell(
CellDef *def,
int option)
{
NodeRegion *nodeList;
LabRegion *lregList, *lastreg, processedLabel;
@ -95,7 +95,7 @@ extUniqueCell(def, option)
int nwarn;
bool isabstract;
NodeRegion *extFindNodes(); /* Forward reference */
NodeRegion *extFindNodes(CellDef *def, Rect *clipArea, bool subonly); /* Forward reference */
nwarn = 0;
@ -201,12 +201,13 @@ extUniqueCell(def, option)
}
int
extMakeUnique(def, ll, lreg, lregList, labelHash, option)
CellDef *def;
LabelList *ll;
LabRegion *lreg, *lregList;
HashTable *labelHash;
int option;
extMakeUnique(
CellDef *def,
LabelList *ll,
LabRegion *lreg,
LabRegion *lregList,
HashTable *labelHash,
int option)
{
static char *badmesg =
"Non-global label \"%s\" attached to more than one unconnected node: %s";
@ -366,7 +367,8 @@ makeUnique:
*/
void
ExtRevertUniqueCell(CellDef *def)
ExtRevertUniqueCell(
CellDef *def)
{
Label *lab, *tlab;
char *uptr;

View File

@ -70,8 +70,9 @@ int extHierLabelFunc();
*/
void
extHierCopyLabels(sourceDef, targetDef)
CellDef *sourceDef, *targetDef;
extHierCopyLabels(
CellDef *sourceDef,
CellDef *targetDef)
{
Label *lab, *newlab, *firstLab, *lastLab;
unsigned n;
@ -115,8 +116,8 @@ extHierCopyLabels(sourceDef, targetDef)
*/
void
extHierFreeLabels(def)
CellDef *def;
extHierFreeLabels(
CellDef *def)
{
Label *lab;
@ -156,13 +157,14 @@ extHierFreeLabels(def)
*/
int
extHierYankFunc(use, trans, x, y, hy)
CellUse *use; /* Use that is the root of the subtree being yanked */
Transform *trans; /* Transform from coordinates of use->cu_def to those
extHierYankFunc(
CellUse *use, /* Use that is the root of the subtree being yanked */
Transform *trans, /* Transform from coordinates of use->cu_def to those
* in use->cu_parent, for the array element (x, y).
*/
int x, y; /* Indices of this array element */
HierYank *hy; /* See comments in procedure header */
int x,
int y,
HierYank *hy) /* See comments in procedure header */
{
char labelBuf[4096];
TerminalPath tpath;
@ -201,11 +203,11 @@ extHierYankFunc(use, trans, x, y, hy)
}
int
extHierLabelFunc(scx, label, tpath, targetDef)
SearchContext *scx;
Label *label;
TerminalPath *tpath;
CellDef *targetDef;
extHierLabelFunc(
SearchContext *scx,
Label *label,
TerminalPath *tpath,
CellDef *targetDef)
{
char *srcp, *dstp;
Label *newlab;

View File

@ -93,12 +93,12 @@ extern bool ExtTechLine();
extern void ExtTechInit();
extern void ExtTechFinal();
extern void ExtSetStyle();
extern void ExtPrintStyle();
extern void ExtPrintStyle(bool dolist, bool doforall, bool docurrent);
extern void ExtSetPath();
extern void ExtPrintPath();
extern void ExtPrintPath(bool dolist);
extern void ExtRevertSubstrate();
extern Plane *ExtCell();
extern void ExtractOneCell();
extern Plane *ExtCell(CellDef *def, char *outName, bool isTop);
extern void ExtractOneCell(CellDef *def, char *outName, bool doLength);
extern int ExtGetGateTypesMask();
extern int ExtGetDiffTypesMask();

View File

@ -1087,7 +1087,7 @@ extern Tile *extNodeToTile();
extern char *extNodeName();
extern NodeRegion *extBasic();
extern NodeRegion *extFindNodes();
extern NodeRegion *extFindNodes(CellDef *def, Rect *clipArea, bool subonly);
extern ExtTree *extHierNewOne();
extern int extNbrPushFunc();
extern TileType extGetDevType();
@ -1116,12 +1116,12 @@ extern void ExtFindInteractions();
extern void ExtInterCount();
extern void ExtInterCount();
extern void ExtTimes();
extern void ExtParentArea();
extern void ExtParentArea(CellUse *use, Rect *changedArea, bool doExtract);
extern void extHierCopyLabels();
extern int extTimesInitFunc();
extern int extTimesHierFunc();
extern int extTimesFlatFunc();
extern Plane *extCellFile();
extern Plane *extCellFile(CellDef *def, FILE *f, bool isTop);
extern int extInterAreaFunc();
extern int extTreeSrPaintArea();
extern int extMakeUnique();