addptype

ADDPTYPE(3)                  MBK UTILITY FUNCTIONS                 ADDPTYPE(3)



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.






ASIM/LIP6                       October 1, 1997                    ADDPTYPE(3)