.ps 60,80 .lm 10 .rm 70 .ap .literal [VAXF81.BOSTONLUG.SPOOLING]AAAREADME.TXT .end literal .c;Spooling .blank 2 .c;Gary Beckmann .c;Joint Center for Radiation Therapy .c;Harvard Medical School .c;50 Binney Street .c;Boston, MA 02135 .blank These programs are the result of my first adventure into VMS and RMS land. In many ways the coding reveals my background in the PDP-11 world -- more recent MACRO-32 code takes more adventuresome leaps into the VAX Instruction Set. But however primitive the code these routines are rather quite useful. The codes written in RATFOR (*.rat) all can be run through the ratfor preprocessor that is included on this tape. Many of these routines also call other routines that exist in the VAXLIB that is also included on this tape. What follows is a list of the files and some indication of what they do: .list .le;FILSEARCH.MAR This file contains two entry points: start__search and file__search. These allow one to conduct wild-card file searches from FORTRAN. An initial call to start__search with the wild-carded file specification sets up the search, each successive call to file__search will return the file spec for the next file that meets the original specification. Both of these calls can be treated as functions that return the longword RMS status (which means that you can do a logical test on them in FORTRAN). Now should be a good time to note that I look at what I call a "string" as being a contigous set of bytes terminated by a decimal 0 (eos). .le;FINDFILE.RAT This routine just takes a partial file string and returns the full blown file specification. Please note that it uses the routines in FILSEARCH (the first application of those routines I ever wrote) and that the routines cannot be intermixed gracefully. .le;JBCMSG.DEF A definitional file for RATFOR. This is the symbols for talking with the Job Controller. This file is used by SPOOLER.RAT. Any new releases of VMS may make this file obsolete. .le;SMR.DEF More definitions, these are for the symbiont manager. .le;SPOOLER.DEF These are definitions used internally by SPOOLER.RAT. Anyone planning to use spooler will probably benefit by looking closely at this file. .le;SPOOLER.RAT This routine will place a file on a specified print queue with the options that can be also passed in. Anyone who has ever wanted to write a FORTRAN subroutine with a variable amount of obtional arguments should look at this code. Get__call__arg is in VAXLIB. .le;SPOOLSET.MAR This returns the various file ids and such needed by SPOOLER.RAT. .le;SYMBOLS.DEF General useful symbols that are used by SPOOLER.RAT. .le;UNIQUENAM.RAT A rather simple routine to produce a name unique to your process. Given a "seed" it will return a name of that seed with the PID appended. This is useful for creating a name for inserting into the group name table that is unique to you process. This is not useful for creating unique names within the process. See the code itself for more information. .end list A final note: All of the RATFOR files usually have an include statement or two that refer to the symbolic name "defs:". The files required are in this directory and all one has to do is define "defs" as the current directory. These routines all work for me. If you have any problems you are welcome to write. I can make no promises about response though. The above address is my current job, which I am leaving today. I am moving to Europe, with no specific address as of now. The Joint Center will attempt to forward what they can, but there are no promises made (so that no promises can be broken). I would like to think that the code is clear enough that anyone could understand it after a little study -- but only your experience will prove or disprove that.