form\_hook(3X) Library calls form\_hook(3X)

# [NAME](#NAME)

**form\_hook** - set hooks for automatic invocation by applications

# [SYNOPSIS](#SYNOPSIS)

```
#include <form.h>
```

```
int set_field_init(FORM *form, Form_Hook func);
Form_Hook field_init(const FORM *form);
```

```
int set_field_term(FORM *form, Form_Hook func);
Form_Hook field_term(const FORM *form);
```

```
int set_form_init(FORM *form, Form_Hook func);
Form_Hook form_init(const FORM *form);
```

```
int set_form_term(FORM *form, Form_Hook func);
Form_Hook form_term(const FORM *form);
```

# [DESCRIPTION](#DESCRIPTION)

These functions make it possible to set hook functions to be called at various points in the automatic processing of input event codes by **form\_driver**.

## [set\_field\_init](#set_field_init)

sets a hook to be called at form-post time and each time the selected field changes (after the change).

## [field\_init](#field_init)

returns the current field init hook, if any (*NULL* if there is no such hook).

## [set\_field\_term](#set_field_term)

sets a hook to be called at form-unpost time and each time the selected field changes (before the change).

## [field\_term](#field_term)

returns the current field term hook, if any (*NULL* if there is no such hook).

## [set\_form\_init](#set_form_init)

sets a hook to be called at form-post time and just after a page change once it is posted.

## [form\_init](#form_init)

returns the current form init hook, if any (*NULL* if there is no such hook).

## [set\_form\_term](#set_form_term)

sets a hook to be called at form-unpost time and just before a page change once it is posted.

## [form\_term](#form_term)

returns the current form term hook, if any (*NULL* if there is no such hook).

# [RETURN VALUE](#RETURN_VALUE)

Routines that return pointers return *NULL* on error. Other routines return one of the following:

[**E\_OK**](#E_OK)

The routine succeeded.

[**E\_SYSTEM\_ERROR**](#E_SYSTEM_ERROR)

System error occurred (see [**errno**(3)](/man/os/ncurses/errno.3)).

# [PORTABILITY](#PORTABILITY)

These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions.

# [AUTHORS](#AUTHORS)

Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond.

# [SEE ALSO](#SEE_ALSO)

[**curses**(3X)](/man/os/ncurses/curses.3X), [**form**(3X)](/man/os/ncurses/form.3X)

2024-12-28 ncurses 6.6

---

Document: form_init(3x) from ncurses 6.6.20261010-r0 (Chainguard OS)
Source: https://github.com/ThomasDickey/ncurses-snapshots
