mitem_userptr.3x man page
set_item_userptr, item_userptr — associate application data with a menu item
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).
The header file <menu.h> automatically includes the header file <curses.h>.
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.