Fermilab Accelerator Control System Submissions submitted by: Dr. Frank J. Nagy Fermi National Accelerator Laboratory P. O. Box 500 Mail Stop 306, Batavia, IL. 60510 (312)-840-4935 This directory tree is a submission from the Fermilab Accelerator Division. 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 system management utilities are included as starting points from which sites can produce their custom versions. Each of the next-level subdirectories includes an AAAREADME.TXT file which provides additional details; this file provides an overview of the entire submission. This submission represents files added or changed since the Spring 1984 and Fall 1984 submissions. A complete resubmission has not been made of many of the files to help reduce the size of the SIG tape. To make full use of much of the material in this submission, you must have access to the Spring 1984 SIG tape Fermilab submissions. Access to the Fermilab Accelerator Division submissions on earlier tapes may also be helpful. Questions and comments on these submissions may be directed to the submitter listed above. Fermilab will not provide support for this software on anything other than an informal basis as time allows. [.ALLOCWATCH] This area contains the program and command procedure which implements the dynamic management of shared devices between a set of VAXes (a VAXCluster and non-cluster systems) which use a single CI bus system. The static management is implemented by the procedures in the [.STARTUP] area. The dynamic management is handled by a detached process which watches the allocation status of specified devices. When one of these devices is allocated by a user, DECnet is used to start processes on the remote systems which are then used to allocate and "hold" those devices on those systems to prevent interference with the device owner's actions. Page 2 [.EDTX] This is a submission of EDT-eXtended made using the Callable EDT interface. The extensions include a filename memory, wildcard file specifications and XLATE interfaces to spawn subprocesses and access system help. The beginnings of this version was the ED1 editor from the University of Arizona which was submitted on the Spring 1985 VAX SIG tape. [.EXPAND] This area contains a program from Mark W. Eaton of Harvard University. EXPAND and XFORT are FORTRAN preprocessors which provides for conditionalizing FORTRAN code. EXPAND and XFORT provide the concept of a pre-defined environment, a particular computer system, for which FORTRAN source may be conditionalized. This version supports VAX, CYBER, FTN77, IBM and FPS environments. We (Fermilab Accelerator Division) have just begun using EXPAND in combination with DEC/CMS to manage the source code for FORTRAN programs which must run on several different machines (VAX, CYBER 175/875 and FPS-164) and have been quite pleased with the results to date. [.GETUAF] This is a resubmission of the GETUAF program to access items from records in the UAF file. GETUAF has been modified to work under VMS V4.x and to return the last interactive login time. [.INCLUDES] This area contains command procedures which process Bliss .REQ files (such as LIB.REQ and STARLET.REQ found in SYS$LIBRARY) into prototype files from which include files for VAX C and VAX FORTRAN can be constructed. Included in this area are a number of .H include files for VAX C which define constants and structures new to VMS V4.x which where not included in the VAX C V2.0 VAXCDEF.TLB library (such as new $DVIDEF items, $GETSYI items, $GETQUI items, etc. and so forth). [.LA100SMB] This area contains an LA100 print symbiont which prints flag and trailer pages at 16.5 characters/inch pitch to fit 132 columns on 8 1/2 wide paper. In addition, a device control library of common escape sequences for the LA100 is also included. The print symbiont was developed from the HANDLESMB submitted to the Spring 1985 VAX SIG Page 3 tape by Gary Grebus from Battelle. [.LIBRARY] This area contains object, macro and text libraries which provide extensions to the system libraries in SYS$LIBRARY:. Complete copies of the FERMILIB object library, its Help file and all the sources are included. [.NODEIDS] This area contains a program to define a system-wide rights identifier based on the system (or DECnet) node name. This identifier can be used to protect licensed software from being executed on non-licensed nodes of a VAXCluster. [.SETUSER] This area contains a re-submission of the SETUSER program from the Spring 1984 tape. This version of SETUSER works under VMS V4.x and uses VMS V4.x services to eliminate the need to explicitly provide the UIC associated with a username. [.STARTUP] The command procedures in this area illustrate the management of logically disjoint disk sets from a pool of disk drives shared by two or more processors. These procedures implement the static management of disk drives connected to HSC50's on a CI system which contains a VAXCluster and an independent (non-cluster) VAX system. See [.ALLOCWATCH] for the package to provide the dynamic management. [.SYSMGR] The command procedures in this area illustrate the implementation of a set of cyclic system batch jobs which repeat nightly, weekly and monthly. In addition, a procedure for submitting cyclic jobs for users based on the system jobs (and SUBMIT /USER=name) and a database specifying which users and when is also included. A set of command procedures and TECO command files for performing mass changes to the UAF records is included in this area. These permit the extraction of information from the listings made by Page 4 AUTHORIZE and the reworking of that information into a command procedure. This procedure can be editted and executed to perform mass-adjustments of working set and other quotas. These were initially developed to facilitate the mass adjustment of working set quotas based on system performance information and the installation of additional memory. [.TELLSELF] This area contains a program to be installed with OPER privilege. It then permits users have their subprocesses, detached processes and batch jobs "broadcast" a message to themselves at specified points. The message is sent only to the owner of the process (or batch job) in which the program is executed. [.UTILITIES] This area contains several command procedures which implement general utilities in use at Fermilab. Some of these procedures are referenced in the submittals listed above. Many of the procedures are stored in areas pointed to by the FERMI$EXE: and FERMI$UTIL: logical names and a refereneced by such above. More information can be found in the AAAREADME.TXT file in the [.UTILITIES] subdirectory.