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

# chain(3)

mbk lisp-like service structure

## NAME

chain - mbk lisp-like service structure

## DESCRIPTION

The **chain** is used for any purpose, when a list of pointer is required. The use of this structure is strongly recommanded, when such a need occurs.

The declarations needed to work on **chain** are available in the header file *"/labo/include/mut315.h"*, where '*315*' is the actual mbk version.

The following C structure supports the description of the chain :

```
typedef struct chain {
	struct chain	∗NEXT;
	void	∗DATA;
} chain_list;
```

- *NEXT*

  Pointer to the next **chain** of the list.

- *DATA*

  Generic pointer used to point to any kind of object. Do not forget to cast the pointer back to its previous type when using this field.

- Remark :

  a specialized memory allocator has been built in order to create and free **chain\_list**s, so absolutly avoid to create or free them an other way than through the access functions.

## SEE ALSO

**mbk**(1), [**addchain**(3)](/addchain/3.md), [**freechain**(3)](/freechain/3.md), [**delchain**(3)](/delchain/3.md).
