phins(3) mbk physical instance

DESCRIPTION

The phins structure is used to describe a instance belonging to a symbolic layout model, see phfig(3) for details.

The declarations needed to work on phins are available in the header file "/labo/include/mph402.h", where '402' is the actual mbk version.

The following C structure supports the description of the instance :


typedef struct phins {
   struct phins     *NEXT;
   char             *INSNAME;
   char             *FIGNAME;
   long             XINS,YINS;
   char             TRANSF;
   struct ptype     *USER;
} phins_list;
NEXT
Pointer to the next instance in the list.
FIGNAME
Model of the instance. This gives the name of the figure that is currently beeing instanciated. The model may not be present in memory.
NAME
Name of the instance. The instance is identified by its name, so it should be unique at a given hierarchical level.
XINS, YINS
Coordinates of the lower left corner of the instance, after possible geometrical operation.
TRANSF
Contains the geometrical operations that should be performed before placing the instance. Eight legal values are allowed :
NOSYM
no operation
SYM_X
x becomes -x
SYM_Y
y becomes -y
SYMXY
x becomes -x and y becomes -y
ROT_P
rotates 90 degrees counter clockwise
ROT_M
rotates 90 degrees clockwise
SY_RP
x becomes -x then rotates 90 degrees counter clockwise
SY_RM
x becomes -x then rotates 90 degrees clockwise
USER
Pointer to a ptype list, see ptype(3) for details, that is a general purpose pointer used to share informations on the instance.
Remark :
the phins structure does not contain any information about the size of the instance. Neither the abutment box nor the connectors are available. The model must be loaded when such information is needed.