#ifndef _LIBPL_H #define _LIBPL_H #define SETBIT(t) CHEAT(PIN,(CHEAT(INT,t)|1)) #define CHAIN(t) CHEAT(PIN,(CHEAT(INT,t->chain)&~1)) #define HEAD(t) CHEAT(PIN,(CHEAT(INT,t->chain)&1)) #define dpin(x) ((DPIN)(x)) TYPE struct _dpin *DPIN; TYPE struct _dpin _DPIN; TYPE struct _dpin DPIN1[1]; struct _dpin { PIN pinp; /* ptr to original net entry */ INT del; /* distance to previous pin in sequence */ }; TYPE DPIN (*CHOSE)(); EXT INT tflag; /* enable tektronix output */ EXT INT okroute; /* set if wire routing optimised */ EXT INT file; #define XRANGE 1008.0 /* dimension of drawing area */ #define YRANGE 732.0 #define XMID 504 /* coord of centre of picture */ #define YMID 374 EXT REAL xymul; /* to scale x and y coordinates */ EXT XY xoff, yoff; /* to add to x and y coordinates */ #define NDPIN 200 /* longest permitted net */ EXT _DPIN pinvec[NDPIN]; /* one per pin in the net */ EXT INT npins; /* number of pins in current net * excluding unplaced pins */ EXT INT tpins; /* total number of pins in current net */ /* result types */ EXT VOID amap(); EXT CHP cfind(); EXT CHP choseA(); EXT VOID delplace(); EXT SKT finger(); EXT VOID harden(); EXT L_INT iterate(); EXT L_INT netl(); EXT VOID pdraw(); EXT L_INT placB(); EXT SKT sfind(); EXT VOID soften(); EXT L_INT sumwir(); EXT VOID lstent(); EXT VOID wirent(); #define MAXPIN 40 #endif