---
name: "form_userptr"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/form_userptr"
---

# form\_userptr(3)

associate application data with a form item

## NAME

**set\_form\_userptr**, **form\_userptr** - associate application data with a form item

## SYNOPSIS

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

**int set\_form\_userptr(FORM \****form***, void \****userptr***);** **void\* form\_userptr(const FORM \****form***);**

## DESCRIPTION

**Every form and every form item has a field that can be used to hold** **application-specific data (that is, the form-driver code leaves it alone).** **These functions get and set the form user pointer field.**

## RETURN VALUE

**The function form\_userptr returns a pointer (which may be** *NULL*). **It does not set errno.**

**The function set\_form\_userptr returns E\_OK (success).**

## PORTABILITY

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

**The user pointer is a void pointer.** **We chose not to leave it as a char pointer for SVr4 compatibility.**

## AUTHORS

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

## SEE ALSO

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