---
name: "mitem_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/item_userptr"
---

# mitem\_userptr(3)

associate application data with a menu item

Part of [item\_userptr(3)](/item_userptr/3.md).

## NAME

**set\_item\_userptr**, **item\_userptr** - associate application data with a menu item

## SYNOPSIS

```
#include <menu.h>
```

**int set\_item\_userptr(ITEM \****item***, void \****userptr***);** **void \*item\_userptr(const ITEM \****item***);**

## DESCRIPTION

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

## RETURN VALUE

**The function item\_userptr returns a pointer (possibly** *NULL*). **It does not set errno.**

**The set\_item\_userptr always returns E\_OK (success).**

## PORTABILITY

**These routines emulate the System V menu 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),** **menu(3X)**
