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

FreeBSD Manual Pages

  
 
  

home | help
LOADLOFIG(3)		 MBK LOGICAL UTILITY FUNCTIONS		  LOADLOFIG(3)

NAME
       loadlofig - load	a new logical cell model from disk

SYNOPSYS
       #include	"mlo.h"
       void loadlofig(ptfig, figname, mode)
       lofig_list *ptfig;
       char *figname;
       char mode;

PARAMETERS
       ptfig		   Pointer to an allocated but empty lofig

       figname		   Name	of the figure to be loaded

       mode		   Loading mode

DESCRIPTION
       loadlofig  fills	 the  lofig 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 and extrernal
       signals are loaded in memory, or	'C', that loads	the "complement" of an
       already	partially  loaded  cell	in order to keep the same pointer when
       accessing the same file.
       The loadlofig(3)	function in fact performs a call to a parser,  choosen
       by  the MBK_IN_LO(1) environment	variable. The directories searched for
       the file	are first the one sets by MBK_WORK_LIB(1) and then, in the de-
       scribed	order,	the  ones  set	by MBK_CATA_LIB(1).  See MBK_IN_LO(1),
       MBK_WORK_LIB(1),	MBK_CATA_LIB(1)	and mbkenv(3) for details.

ERRORS
       Some errors resulting from a call to loadlofig are due to the  parsers,
       and are prefixed	by the parser format (pf).
       "*** mbk	error *** not supported	logical	input format 'xxx'"
	      The environment variable MBK_IN_LO is not	set to a legal logical
	      format.
       "*** mbk	error *** pfloadlofig :	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	 ***  pfloadlofig  :  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	"mlo.h"
       lofig_list *get_the_lofig(figname, mode)
       char *figname;
       char mode;
       {
       lofig_list *pt;
	  for (pt = HEAD_LOFIG;	pt; pt = pt->NEXT) /* scan figure list */
	     if	(!strcmp(pt->NAME, figname))
		break;
	  if (!pt) { /*	figure doesn't exist */
	     pt	= addlofig(figname);
	     pt->MODE =	mode ==	'A' ? mode : 'P';
	     loadlofig(pt, figname, pt->MODE);
	     return pt;
	  }
	  if (ptfig->MODE != 'A') { /* figure exists interface only */
	     if	(mode == 'A') {
		pt->MODE = 'A';
		loadlofig(pt, figname, 'C');
		return pt;
	     } else
		return pt;
	  } else /* figure exists interface and	body */
	     return pt;
       }

SEE ALSO
       mbk(1),	mbkenv(3),  lofig(3),  addlofig(3),  getlofig(3), dellofig(3),
       savelofig(3),	flattenlofig(3),    rflattenlofig(3),	 MBK_IN_LO(1),
       MBK_WORK_LIB(1),	MBK_CATA_LIB(1).

ASIM/LIP6			October	1, 1997			  LOADLOFIG(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=loadlofig&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help