Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)

menus(3X)



menu_driver(3X)  MISCELLANEOUS LIBRARY FUNCTIONS  menu_driver(3X)



NAME
     menu_driver - command processor for the menus subsystem

SYNOPSIS
     #include <menu.h>

     int menu_driver(MENU *menu, int c);

DESCRIPTION
     menu_driver is the workhorse of  the  menus  subsystem.   It
     checks  to  determine  whether  the  character  c  is a menu
     request or data.  If c is a request, the  menu  driver  exe-
     cutes  the  request and reports the result.  If c is data (a
     printable ASCII character), it enters the data into the pat-
     tern  buffer and tries to find a matching item.  If no match
     is found, the menu driver deletes  the  character  from  the
     pattern  buffer and returns E_NO_MATCH.  If the character is
     not  recognized,  the  menu  driver   assumes   it   is   an
     application-defined command and returns E_UNKNOWN_COMMAND.

     Menu driver requests:
     REQ_LEFT_ITEM     Move left to an item.
     REQ_RIGHT_ITEM    Move right to an item.
     REQ_UP_ITEM       Move up to an item.
     REQ_DOWN_ITEM     Move down to an item.

     REQ_SCR_ULINE     Scroll up a line.
     REQ_SCR_DLINE     Scroll down a line.
     REQ_SCR_DPAGE     Scroll up a page.
     REQ_SCR_UPAGE     Scroll down a page.
     REQ_FIRST_ITEM    Move to the first item.
     REQ_LAST_ITEM     Move to the last item.
     REQ_NEXT_ITEM     Move to the next item.
     REQ_PREV_ITEM     Move to the previous item.

     REQ_TOGGLE_ITEM   Select/de-select an item.
     REQ_CLEAR_PATTERN Clear the menu pattern buffer.
     REQ_BACK_PATTERN  Delete the previous character from pattern buffer.
     REQ_NEXT_MATCH    Move the next matching item.
     REQ_PREV_MATCH    Move to the previous matching item.

RETURN VALUE
     menu_driver returns one of the following:
     E_OK              - The routine returned successfully.
     E_SYSTEM_ERROR    - System error.
     E_BAD_ARGUMENT    - An incorrect argument was passed to the routine.
     E_BAD_STATE       - The routine was called from an initialization or
                         termination function.
     E_NOT_POSTED      - The menu has not been posted.






                          Last change:                          1





menu_driver(3X)  MISCELLANEOUS LIBRARY FUNCTIONS  menu_driver(3X)



     E_UNKNOWN_COMMAND - An  unknown  request  was  passed  to  the  menu
                         driver.
     E_NO_MATCH        - The character failed to match.
     E_NOT_SELECTABLE  - The item cannot be selected.
     E_REQUEST_DENIED  - The menu driver could not process the request.

NOTES
     Application defined commands should be defined  relative  to
     (greater  than)  MAX_COMMAND, the maximum value of a request
     listed above.

     The header file <menu.h> automatically includes  the  header
     files <eti.h> and <curses.h>.

SEE ALSO
     curses(3X), menus(3X).







































                          Last change:                          2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026