addphvia(3) create a physical via

SYNOPSYS

#include "mph.h"
phvia_list *addphvia(ptfig, viatype, x, y)
phfig_list *ptfig;
char viatype;
long x, y;

PARAMETERS

ptfig
Pointer to the figure in which the via should be added
viatype
Contact type
x, y
Coordinates of the center of the via.

DESCRIPTION

addphvia creates a new via whose center is at the given coordinates, and adds it to the list of vias pointed to by ptfig->PHVIA. The new via is added in front of the list, and becomes itself the list head.
The parameters viatype, x and y fill respectivly the TYPE, XVIA and YVIA fields of the phvia structure.
For a list of valid viatypes, and details on the structure, see phvia(3).

RETURN VALUE

addphvia returns a pointer to the newly created via.

ERRORS

"*** mbk error *** illegal addphvia viatype : viatype at x, y"
The via type is not a predefined contact. For a list of legal via types, see phvia(3).

EXAMPLE

#include "mph.h"
phvia_list *via_dup(pfd, pfs) /* duplicate vias */
phfig_list *pfd, *pfs;
{
phvia_list *pv;
   for (pv = pfs->phvia; pv != NULL; pv = pv->NEXT)
      addphvia(pfd, pv->TYPE, ps->XVIA, ps->YVIA);
   return pfd->PHVIA;
}