menu_new(3x)                                               menu_new(3x)
       new_menu, free_menu - create and destroy menus
       #include <menu.h>
       MENU *new_menu(ITEM **items);
       int free_menu(MENU *menu);
       The  function  new_menu  creates a new menu connected to a
       specified item pointer array (which  must  be  NULL-termi-
       nated).
       The  function  free_menu  disconnects  menu  from its item
       array and frees the storage allocated for the menu.
       The function new_menu returns  NULL  on  error.   It  sets
       errno according to the function's failure:
       E_NOT_CONNECTED
            No items are connected to the menu.
       E_SYSTEM_ERROR
            System error occurred, e.g., malloc failure.
       The function free_menu returns one of the following:
       E_OK The routine succeeded.
       E_SYSTEM_ERROR
            System error occurred (see errno).
       E_BAD_ARGUMENT
            Routine  detected  an incorrect or out-of-range argu-
            ment.
       E_POSTED
            The menu has already been posted.
       curses(3x), menu(3x).
       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.
       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
       curses by Eric S. Raymond.
                                                           menu_new(3x)