Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
LOADPHFIG(3)		 MBK PHYSICAL UTILITY FUNCTIONS 	    LOADPHFIG(3)

NAME
     loadphfig - load a new physical cell model from disk

SYNOPSIS
     #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, chosen  by  the
     MBK_IN_PH(1)  environment	variable.  The directories searched 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), saveph-
     fig(3), flattenphfig(3), rflattenphfig(3),  MBK_IN_PH(1),	MBK_WORK_LIB(1),
     MBK_CATA_LIB(1).

ASIM/LIP6			 October 1, 1997		    LOADPHFIG(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=loadphfig&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help