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

FreeBSD Manual Pages

  
 
  

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

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 de-
       scribed 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	physi-
	      cal format.
       "*** mbk	error *** pfloadphfig :	could not open file figname"
	      No  file called figname.ext, where ext is	the file format	exten-
	      sion, has	been found in the directories set by the environment.
       "*** mbk	error *** pfloadphfig :	 syntax	 error	line  x	 parsing  fig-
       name.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).

ASIM/LIP6			October	1, 1997			  LOADPHFIG(3)

NAME | SYNOPSYS | PARAMETERS | DESCRIPTION | ERRORS | EXAMPLE | SEE ALSO

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

home | help