VMS / OpenVMS FMS (FDV$) API's for x86 Linux and Windows


VX/FMS is an implementation of DEC's VMS / OpenVMS Forms Management System for Linux/Windows. VX/FMS provides identical form management on Linux and Windows as the original FMS on VMS / OpenVMS. VX/FMS is a library of FDV$ API's which take identical arguments compared to FMS on VMS / OpenVMS.

Learn More

INTRODUCTION

VX/FMS supplies all features of the original VMS / OpenVMS system. Supported features include, but are not limited to: Scrolled areas Named data Overlapping forms Double-wide, double-high characters 132-character mode Help forms UAR-routines VX/FMS supports all VT-terminals (VT100 or higher) and DECwindow’s DECterm. VX/FMS is a fully functional implementation of VMS / OpenVMS FMS and can be run as a stand-alone product. For programs that take full advantage of VMS, VX/FMS is designed to be fully integrated with VX/RT — Sector7’s VMS run-time support libraries for Linux/Windows.

FEATURES

Forms developed with FMS were intended to run only on VAX computers with the VMS operating system. The complexity of FMS, together with VMS / OpenVMS / VMS, specific run-time dependencies and platform-specific programming language interface constructions, effectively prohibited (until now) the porting of FM-created forms. VX/FMS includes a complete set of language interface utilities, which facilitate the changes necessary to complete the linking process. VX/FMS interface utilities are available for the following programming environments: Fortran (several dialects) VMS / OpenVMS C and Standard C COBOL (several dialects) VX/BASIC (VAX BASIC) B-Tran/B2 (PDP-11 BASIC) Utility procedures provide system-independent routines that complete (as required) include statement changes, integration of VMS / OpenVMS-descriptors, call name changes and argument list completion.

FUNCTIONALITY

Forms using VX/FMS allow the programmer to use the following features of DEC's VT family: Individual character attributes (reverse video, bold, blinking, underline) Line attributes (double-width, double-height, scrolled) Screen-width attributes (80 and 132 column lines, reverse video) Alternative character sets (also vt100 special graphics characters sets for line drawing) The ASCII-form description (FLG-files) are translated by the VX/FMS compiler into an internal format binary file. These binary files are used to display forms and validate user input at run-time. It is not necessary to modify the application program after modifying of the form description. VX/FMS applications are using the run-time system to display forms and their associated data fields and to control the I/O stream. The entire terminal I/O is passed through ASCII strings.

FORM DRIVER

The Form Driver is the run-time component of VX/FMS. The Form Driver's subroutine set provides tools for terminal input and output, display of forms, manipulation of the screen, basic input validation and formatting, calling UARs and responding to the terminal operators, requests for help. Input and output can be specified one field at a time or on a whole-form basis. VX/FMS does not use curses, termcap or terminfo. All terminal drivers are C-based routines that have been built into the VX/FMS system to provide efficient portability. VX/FMS can not define any terminal capabilities by external file. VX/FMS supports VT100 and upward compatible VTxxx terminals. DECterm under DECwindows on Digital workstations is also supported. Support for non-VTxxx terminals is provided on an as-needed basis. VX/FMS uses ANSI-capabilities connected with a console terminal for Linux environments, and HFT-commands for other RISC-based systems. Some restrictions may apply.


USER ACTION ROUTINES (UAR's)

User Action Routines (UARs) are procedures written by the user in any DEC-supported programming language. UARs are associated with forms and fields during the creation of form data structures and are automatically called by the Form Driver under the following conditions: When processing for a field is finished Before and after processing the terminal operator's help request When the terminal operator presses a function key When a screen refresh operation is requested The Form Driver transfers program control to the UAR under the circumstances defined. The UAR has a parameter string of 80 characters (defined as part of the form) to get processing information and the current Form Driver context.

FMS FORMS COMPILER

The FMS mask description language is a free-form, keyword-oriented, declarative language that provides the means to create and modify source from description with a text editor or FMS/Edit (VMS). The VX/FMS compiler translates this text file into a binary file, which is used at run-time. VX/FMS Vector is used to generate an object module containing a vector table of addresses that point to the UARs linked with the application program.

FMS FDV$ API's

FDV$ADLVA
FDV$AFVA
FDV$ATERM
FDV$AWKSP
FDV$BELL
FDV$CANCL
FDV$CDISP
FDV$CLEAR
FDV$CLEAR_VA
FDV$DEL
FDV$DFKBD
FDV$DISP
FDV$DISPW
FDV$DTERM
FDV$FCHAN
FDV$FIX_SCREEN
FDV$GETAF
FDV$GETAL
FDV$GETDL
FDV$GETSC

FMS FDV$ API's CONT...

FDV$ILTRM
FDV$LCHAN
FDV$LOAD
FDV$LOPEN
FDV$NDISP
FDV$PFT
FDV$PUTAL
FDV$PUTD
FDV$PUTDA
FDV$PUTL
FDV$RETAL
FDV$RETCX
FDV$RETDN
FDV$RETFL
FDV$RETFN
FDV$RETFO
FDV$RETLE
FDV$RFRSH

FMS FDV$ API's CONT ...

FDV$SCR_LENGTH
FDV$SCR_WIDTH
FDV$SIGOP
FDV$SPADA
FDV$SPOFF
FDV$SPON
FDV$SSIGQ
FDV$SSRV
FDV$STAT
FDV$STERM
FDV$STIME
FDV$SWKSP
FDV$TCHAN