LOADPHFIG(3) | MBK PHYSICAL UTILITY FUNCTIONS | LOADPHFIG(3) |
loadphfig - load a new physical cell model from disk
See the file buster/alliance/alc_origin.1.en.gz.
#include "mph.h" void loadphfig(ptfig, figname, mode) phfig_list ∗ptfig; char ∗figname; char mode;
loadphfig fills the phfig pointed to by ptfig
with the contents of a disk file called figname. The loading mode may
be either 'A', then the entire content is parsed, or 'P' then
only connectors, abutment box, and through routes are loaded, or 'C',
that finishes to fill an already loaded figure in 'P' mode, in order
to have it all in memory. This last mode allows to keep the same
ptfig pointer when reaccessing the same file.
The loadphfig function in fact performs a call to a parser, choosen by
the MBK_IN_PH(1) environment variable. The directories seached for
the file are first the one set by MBK_WORK_LIB(1) and then, in the
described order, the ones set by MBK_CATA_LIB(1). See
MBK_IN_PH(1), MBK_WORK_LIB(1), MBK_CATA_LIB(1) and
mbkenv(3) for details.
Some errors resulting from a call to loadphfig are due to
the parsers, and are prefixed by the parser format (pf).
"∗∗∗ mbk error ∗∗∗ not
supported physical input format 'xxx'"
#include "mph.h" phfig_list ∗get_the_phfig(figname, mode) char ∗figname; char mode; { phfig_list ∗pt; for (pt = HEAD_PHFIG; pt; pt = pt->NEXT) /∗ scan figure list ∗/ if (!strcmp(pt->NAME, figname)) break; if (!pt) { /∗ figure doesn't exist ∗/ pt = addphfig(figname); pt->MODE = mode == 'A' ? mode : 'P'; loadphfig(pt, figname, pt->MODE); return pt; } if (ptfig->MODE != 'A') { /∗ figure exists interface only ∗/ if (mode == 'A') { pt->MODE = 'A'; loadphfig(pt, figname, 'C'); return pt; } else return pt; } else /∗ figure exists interface and body ∗/ return pt; }
mbk(1), mbkenv(3), phfig(3), addphfig(3), getphfig(3), delphfig(3), savephfig(3), flattenphfig(3), rflattenphfig(3), MBK_IN_PH(1), MBK_WORK_LIB(1), MBK_CATA_LIB(1).
See the file buster/alliance/alc_bug_report.1.en.gz.
October 1, 1997 | ASIM/LIP6 |