.PAGE SIZE 60,80.LEFT MARGIN 8.RIGHT MARGIN 72 .NO PERIOD .C;Using the RSX-11M V4.0 Utility Task _.BLD files .B2 .C;Frank J. Nagy .C;Fermi National Accelerator Laboratory .C;P. O. Box 500 Mail Stop 306 .C;Batavia, IL 60510 .B2 .PERIOD .FLAG BREAK .BR.P;We had occasion to need _.CMD and _.ODL files for RSX-11M V4.0 utility tasks in a situation where it was impractical to use SYSGEN3.CMD to construct those files. In particular, this came about because we had no SGNPARM.CMD file available from a previous (non-|existant) SYSGEN. A small amount of effort was invested to determine how the _.BLD files interact with the SYSGEN3 command file. The results of that investigation are reported here for the use of the RSX community. .BR.P;The _.BLD files for the RSX-11M V4.0 privileged and non-|privileged utilities are indirect command files which create specific instances of the _.CMD and _.ODL files for the utility tasks. The _.CMD file for a task is then used as input to the task builder to produce an executeable task image (the _.ODL file contains the Overlay Description Language text for those utilities which use overlays). The _.BLD files particularize the _.CMD and _.ODL files through the use of global symbols defined in the outer indirect command file which calls the _.BLD file. Normally this outer command file is SYSGEN3.CMD, but a user can write his own indirect command files which define the global symbols and call the _.BLD files to construct particular instances of the _.CMD and _.ODL files for RSX utility tasks. Conversely, a user supporting multiple systems should be able to construct _.BLD files for his own tasks and have SYSGEN3 particularize user tasks in the same manner as RSX utility tasks are handled. .BR.P;The information about the meanings of the global symbols used in the _.BLD files has been gleaned from a study of the SYSGEN3.CMD indirect command file and several of the _.BLD files. This information is not complete as there is some doubt about the interpretation of some of the symbols. The examination of SYSGEN3.CMD and the _.BLD files was not exhaustive, but the information gained and presented here will probably be sufficient for most cases. Possibly someone else can shed some light on the remaining items. .HL1 \\^Device ^Specification ^Symbols .BR.P;SYSGEN3 and the _.BLD files use a set of symbols whose values define the input and output devices for the operation of the _.BLD files and the task builder. These symbols specify both a device name and a directory (UIC). The string symbols and their uses are: .B.LM+10 .BR.I-5;$BL##Location of _.BLD file (used in SYSGEN3 to invoke the _.BLD indirect command file). .B.I-5;$CL##Location of _.CMD and _.ODL files created by executing the _.BLD file (also used in SYSGEN3 as input location of _.CMD file for the task builder). .B.I-5;$TK##Output location for task image (.TSK) created by the task builder. Also used as the location of the executive symbol table file (RSX11M.STB) in the privileged task _.CMD files. .B.I-5;$MP##Output location for task builder maps (.MAP). .B.I-5;$OD##Used in the _.CMD files as the input location of the _.ODL files. .B.I-5;$LI##Use in the _.CMD and _.ODL files as the input location of the object module library (.OLB) of the task being built. .B.LM-10 Two string symbols are used to modify the filenames of the files created by the _.BLD command file and the subsequent task building. The ^&$TYP1\& symbol is used in the _.BLD file to modify the file names of the created _.CMD and _.ODL files. Normally these file names have the form "xxxBLD" where "xxx" is the 3-letter name of the utility task built by the files (note that the indirect command file used to make the _.CMD and _.ODL files has a file specification of the form "xxxBLD.BLD"). The value of the $TYP1 symbol provides 0 or 3 characters to be inserted into the file names between the task name, "xxx", and the "BLD" (as in PIPRESBLD). The values of the $TYP1 symbol depend upon several additional conditions: .B.LM+10 .BR.I-5;ANS##for RSX-11M tasks built with ANSLIB, .BR.I-5;RES##for RSX-11M/M-PLUS tasks built with FSCRES, or .BR.I-5;FSL##for RSX-11M-PLUS tasks built with FCSFSL. .B.LM-10 If none of these conditions are true (i.e., RSX-11M tasks built with SYSLIB), then the value of $TYP1 is a null string. A second symbol, ^&$TYP2\& is used as a modifier for the file names of the _.TSK, _.MAP, and _.STB files produced by the task builder. This symbol will normally only have a null string as its value for RSX-11M and either "RES" or "FSL" for RSX-11M-PLUS (or the null string). SYSGEN3.CMD can assign either "ANS" or "RES" to $TYP2 for RSX-11M ($11M is TRUE) if ^&$SYBLD\& is also TRUE. A comment indicates this is only TRUE for SYSBLD (possibly this has to do with IAS). Some of the _.BLD indirect command files ignore the value of $TYP1. In such a case these command files also set the symbol ^&$UTYP1\& to FALSE to indicate that $TYP1 has not been used (this is required for SYSGEN3). .BR.P;Some of the standard RSX-11M/M-PLUS utility tasks have names longer than 3 letters and are shortened as shown: .B.LM+20 .BR.I-11;ACN########ACNT .BR.I-11;LPI########LPINIT .BR.I-11;MCM########MCRMU .BR.I-11;MTA########MTAACP .BR.I-11;QCL########QMGCLI .BR.I-11;QPR########QMGPRT .BR.I-11;SHU########SHUTUP .BR.I-11;TKN########TKTN .B.LM-20 This table was extracted from SYSGEN3.CMD. .HL1 \\^Target ^System ^Specification ^Symbols .BR.P;Another set of symbols is defined by SYSGEN3 from the SGNPARM file to identify the characteristics of the system for which the utility task is being built. Several of these symbols identify the type of system and other characteristics: .B.LM+15; .BR.I-10;$11M######Set TRUE if target system is RSX-11M. .B.I-10;$11MPL####Set TRUE if target system is RSX-11M-PLUS. .B.I-10;$IAS######Set TRUE if target system is IAS. .B.I-10;$MAP######Set TRUE if target system is mapped (can be FALSE only for an RSX-11M system). .B.I-10;$MAPM#####Same as $MAP. .B.I-10;$MMSW#####Task image switch for TKB. Has value of "/MM" for mapped target systems ($MAP is TRUE) and "/-MM" for unmapped target systems ($MAP is FALSE). For IAS this symbol is a null string. .B.I-10;$MUL######Set TRUE if multiuser task images are to be made (only for RSX-11M-PLUS or IAS systems). .B.I-10;$MUSW#####Task image switch for TKB. Has value of "/MU" if a multiuser task image is to be made ($MUL is TRUE) and "/-MU" otherwise (null string for RSX-11M). .B.LM-15 Several symbols are defined with string values and used by the _.BLD command files to generate a "PAR=" task builder option line. Which symbol is used is dependent upon which task is to be built. The names and values of the various symbols are listed for both mapped and unmapped systems ("base" represents the base address of the partition for an unmapped system): .B.LM+5.TAB STOPS 23,43 .BR; ^&Mapped Systems\& ^&Unmapped Systems\& .B .BR;$GEN GEN:0:0 GEN:base:40000 .BR;$GENX GEN:0:40000 GEN:base:40000 .BR;$GENB GEN:0:70000 PAR14K:base:70000 .BR;SYPAR SYSPAR:0:12000 SYSPAR:130000:12000 .BR;$PRPAR GEN:0:0 SPLPAR:130000:10400 .BR;FPAR FCPPAR:0:size not defined .B.LM-5 The FCPPAR size is set to "24000" if FCPMDL (middle) was selected and to "44000" if FCPLRG (large) was selected in SYSGEN. Note that the values listed above are those assigned by SYSGEN3.CMD. .HL1 \\^Library ^Specification ^Symbols .BR.P;Another set of symbols select the resident shared library with the the utility tasks are to be linked (if any) and the default system library to be searched. The names and values of these symbols are: .B.LM+15 .BR.I-10;$FRLTK####Set to TRUE if the FCSRES shared library is to be linked to the task (SYSRES for IAS). Otherwise this symbol is FALSE. .B.I-10;$FSLTK####Set to TRUE if the FCSFSL (Supervisor mode FCS resident library) is to be linked to the task (only for RSX-11M-PLUS). For IAS and RSX-11M, this symbol is FALSE. .B.I-10;$FCSTK####Set to TRUE if neither $FRLTK or $FSLTK are TRUE. .B.I-10;$EXRTK####Seems to be the same as $FCSTK as far as can be determined. .B.I-10;$ANFCS####Set to TRUE if ANSLIB should be searched instead of SYSLIB (normal case with $ANFCS set to FALSE). .B.I-10;$ANSLB####Same as $ANFCS. .B.I-10;$SYGRP####Set to the group number of the UIC in which the libraries and symbol table files of resident libraries are stored. Set to "1" for RSX-11M/M-PLUS to use [1,1]. .B.I-10;$LIBOP####If a shared resident library is used, then this symbol is set to the string specifing the task builder option to link the resident library. If a resident library is not being used, then this is set to the null string. The values of this symbol are: .B .BR;for FCSRES(11M/M+): "RESLIB=[1,1]FCSRES/RO", .BR;for FCSFSL(M+ only): "SUPLIB=FCSFSL:SV", and .BR;for IAS: "LIBR=SYSRES:RO". .B.LM-15 .HL1 \\^Comment ^Symbols .BR.P;These symbols are used to modify the comments in the _.CMD and _.ODL files constructed by executing the _.BLD command files. The string values assigned to these symbols by SYSGEN3.CMD and the context in which they are used is (value is enclose in quotation marks): .B.LM+15; .TP6 .BR.I-10;$COM######Identifies for what system the files are begin made, one of: .B.LM+5 .BR;"ON AN UNMAPPED RSX-11M SYSTEM", .BR;"ON A MAPPED RSX-11M SYSTEM". .BR;"ON AN RSX-11M -PLUS SYSTEM", or .BR;"ON AN IAS SYSTEM". .LM-5 .B.I-10;$BLDID####Identifies who constructed the files: "SYSGEN3.CMD VERSION 1.81" .B.I-10;$DFLIB####Identifies the default library: "SYSLIB" or "ANSLIB". .B.I-10;$RSLIB####Identifies the resident library linked to, one of: a null string, "FCSRES", "FCSFSL", or "SYSRES". .B.LM-15