---
name: "menu_userptr"
section: "3x"
platform: "linux"
package: "ncurses"
version: "6.6-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/menu_userptr/3x"
---

# menu\_userptr(3x)

associate application data with a menu item

## NAME

**set\_menu\_userptr**, **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).**

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