https://invisible-island.net/ncurses/man/
mitem_userptr(3x) Library calls mitem_userptr(3x)
set_item_userptr, item_userptr - associate application data with a menu item
#include <menu.h> int set_item_userptr(ITEM *item, void *userptr); void *item_userptr(const ITEM *item);
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.
The function item_userptr returns a pointer (possibly NULL). It does not set errno. The set_item_userptr always returns E_OK (success).
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.
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond.
curses(3x), menu(3x) ncurses 6.5 2024-03-16 mitem_userptr(3x)