ADDLOSIG(3) MBK LOGICAL FUNCTIONS ADDLOSIG(3) NAME addlosig - create a logical signal SYNOPSIS #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 be- comes itself the list head. The type parameter can take two values : EXTERNAL The signal is attached to at least one connector of the figure. INTERNAL The signal is only attached to instance or tran- sistor 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 | SYNOPSIS | PARAMETERS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=addlosig&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
