This directory contains utility routines that allow you to present a standardized menu interface for applications. The same menu screen may be used from within an image OR from DCL command level. Two versions of the utility are provided, one requiring FMS support on the machine, and the second not requiring FMS. Both versions of the utility allow for a maximum of fifteen choices on the screen. Any more than this and you are overloading the user's desire to read anyway. There are four basic pieces that comprise the two versions of the utility. These are: menu.obj - Included in object module library MENU.OLB. This routine is written in fortran and can be called by a user image. The routine expects FMS to be supported on the machine. A conflict with assigned channels can appear if used by program images that also make calls to FMS. dclmenu.exe - Image to execute from DCL command level that provides the same menu interface (FMS support) as the subroutine in menu.obj. While use of this does require an image activation for the menu, performance can be enhanced by installing the image. menu1.obj - Included in object module library MENU.OLB. This routine is written in fortran and can be called by a user image. The routine requires no layered products on the machine. dclmenu1.exe - Image to execute from DCL command level that provides the same menu interface as the subroutine in menu1.obj. While use of this does require an image activation for the menu, performance can be enhanced by installing the image. Sample fortran programs that call each menu interface are included as SAMPLE-FMS.FOR and SAMPLE-NON-FMS.FOR. Sample command files are also included to demonstrate the proper use of the menus from DCL. Two other command files are included; (1) build.com to compile all modules and link, and (2) setup.com to define necessary dcl symbols. In addition to the menu utilities, one other program is included: setuser - Another in a long line of utilities to modify username, etc. This program allows the user (provided enough privileges are present) to set (1) username, (2) uic, (3) default privileges, and (4) default directory to that of another user. An opcom message is generated and sent to SECURITY operators when the program is executed. This program requires (CMKRNL .AND. SYSPRV) .OR. SETPRV. For those of you desiring extra credit assignments -- the setuser utility could be modified to be callable, combined with the menu utility, wrapped in a user written security module, installed with privileges and become a poor-man's ACMS. Comments, criticisms (caveat emptor), and expressions of undying gratitude may be expressed to: Richard Snyder The KeTech Corporation 2626 Parrish Avenue, Suite 326 Owensboro, Kentucky 42301 502-686-7280