bionic (3) loadphfig.3.gz

Provided by: alliance_5.1.1-1.1build1_amd64 bug

NAME

       loadphfig - load a new physical cell model from disk

SYNOPSYS

       #include "mph.h"
       void loadphfig(ptfig, figname, mode)
       phfig_list ∗ptfig;
       char ∗figname;
       char mode;

PARAMETERS

       ptfig               Pointer to an allocated but empty phfig

       figname             Name of the figure to be loaded

       mode                Loading mode

DESCRIPTION

       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.

ERRORS

       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'"
              The environment variable MBK_IN_PH is not set to a legal physical format.
       "∗∗∗ mbk error ∗∗∗ pfloadphfig : could not open file figname"
              No  file  called  figname.ext,  where  ext  is  the  file  format extension, has been found in the
              directories set by the environment.
       "∗∗∗ mbk error ∗∗∗ pfloadphfig : syntax error line x parsing figname.ext"
              Either the file has been corrupted and its syntax is not legal, or there is a  bug  in  the  given
              parser.

EXAMPLE

       #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;
       }

SEE ALSO

       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).