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 7.2