mitem\_userptr(3X) Library calls mitem\_userptr(3X)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

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

```
int set_item_userptr(ITEM *item, void *userptr);
void *item_userptr(const ITEM *item);
```

# [DESCRIPTION](#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](#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](#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](#AUTHORS)

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

# [SEE ALSO](#SEE_ALSO)

[**curses**(3X)](/man/os/ncurses/curses.3X), [**menu**(3X)](/man/os/ncurses/menu.3X)

2024-12-28 ncurses 6.6

---

Document: set_item_userptr(3x) from ncurses 6.6.20260926-r0 (Chainguard OS)
Source: https://github.com/ThomasDickey/ncurses-snapshots
