ADDPTYPE(3) | MBK UTILITY FUNCTIONS | ADDPTYPE(3) |
addptype - create a ptype and add it to a ptype_list
See the file buster/alliance/alc_origin.1.en.gz.
#include "mut.h" ptype_list ∗addptype(pthead,type,ptdata) ptype_list ∗pthead; void ∗ptdata; long type;
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).
addptype returns a pointer to the new head of list.
#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); }
mbk(1), ptype(3), freeptype(3), getptype(3), delptype(3).
See the file buster/alliance/alc_bug_report.1.en.gz.
October 1, 1997 | ASIM/LIP6 |