bionic (3) addptype.3.gz

Provided by: alliance_5.1.1-1.1build1_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).