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-terminated).
       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(3)).
       E_BAD_ARGUMENT
            Routine detected an incorrect or out-of-range argument.
       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 sup-
       ported on Version 7 or BSD versions.
       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
       Raymond.
                                                                  menu_new(3x)