---
name: "phins"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/phins"
---

# phins(3)

mbk physical instance

## NAME

phins - mbk physical instance

## DESCRIPTION

The **phins** structure is used to describe a instance belonging to a symbolic layout model, see [**phfig**(3)](/phfig/3.md) 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)](/ptype/3.md) 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.

## SEE ALSO

**mbk**(1), [**addphins**(3)](/addphins/3.md), [**getphins**(3)](/getphins/3.md), [**delphins**(3)](/delphins/3.md), [**phfig**(3)](/phfig/3.md), [**ptype**(3)](/ptype/3.md).
