https://invisible-island.net/ncurses/man/
menu_userptr(3x) Library calls menu_userptr(3x)
set_menu_userptr, menu_userptr - associate application data with a menu item
#include <menu.h> int set_menu_userptr(MENU *menu, void *userptr); void *menu_userptr(const MENU *menu);
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.
menu_userptr returns a pointer (which may be NULL). It does not set errno. set_menu_userptr 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 menu_userptr(3x)