---
name: "post"
section: "3form"
platform: "linux"
package: "ncurses-doc"
version: "6.5+20250216-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/post/3form"
---

# post(3form)

write or erase forms from associated subwindows

## NAME

**post\_form**, **unpost\_form** - 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(3NCURSES) 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(3)](/errno/3.md)).**

## 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.**

## SEE ALSO

**ncurses(3NCURSES),** **form(3FORM)**
