https://invisible-island.net/ncurses/man/
form_userptr(3x) Library calls form_userptr(3x)
set_form_userptr, form_userptr - associate application data with a form item
#include <form.h> int set_form_userptr(FORM *form, void *userptr); void* form_userptr(const FORM *form);
Every form and every form item has a field that can be used to hold application-specific data (that is, the form-driver code leaves it alone). These functions get and set the form user pointer field.
The function form_userptr returns a pointer (which may be NULL). It does not set errno. The function set_form_userptr returns E_OK (success).
These routines emulate the System V forms 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), form(3x) ncurses 6.5 2024-03-16 form_userptr(3x)