---
name: "mitem_userptr"
section: "3menu"
platform: "linux"
package: "ncurses-doc"
version: "5.9+20140913-1+deb8u3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/menu_userptr/3menu"
---

# mitem\_userptr(3menu)

associate application data with a menu item

Part of [menu\_userptr(3menu)](/menu_userptr/3menu.md).

## NAME

**mitem\_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).

## SEE ALSO

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

## NOTES

The header file **\<menu.h\>** automatically includes the header file **\<curses.h\>**.

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