DOKK / manpages / debian 10 / alliance / unflattenlofig.3.en
UNFLATTENLOFIG(3) MBK LOGICAL UTILITY FUNCTIONS UNFLATTENLOFIG(3)

unflattenlofig - creates a hierarchy level from instances of a figure

See the file buster/alliance/alc_origin.1.en.gz.

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

Pointer to a logical figure
Name of the new figure (model)
Instance name of the new figure
Pointer to the head of a chain_list, containing instance pointers

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 differents.

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.

#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); }

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).

See the file buster/alliance/alc_bug_report.1.en.gz.

October 1, 1997 ASIM/LIP6