---
name: "menu_userptr"
section: "3x"
platform: "macos"
package: "ncurses"
version: "79"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/menu_userptr/3x"
---

# menu\_userptr(3x)

associate application data with a menu item

## NAME

**menu\_userptr** - associate application data with a menu item

## SYNOPSIS

**#include \<menu.h\>**\
 int set\_menu\_userptr(MENU \*menu, void \*userptr);\
 void \*menu\_userptr(const MENU \*menu);\

## DESCRIPTION

Every menu and 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 the menu user pointer field.

## RETURN VALUE

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

**set\_menu\_userptr** returns **E\_OK** (success).

## SEE ALSO

**curses**(3X), **menu**(3X).

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