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

SYNOPSIS
       #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,	chosen
       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)

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

home | help