Provided by: alliance_5.1.1-1.1_amd64 bug

NAME

       addptype - create a ptype and add it to a ptype_list

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