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

FreeBSD Manual Pages

  
 
  

home | help
ADDLOSIG(3)		     MBK LOGICAL FUNCTIONS		   ADDLOSIG(3)

NAME
       addlosig	- create a logical signal

SYNOPSYS
       #include	"mlo.h"
       losig_list *addlosig(ptfig, index, namechain, type)
       lofig_list *ptfig;
       long index;
       chain_list *namechain;
       char type;

PARAMETERS
       ptfig		   Pointer to the figure in which the signal should be
			   added

       index		   Signal index

       namechain	   List	of names of the	signal

       type		   Signal type

DESCRIPTION
       addlosig	creates	a new signal, and adds	it  to	the  list  of  signals
       pointed	to  by	ptfig-_LOSIG.  The new signal is added in front	of the
       list, and becomes itself	the list head.
       The type	parameter can take two values :

	      EXTERNAL		  The signal is	attached to at least one  con-
				  nector of the	figure.

	      INTERNAL		  The  signal  is only attached	to instance or
				  transistor connector.
       The index and type arguments fill the INDEX  and	 TYPE  fields  of  the
       losig(3)	structure. The index is	the signal identifier, so it should be
       unique at a given hierarchical level.
       The namechain argument is a list	of names, given	in a chain_list.   See
       chain(3)	for details.

RETURN VALUE
       addlosig	returns	a pointer to the newly created signal.

ERRORS
       "***  mbk  error	 *** addlosig impossible signal	index already exist in
       figure ptfig-_NAME"
	      The index	is already used	in an other signal, and	since it's the
	      signal identifier, it can't be.

EXAMPLE
       #include	"mlo.h"
       losig_list *merge_and_create(pt,	s0, s1)	/* merge two signal in a third */
       lofig_list *pt;
       losig_list *s0, *s1;
       {
       chain_list *c;
       losig_list *s;
       long max_index;
	  /* merge names */
	  for (c = s0->NAMECHAIN; c; c = c->NEXT)
	     s1->NAMECHAIN = addchain(s1->NAMECHAIN, c);
	  /* find maximum index	*/
	  for (s = pt->LOSIG; s; s = s->NEXT)
	     if	(max_index < s->INDEX)
		max_index = s->INDEX;
	  s = addlosig(pt, ++max_index,	s1->NAMECHAIN,
		s0->TYPE == EXTERNAL ||	s1->TYPE == EXTERNAL ?
		EXTERNAL : INTERNAL);
	  dellosig(pt, s0);
	  dellosig(pt, s1);
	  return s;
       }

SEE ALSO
       mbk(1), lofig(3), losig(3), getlosig(3),	dellosig(3).

ASIM/LIP6			October	1, 1997			   ADDLOSIG(3)

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

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

home | help