unflattenlofig.3alc man page

unflattenlofig — creates a hierarchy level from instances of a figure

Synopsis

#include "mlo.h"
void unflattenlofig(ptfig, figname, insname, list)
lofig_list ∗ptfig;
char ∗figname;
char ∗insname;
chain_list ∗list;

Parameters

ptfig

Pointer to a logical figure

figname

Name of the new figure (model)

insname

Instance name of the new figure

list

Pointer to the head of a chain_list, containing instance pointers

Description

unflattenlofig creates a new figure, figname, containing the instances listed in list, and adds it in the figure pointed to by ptfig, with the name insname.
All the terminals of the new figure are called using the name of the corresponding signal if it exists, or with the name of a connector connected to this signal. The new name is suffixed with a number, obtained with an internal counter, in order to ensure that names are different.

Errors

No errors can directly result from a call to unflattenlofig, but since it uses many other mbk functions, it may be a good error starting point.

Example

#include "mlo.h"
{
 lofig_list *lofig;
 chain_list *list = NULL;
 lofig = getlofig ( "rootfig", 'A');
 list = addchain (list, (void *)getloins (lofig, "nan0");
 list = addchain (list, (void *)getloins (lofig, "nor2");
 unflattenlofig ( lofig, "newfig", "newins", list);
}

See Also

mbk(1), mbkenv(3), lofig(3), getlofig(3), addlofig(3), addloins(3), delloins(3), addlocon(3), addlosig(3), dellosig(3), getsigname(3), lofigchain(3), getptype(3), addptype(3), delptype(3), addchain(3), freechain(3), reverse(3).

Info

October 1, 1997 ASIM/LIP6 MBK LOGICAL UTILITY FUNCTIONS