# menu_new 3x 2024-12-28 ncurses 6.5 Library calls

    menu_new(3x)                     Library calls                    menu_new(3x)

## NAME

           new_menu, free_menu - create and destroy menus

## SYNOPSIS

           #include <menu.h>

           MENU *new_menu(ITEM **items);
           int free_menu(MENU *menu);

## DESCRIPTION

           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.

## RETURN VALUE

           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.

## PORTABILITY

           These routines emulate the  System  V  menu  library.   They  were  not
           supported on Version 7 or BSD versions.

## AUTHORS

           Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
           Raymond.

## SEE ALSO

           curses(3x), menu(3x)

    ncurses 6.5                       2024-12-28                      menu_new(3x)