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

# menu\_userptr(3menu)

associate application data with a menu item

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

**ncurses(3NCURSES),** **menu(3MENU)**
