MENU_WIN(3) | Library Functions Manual | MENU_WIN(3)

# NAME

`menu_sub`, `menu_win`, `scale_menu`, `set_menu_sub`, `set_menu_win` —
sub-menu handling

# LIBRARY

Curses Menu Library (libmenu, -lmenu)

# SYNOPSIS

`#include <menu.h>`

WINDOW *
`menu_sub`(MENU *menu);

WINDOW *
`menu_win`(MENU *menu);

int
`scale_menu`(MENU *menu, int *rows, int *cols);

int
`set_menu_sub`(MENU *menu, WINDOW *sub);

int
`set_menu_win`(MENU *menu, WINDOW *win);

# DESCRIPTION

The `menu_sub`() function returns a pointer to the window that will be used to post a menu into, this pointer is set by the `set_menu_sub`() function. The `menu_win`() function returns a pointer to the window in which the menu subwindow will be created when the menu is posted, this pointer is set by the `set_menu_win`() function. The `scale_menu`() function calculates the minimum size a window needs to be to hold the items for a given menu, the parameters rows and cols are set to the required number of rows and columns respectively.

# RETURN VALUES

The functions return one of the following error values:

`E_OK`
  The function was successful.
`E_SYSTEM_ERROR`
  There was a system error during the call.
`E_BAD_ARGUMENT`
  One or more of the arguments passed to the function was incorrect.
`E_POSTED`
  The menu is already posted.
`E_CONNECTED`
  An item was already connected to a menu.
`E_BAD_STATE`
  The function was called from within an initialization or termination routine.
`E_NO_ROOM`
  The menu does not fit within the subwindow.
`E_NOT_POSTED`
  The menu is not posted
`E_UNKNOWN_COMMAND`
  The menu driver does not recognize the request passed to it.
`E_NO_MATCH`
  The character search failed to find a match.
`E_NOT_SELECTABLE`
  The item could not be selected.
`E_NOT_CONNECTED`
  The item is not connected to a menu.
`E_REQUEST_DENIED`
  The menu driver could not process the request.

# SEE ALSO

curses(3), menus(3)

# NOTES

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

September 10, 1999 | NetBSD 9.2