All action functions are passed the current menu form pointer. From this menu form pointer, you can access data about the status of the menu form and the menu fields. The functions to access menu form and field information are discussed in detail in Chapter 34, "Getting and Updating Data in the Form."
Especially useful is the user pointer in the menu form and field structure. This pointer can point to a variable or structure that contains information to be used by the action function.
One common use of the menu field user pointer is to have it point to the action function associated with the menu field. Then all menu action functions specified in the mnf_def() call would do the same thing: access the user pointer and invoke the function pointed to. In this way, you can change the action functions associated with a menu field during run-time.