NAME¶
addptype - create a
ptype and add it to a
ptype_list
ORIGIN¶
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at
LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,
France.
Web :
http://asim.lip6.fr/recherche/alliance/
E-mail :
alliance-users@asim.lip6.fr
SYNOPSYS¶
#include "mut.h"
ptype_list ∗addptype(pthead,type,ptdata)
ptype_list ∗pthead;
void ∗ptdata;
long type;
PARAMETERS¶
- pthead
- Pointer to a ptype list
- type
- Flag indicating the pointer owner
- ptdata
- Generic pointer to any kind of information
DESCRIPTION¶
addptype creates a new
ptype element and adds it to the front of
the list pointed to by
pthead, and becomes itself the list head.
The
ptype_lists are mosty used to create lists of homogeneous elements in
mbk, but also for trees, graphs, and so on.
The
type argument indicates the pointer type, at the C type meaning, for
its owner.
The
types allow to access the pointers with adequat cast, and for example
to share informations in the
USER fields of mbk structures.
The
ptdata points to any kind of list or may itself be a value, if proper
cast is performed at compilation time, and fills the
DATA field of the
ptype structure. For details on the structure, see
ptype(3).
RETURN VALUE¶
addptype returns a pointer to the new head of list.
EXAMPLE¶
#include "mut.h"
#include "mph.h"
void corner(ptfig, name)
phfig_list ∗ptfig;
char ∗name;
{
phins_list ∗i = getphins(ptfig, name);
num_list ∗ptnum;
phfig_list ∗model;
model = getphfig(i->FIGNAME);
ptnum = addnum((num_list ∗)NULL, model->X2 - model->X1);
ptnum = addnum(ptnum, model->Y2 - model->Y1);
i->USER = addptype(i->USER, (long)PLACEABOX, (void ∗)ptnum);
}
SEE ALSO¶
mbk(1),
ptype(3),
freeptype(3),
getptype(3),
delptype(3).
BUG REPORT¶
This tool is under development at the
ASIM department of the
LIP6
laboratory.
We need your feedback to improve documentation and tools.