MENU_NEW(3) | Library Functions Manual | MENU_NEW(3)

# NAME

`free_menu`, `new_menu` —
create or delete a menu

# LIBRARY

Curses Menu Library (libmenu, -lmenu)

# SYNOPSIS

`#include <menu.h>`

int
`free_menu`(MENU *menu);

MENU *
`new_menu`(ITEM **items);

# DESCRIPTION

The `free_menu`() menu function destroys the given menu and frees all allocated storage associated with the menu. All items associated with the menu are detached from the menu before it is destroyed. The `new_menu`() function allocates storage for a new menu and initializes all the values to the defined defaults. If the items pointer passed is not a NULL then the given NULL terminated array of items is attached to the new menu.

# RETURN VALUES

The `new_menu`() function returns NULL on error, while the `free_menu`() function returns one of the following error values:

`E_OK`
  The function was successful.
`E_BAD_ARGUMENT`
  One or more of the arguments passed to the function was incorrect.
`E_POSTED`
  The menu is already posted.

# SEE ALSO

curses(3), menus(3)

# NOTES

The header <menu.h> automatically includes both <curses.h> and <eti.h>.

September 10, 1999 | NetBSD 9.5