---
name: "form_post"
section: "3x"
platform: "macos"
package: "ncurses"
version: "79"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/form_post/3x"
---

# form\_post(3x)

write or erase forms from associated subwindows

## NAME

**form\_post** - write or erase forms from associated subwindows

## SYNOPSIS

**#include \<form.h\>**\
 int post\_form(FORM \*form);\
 int unpost\_form(FORM \*form);\

## DESCRIPTION

The function **post\_form** displays a form to its associated subwindow.  To trigger physical display of the subwindow, use **refresh** or some equivalent **curses** routine (the implicit **doupdate** triggered by an **curses** input request will do).

The function **unpost\_form** erases form from its associated subwindow.

## RETURN VALUE

These routines return one of the following:

- **E\_OK**

  The routine succeeded.

- **E\_BAD\_ARGUMENT**

  Routine detected an incorrect or out-of-range argument.

- **E\_BAD\_STATE**

  Routine was called from an initialization or termination function.

- **E\_NOT\_POSTED**

  The form has not been posted.

- **E\_NOT\_CONNECTED**

  No items are connected to the form.

- **E\_NO\_ROOM**

  Form is too large for its window.

- **E\_POSTED**

  The form has already been posted.

- **E\_SYSTEM\_ERROR**

  System error occurred (see **errno**).

## SEE ALSO

**curses**(3X), **form**(3X).

## NOTES

The header file **\<form.h\>** automatically includes the header file **\<curses.h\>**.

## PORTABILITY

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

## AUTHORS

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