Index of Section 3 Manual Pages

Interix / SUAmenus.3Interix / SUA

menus(3)                                                       menus(3)

  menu()

  NAME

    menus - curses extension for programming menus

  SYNOPSIS

    #include 

  DESCRIPTION

    The menus library provides terminal-independent facilities for composing
    menu systems on character-cell terminals. The library includes: item
    routines, which create and modify menu items; and menu routines, which
    group items into menus, display menus on the screen, and handle
    interaction with the user.

    The menus library uses the curses libraries, and a curses initialization
    routine such as initscr must be called before using any of these
    functions. To use the menus library, link with the options -lmenu -
    lcurses.

  Current Default Values for Item Attributes

    The menus library maintains a default value for item attributes. You can
    get or set this default by calling the appropriate get_ or set_ routine
    with a NULL item pointer. Changing this default with a set_ function
    affects future item creations, but does not change the rendering of items
    already created.

  Routine Name Index

    The following table lists each menu routine and the name of the manual
    page on which it is described.

    curses Routine Name     Manual Page Name

    current_item()          mitem_current

    free_item()             mitem_new

    free_menu()             menu_new

    item_count()            menu_items

    item_description()      mitem_name

    item_index()            mitem_current

    item_init()             menu_hook

    item_name()             mitem_name

    item_opts()             mitem_opts

    item_opts_off()         mitem_opts

    item_opts_on()          mitem_opts

    item_term()             menu_hook

    item_userptr()          mitem_userptr

    item_value()            mitem_value

    item_visible()          mitem_visible

    menu_back()             menu_attribs

    menu_driver()           menu_driver

    menu_fore()             menu_fore

    menu_format()           menu_format

    menu_grey()             menu_attribs

    menu_init()             menu_hook

    menu_items()            menu_items

    menu_mark()             menu_mark

    menu_opts()             menu_opts

    menu_opts_off()         menu_opts

    menu_opts_on()          menu_opts

    menu_pad()              menu_attribs

    menu_pattern()          menu_pattern

    menu_sub()              menu_win

    menu_term()             menu_hook

    menu_userptr()          menu_userptr

    menu_win()              menu_win

    new_item()              mitem_new

    new_menu()              menu_new

    pos_menu_cursor()       menu_cursor

    post_menu()             menu_post

    scale_menu()            menu_win

    set_current_item()      menu_current_item

    set_item_init()         menu_hook

    set_item_opts()         mitem_opts

    set_item_term()         menu_hook

    set_item_userptr()      mitem_userptr

    set_item_value()        mitem_value

    set_menu_back()         menu_attribs

    set_menu_fore()         menu_attribs

    set_menu_format()       menu_format

    set_menu_grey()         menu_attribs

    set_menu_init()         menu_hook

    set_menu_items()        menu_items

    set_menu_mark()         menu_mark

    set_menu_opts()         mitem_opts

    set_menu_pad()          menu_attribs

    set_menu_pattern()      menu_pattern

    set_menu_sub()          menu_win

    set_menu_term()         menu_hook

    set_menu_userptr()      menu_userptr

    set_menu_win()          menu_win

    set_top_row()           mitem_current

    top_row()               mitem_current

    unpost_menu()           menu_post

  RETURN VALUE

    Routines that return pointers return NULL on error. Routines that return
    an integer return one of the following error codes:

    E_OK
        The routine succeeded.

    E_SYSTEM_ERROR
        System error occurred (see errno).

    E_BAD_ARGUMENT
        Routine detected an incorrect or out-of-range argument.

    E_POSTED
        The menu is already posted.

    E_BAD_STATE
        Routine was called from an initialization or termination function.

    E_NO_ROOM
        Menu is too large for its window.

    E_NOT_POSTED
        The menu has not been posted.

    E_UNKNOWN_COMMAND
        The menu driver code saw an unknown request code.

    E_NO_MATCH
        Character failed to match.

    E_NOT_SELECTABLE
        The designated item cannot be selected.

    E_NOT_CONNECTED
        No items are connected to the menu.

    E_REQUEST_DENIED
        The menu driver could not process the request.

  SEE ALSO

    curses(3) and pages whose names begin menu_ for detailed descriptions of
    the entry points.

  NOTES

    The header file  automatically includes the header files
     and .

    In your library list, libmenu.a should be before libncurses.a; that is,
    you want to say -lmenu -ncurses, not the other way around (which would
    give you a link error using many linkers).

  PORTABILITY

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


Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA