.ps 60,80 .lm 5 .rm 75 .ap [VAX86x.FERMILAB]AAAREADME.TXT .blank 2 .c;Fermilab Submissions .blank 2 .c;submitted by: .blank 2.no period .c;Dr. Frank J. Nagy .c;Fermi National Accelerator Laboratory .c;Research Division EED/Controls .c;P. O. Box 500 MS/220, Batavia, IL. 60510 .c;(312)-840-4935 .blank 2.period.p This directory tree is a submission from the Fermi National Accelerator Laboratory. The programs and command procedures in this directory tree are general utilities and system management utilities either written at Fermilab or acquired from DECUS (via a SIG tape or from the library) and modified. In many cases the software can be used at other sites without modification; some of the utility procedures and build files are included as starting points from which sites can produce their custom versions. Some of the next-level subdirectories include a README.1ST file which provides additional details; this file provides an overview of the entire submission. In other cases, additional information can be found in the help module (.HLP file) included with the submission. .b.p The .EXE files in this submission were made under VMS V4.4 and will not run under an earlier version of VMS. Some of the command procedures will also not run under earlier versions of VMS. Most of the programs submitted contains MMS description files (DESCRIP.MMS) and use VAX MMS to build the programs. The DESCRIP.MMS files are included; lacking MMS will require that these description files be used to manually build the (simple) command procedures needed to compile and link the programs. .b.p The top level directory contains the VAXCRTL.OPT and VAXCRTLG.OPT files which are referenced in the build procedures for several of the programs. These are normally stored in SYS$LIBRARY at Fermilab and are Linker options to link the program with the VAXCRTL[G].EXE shareable library image. The top level directory also contains the text libraries LCLCDEF.TLB and LCLFORDEF.TLB. Normally these are stored under the logical name FERMI$LIB at Fermilab. In particular, the LCLCDEF library is implicitly referenced by the VAX C compiler by having defined the C$LIBRARY logical name and then just specifying a module name on the _#include line. Some of the modules in LCLCDEF.TLB can be found in the [.VAXCMORE] subdirectory. Finally, the [.VAXCDEF] subdirectory contains new and modified modules for the VAXCDEF.TLB text library; some of the programs in this submission depend upon these new or changed modules. .blank 2 .b2.tp5;[.EDTX] .b.p This subdirectory contains the latest version of EDT-eXtended. The most-used extensions provided in EDTX are the ability to spawn or attach to a subprocess and the capability to examine the system help libraries from within an edit session. Information on using EDTX can be found in the EDTX.HLP file. Also included with the submission are several initializer files (.EDT) as examples. .b2.tp5;[.EXTRACTOR] .b.p This area contains a program to extract comments from a source file into a file for use as a help module or documentation processed by either RUNOFF or TeX. .b2.tp5;[.FERMILIB...] .b.p This subdirectory tree contains a complete resubmission of the FERMI$LIB libraries: FERMILIB.OLB, FERMICLIB.OLB and FERMILIB.MLB. Several new routines have been added. Of particular interest are the LIB_CRELNM and LIB_TRNLNM routines to provide simplified interfaces to the $CRELNM and $TRNLNM system services. The library files (including the .TLB text libraries) normally live under the FERMI$LIB logical name at Fermilab. Also included are the extract help modules (.HLP files) with descriptions of the routines and macros. .b2.tp5;[.GETUAI] .b.p This area contains a program to be used as a substitute for an F$GETUAI lexical function by using the $GETUAI system service to extract information from a record in the User Authorization File and return the information in DCL symbols. See the GETUAI.HLP file for more information. .b.p Since the $GETUAI system service is used; this program can be used by non-privileged accounts to access UAF information on their own account. Thus GETUAI can be used in the system-wide login procedure without having to install it with SYSPRV. Users with GRPPRV can access the UAF information of any user account in their group; users with SYSPRV can access the UAF information for any account on the system. .b2.tp5;[.MAKEINCS] .b.p This subdirectory contains several command procedures for processing the BLISS .REQ files included in the VMS distribution in SYS$LIBRARY into prototype formats for include files for VAX FORTRAN and VAX C. .b2.tp5;[.PROCEDURES] .b.p This area contains several general utility command procedures. .b2.tp5;[.TABS] .b.p This subdirectory contains four programs for adding or removing tabs from text files. Two of the programs are specialized for the VAX and PDP-11 FORTRAN tabbing rules. See the TABS.HLP file for information on using these programs and particulars on the implied tabbing rules. .b2.tp5;[.TRMPRINT] .b.p This area contains a modification to a program from the xxxx VAX SIG tape for printing on a printer connected to the terminal port. This program was modified to build the DCL command table into the executable image to allow the command to be (quickly) defined as foreign DCL command but still use the DCL command syntax. See TRMPRINT.HLP for more information. .b2.tp5;[.VAXCDEF] .b.p This area contains modified VAX C include files. At Fermilab these files appear as modules in VAXCDEF.TLB in SYS$LIBRARY and, in some cases, replace the library modules distributed with VAX C V2.2. These modules contain definitions missing from the VAX C V2.2 distribution library or lacking symbols and other definitions useful under VMS V4.4 (such as UAIDEF.H which defines symbols for use with the $GETUAI and $SETUAI system services under VMS V4.4). These modules were prepared from the BLISS REQUIRE files, STARLET.REQ and LIB.REQ, distributed in SYS$LIBRARY with VMS V4.4 using the procedures found in the [.MAKEINCS] subdirectory of this submission. .b2.tp5;[.VAXCMORE] .b.p This area contains more modified VAX C include files. At Fermilab these files appear as modules (module name is same as the file name) in LCLCDEF.TLB in FERMI$LIB. In some cases, these files are modifications of similarly named files in the [.VAXCDEF] subdirectory of this submission (the name here starts with a "$"). In these cases, the file is a modified version of the VAXCDEF module which uses the variant__struct and variant__union type specifiers of VAX C to result in definitions which more closely match the VMS documentation. Other modules contain system definitions not present in the the VAX C V2.2 distribution library and associated with internal or less-used features of VMS (such as $CINDEF.H contains definitions for the using the Connect-to-Interrupt driver). Some of these modules were prepared from the BLISS REQUIRE files, STARLET.REQ and LIB.REQ, distributed in SYS$LIBRARY with VMS V4.4 using the procedures found in the [.MAKEINCS] subdirectory of this submission. The remaining modules were prepared by manually editing a VAXCDEF module. .b.p The VAXTYPES.H file defines some VAX C types for the VAX, such as byte, word, uword (unsigned word), etc. It also includes several macros, such as $VMS_FAILURE( status) which is use to test for a failure status code returned by a VMS system service or library routine. The DESCRIP2.H file provides some additional macro definitions to extend the VAXCDEF DESCRIP module. .b2.tp5;[.XDFO] .b.p This area contains the XDFO program, eXtract Definitions From Object code, which reads an object file and can create a definitions files for several languages. The submission contains an include file for VAX C which defines the VAX Object Language (VAXOBJ.H). Further information can be found in the XDFO.HLP file.