Trailing-Edge
-
PDP-10 Archives
-
BB-JF18A-BM
-
sources/diu/diuver.mac
There are 4 other files named diuver.mac in the archive. Click here to see a list.
TITLE DIUVER - Data Interchange Utility Version and Revision History
SUBTTL Copyright Notice
DIUMAJ==1 ; Major version
DIUEDT==270 ; Your octal edit number goes here
COMMENT \
COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1986.
ALL RIGHTS RESERVED.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND
COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH
THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR
ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE
AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE
SOFTWARE IS HEREBY TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF
ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
\
;Insert ASCIZ copyright notice number for those who typeout EXE files
ASCIZ\
COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1986.
ALL RIGHTS RESERVED.
\
;Set DIU version number
DIUVER==:BYTE(3)0(9)DIUMAJ(6)0(18)DIUEDT ;Compose OCTAL DIU version number
LOC 137 ;Go to location where versions are stored
DIUVER ;Plant our version number there
RELOC ;Back to relocatable
SUBTTL Revision History
COMMENT \
Indicate edits in the following format:
edit# In affected module: description of what was fixed
name of person who fixed it and the date
1 Implementation of DIU$INITIAL_VALUE and DIU$TAG_FIELD
Charlotte Richardson 29-May-85
Modules: ACTION.REQ [1], ACTUT2.BLI [new module], ACTUTL.BLI [1],
DISPLA.BLI [4], CRX.REQ [4], INTFAC.CTL, INTFAC.MIC
2 Add new error codes to DIU.R36
Sandy Clemens 14-Jun-85
3 In default transform generation and transform loading modules
do the following: clean up copyright notices; change LIBRARY
'DIUMSG' to 'DIU'; clean up some of the condition handling. In
DIULTR.BLI add calls to DIU$TAG_FIELD and DIU$INITIAL_VALUE. Fix
dot bug in DIU$DEF_TRANS (in DIUMMP.BLI).
FILES: DIUCLE.BLI,DIUDMP.BLI,DIUGTR.BLI,DIULTR.BLI,DIUMAP.BLI,
DIUMAT.BLI,DIUMMP.BLI,DIUTLB.BLI,DIUTUT.BLI,FAOPUT.BLI,INTFAC.BLI,
DIXLIB.BLI
DELETE FILE: DIUMSG.B36
Sandy Clemens 14-Jun-85
4 During transform loading / data type remapping, if the member node
was made by CRX then there won't be a facility specific block. If
there is an initial value, however we need the facility specific
block in order to save the original data type (before mapping) for
use in initial value processing. Add creation of this block and
setting of the data type within it.
FILES: DIULTR.BLI
Sandy Clemens 17-Jun-85
5 Handle FAO-format SIGNAL's
FILES: DIUDO.B36, ERROR.B36
Andy Nourse
6 Implement spooling
FILES: DIUCMD.B36, DIUIPC.B36, DIUIPS.B36, DIUQUE.B36, DIUQUT.B36
DIUSCH.B36, DIUSHO.B36, DIUSPL.B36, IPCF.B36, DIUDO.B36
Andy Nourse
7 Fix some erroneous comments in DIUMAP.BLI
Sandy Clemens 19-Jun-85
10 Make default transform generation code use the DIU top level
condition handler rather than DIU$TRANS_HANDLER. Add FAO
directive to DIU$_INVFLDDSC error condition.
FILES: DIU.R36, DIULTR.BLI, DIUMMP.BLI, DIUTLB.BLI, DIUTUT.BLI,
ERROR.B36, INTFAC.BLI, DIUABO.B36(NEW), CLIHANTMP.B32(NEW)
Sandy Clemens 20-Jun-85
11 Remove repeated copies of error table definition from various
places and put it into DIU.R36 for the general world to use.
Add DIU$CONVERR error to DIU.R36.
FILES: ERROR.B36, DIU.R36, DIUABO.B36, DIUTUT.BLI
Sandy Clemens 26-Jun-85
12 Update data type mapping tables to reflect support of COMPLEX
data types. FILE: DIUMAP.BLI. Remove all DIL / DIX files
from DI1: and put them into the new DIL V2.1 areas.
FILES DELETED: DIXLIB.BLI, DIXUTL.BLI, DIXDEB.REQ, VERSION.REQ.
Sandy Clemens 12-Jul-85
13 Add new complex number support to record descriptions
DISPLA.BLI[5], ACTION.REQ[2], ACTUT2.BLI[1]
Charlotte Richardson 12-Jul-85
14 Teach tree remapping code about complex floating-point data
types. FILE: DIULTR.BLI. Add transform execution code and
conversion warnings report code. FILES: DIUETR.BLI (NEW),
DIUCSR.BLI (NEW), DIUDMP.BLI, DIUABO.B36, INTFAC.BLI, DIUTLB.BLI.
Sandy Clemens 15-Jul-85
15 Fix fixed binary datatypes during description creation to
accurately reflect VAX datatypes -- mapping will reset them if
system of origin is not a VAX.
ACTION.REQ[3]
Charlotte Richardson 15-July-85
16 Fix size of USERNAME and CONNECTED_DIRECTORY fields.
(RDF had changed them to conform to VMS, not TOPS-20).
Also add comments for XDUMP.
Andy Nourse 15-July-85
17 Make DIU$_INVDATTYP and DIU$_INVTYPSYS give the data type code
which is invalid.
FILES: DIUMAP.BLI, DIU.R36
Sandy Clemens 16-Jul-85
20 Remove TTY external reference from DIUTUT. It's not needed and
will not compile on the VAX. Also change $FAO_PUT of error message
to a SIGNAL of DIU$_BUG.
Sandy Clemens 17-Jul-85
21 Fix ACTION.BLI to compile with larger version of DIXLIB, avoiding
heap space problem in BLISS36.
ACTION.BLI[1]
Charlotte Richardson 17-July-85
22 Made routine SINGLE_FQN_NAME get the entire field name string out of
the record description tree (not just the partial name from the
transform). Make DIU$$GET_BYTSIZ in DIUETR module NOT global. Fix
bug DIU$UPDATE_FFD: in the call to DIX$$CHECK_ALIGNMENT the data
type within class code was passed, rather than the entire data type
code. FILES: DIUETR.BLI,DIUTUT.BLI,DIUCSR.BLI,DIULTR.BLI
Sandy Clemens 18-Jul-85
23 Remove DIU$CDD_EXTRACT from DIUTUT module and put it into INTFAC.
It's only part of INTFAC, not DIU. FILES: INTFAC.BLI,DIUTUT.BLI,
DIUTLB.BLI. Make transform loading return the destination record
size. FILES: DIULTR.BLI, INTFAC.BLI.
Sandy Clemens 18-Jul-85
24 Put in /WARNING_COUNT and /KEY switches, description and transform
fetching.
Andy Nourse 18-Jul-85
25 Incorporate PAT parser error signalling and allow parser debugger to
be turned off without turning off debugging.
Also allow initial values of dimensionned fields.
ACTION.BLI[2], DEB.BLI[3], DEB.REQ [3], DIU.R36 [25], DIUCSR.BLI [25],
DIUETR.BLI [25], DIUTLB.BLI [25], PATBLSEXT.REQ [3], PATDEB.BLI [3],
PATERR.BLI [2], PATSEM.BLI [4]
Charlotte Richardson 2-Aug-85
26 Incorporate Doug Rayner's version of ACTUT2 for FLIN and DFIN on
TOPS-10.
ACTUT2.BLI[2]
Charlotte Richardson 19-Aug-85
27 Fix absent rename output filespec blowing up. Put in @. Fix too-long
node id blowing up. Make prompt happen after TAKE.
30 Update DIUCSR for TOPS-10 support.
Sandy Clemens 13-Sep-85
31 Change name of DIU-COMMAND.R36 to DIUCOMMAND.R36 to make porting
to TOPS-10 easier. (TOPS-10 will truncate DIUCOMMAND to DIUCOM,
but cannot bypass the "-"). FILES: DIUMOD.B36, DIUCMD.B36,
DIU1.CTL, and DIU-COMMAND.R36=>DIUCOMMAND.R36,
Sandy Clemens 17-Sep-85
32 Fix bytesize edit made to DIUDIR.
Andy Nourse 18-Sep-85
33 Merge TOPS-10 changes into TOPS-20 source. FILES: DIUQUT.B36,
DIUSHO.B36, ASK.B36, DIUDIR.B36, WILD.B36, NOTIFY.B36, DIUHLP.B36,
DIU.R36, DIUACT.B36, DIUQUE.B36, DIUSCH.B36.
NEW FILES: IPCF10.R36, DIUT10.B36, MFLIN.MAC, UUODEF.R36.
Sandy Clemens 20-Sep-85
34 Fix bug in clearing (zeroing) buffers in DIUSHD.B36.
Sandy Clemens 20-Sep-85
35 The following source files had enough differences between TOPS-10
and TOPS-20 that rather than merge the sources, they have been
left as separate files and renamed to show the distinction:
Orignal Name Tops-10 Name Tops-20 Name
------------ ------------ ------------
DIUCMD.B36 DIUC10.B36 DIUC20.B36
DIU.B36 DIU10.B36 DIU20.B36
DIUIPC.B36 DIUPC1.B36 DIUPC2.B36
DIUIPS.B36 DIUPS1.B36 DIUPS2.B36
DIUJOB.B36 DIUJB1.B36 DIUJB2.B36
DIULOG.B36 DIULG1.B36 DIULG2.B36
IPCF.B36 IPCF10.B36 IPCF10.B36
Also, ERROR.B36 has been renamed to DIUERR.B36 (for both systems).
Sandy Clemens 25-Sep-85
36 Merge TOPS-10 changes into TOPS-20 source. FILES: DIUSPL.B36,
DIUMOD.B36.
Andy Puchrik 26-Sep-85
37 In ACTUT2.BLI: change REQUIRE 'TOPS20' to LIBRARY 'TOPS20' to
avoid insufficient dynamic memory when compiling.
Sandy Clemens 30-Sep-85
40 Put the REQUIRE/LIBRARY of 'TOPS20' into a TOPS-20 only
conditional in DIUDEF.B36, DIUDIR.B36, DIUDO.B36, DIUQUT.B36,
DIUSCH.B36, DIUSHD.B36, DIUSHO.B36, and ACTUT2.BLI. Also,
remove LIBRARY of TOPS20 from DIUC10.B36. Now, TOPS20.R36 is
not needed to build DIU-10. Also, clean up the SHOW DEFAULTS
display (File: DIUSHD.B36).
Sandy Clemens 7-Oct-85
41 Implement PUSH, SPAWN and EXECUTE commands in DIUC20.B36.
FILES: DIU.R36 (new error message) and DIUC20.B36.
Sandy Clemens 10-Oct-85
42 Make 'mjob' and 'mst_flag' EXTERNAL rather than OWN variables.
Sandy Clemens 11-Oct-85
43 Have DO$HANDLER return RMS error as routine value rather than
DIU$_RMS_ERROR, since we need the actual RMS status to make the
queue/noqueue decision. Also, make routine REQUEST make a more
intelligent decision about whether to queue a requeust. Make
numerous switches which were the old FTS format be the new DIU
format. (EX: LOG: --> LOG_FILE:). Make /CARRIAGE_CONTROL work.
Fix the /TRANSFORM switch which was being processed by /DESCRIPTION
states... Add CRLF after "request queued" message. Clean up the
Q$GIVEUP routine.
FILES: DIUC20.B36, DIUDO.B36, DIUPC2.B36.
Sandy Clemens 16-Oct-85
44 Add missing SET DEFAULTS switches /DEFERRED and /NODEFERRED.
File DIUC20.B36.
Sandy Clemens 17-Oct-85
45 Make DO$HANDLER return a status even if it doesn't have a source
FAB. If this is not done, anything that signals without a source
FAB set returns 0, which causes the request to be queued even on
a non-recoverable error. FILES: DIUDO.B36.
Sandy Clemens 21-Oct-85
46 Make the queue decision smarter. Remove /NOTIFY:FAILURE code.
Clean up SET DEFAULTS code. JOBNAME was being set to trash for
a local to local request -- set it to "LOCAL" instead!
FILES: DIU.R36, DIUC20.B36, DIUCOMMAND.R36, DIUSHO.B36.
Sandy Clemens 4-Nov-85
47 Make routine S$CREJOB return more intelligent messages after
CRJOB JSYS call. Also, make it return secondary error message.
FILE: DIUJB2.B36.
Sandy Clemens 4-Nov-85
50 Clean up SHOW DEFAULTS (again). FILE: DIUSHD.B36.
Sandy Clemens 4-Nov-85
51 Fix stream LF with CR. File: DIUDO.B36.
Andy Nourse 7-Nov-85
52 Fix bug in $STR_SCANs in DECIDE_QUEUE routine. When setting up
for prompting, make sure the PROMPT_CHARACTER is ASCIZ! Make
sure that the access string has a leading double-quote even if
the USERNAME is not specified in routine DEF$ACCESS. Make error
text NOT display passwords. Make sure PDB size is large enough
so that the account string can be retrieved in routine IPC_HNDLR.
Update IPC_HANDLER and IP_ENTER routines with missing edit from
FTS which enables use of account string. Make sure PSI channels
which are enabled by STARTing queue are disabled when by STOP
command.
FILES: DIUC20.B36,DIUDEF.B36,DIUDO.B36,DIUERR.B36,DIUPC2.B36,
DIUSPL.B36,DIUVER.MAC,IPCF20.R36.
Sandy Clemens 12-Nov-85
53 In routine DO$COPY_FILES do NOT reset the byte size in the RABs.
Also, make sure to copy the source record buffer to the destination
record buffer. FILE: DIUDO.B36
Sandy Clemens 13-Nov-85
54 Uncomment code in DO$SETUP_COPY to check for destination file
being disk (MDI) or remote file (in setup for block mode transfer).
FILE: DIUDO.B36.
Sandy Clemens 14-Nov-85
55 Add typ block of type=image and modify routine DIR$FULL to display
byte size, format, and record size if applicable.
FILE: DIUDIR.B36
Andy Puchrik 2-Dec-85
56 Fix routine FILE_ARGUMENT so /TRANSFORM and /DESCRIPTION switches
work. Reorder the action routines alphabetically. Implement TAKE
switches (/ECHO, /VERIFY, /NOECHO, /NOVERIFY). Remove the "transfer"
switches from PRINT and SUBMIT commands. Add /WAIT to STOP command.
Make STOP/NOWAIT complete shutting down the queue. Remove code in
DO$COPY_FILE which always defaults copy-with-conversion default to
IMAGE mode. Remove TOPS10 conditional from the code which sets the
dst_fab[FAB$V_SUP] bit in DO$INIT_BLOCKS. In DO$SETUP_COPY increase
dst_fab[FAB$H_MRS] by 2 to make room for CR,LF. In record mode
transfers (with NO conversion) point the dst_rab[RAB$A_RBF] at the
dst_rab[RAB$A_UBF] NOT at the src_rab[RAB$A_RBF] because making the
src and dst the same will cause conficts (reading and writing to/from
the same place!!). Clean up the code which releases the dst JFN and
$CLOSES the dst_fab in DO$HANDLER. FILES: DIUC20.B36, DIUDO.B36,
DIUSPL.B36, DIUCOMMAND.R36. (RMS file: COMAND.B36).
Sandy Clemens 3-Dec-85
57 Enable the interrupt system at the end of routine SP$STOP.
File: DIUSPL.B36.
Sandy Clemens 4-Dec-85
60 Implement /OUTPUT: switch for DIRECTORY. File: DIUC20.B36.
Sandy Clemens 16-Dec-85
61 Remove $CMOFI (output file function) from APPEND_GET_INPUT,
COPY_GET_INPUT, DELETE_GET_FILESPEC, PRINT_GET_INPUT,
SUBMIT_GET_INPUT and RENAME_GET_INPUT command table states.
These were work-arounds for a COMND bug which has now been fixed,
and they now cause DIU problems. FILE: DIUC20.B36.
Sandy Clemens 16-Dec-85
62 Add rest of command switches, some new action routines.
Next edit will be to make them work. FILES: DIUC20.B36,
DIUCOMMAND.R36
Andy Puchrik 9-Jan-86
63 Remove comments in DO$SETUP_COPY and fix to modify dest MRS.
Correct the format of the calls to DIU$PARSE_TRANSFORM and
DIU$PARSE_DESCRIPTION routines.
FILE: DIUDO.B36
Andy Puchrik 1-Jan-86
64 Make PAT PARSER signal parsing errors correctly. Teach DIU
about the new signal codes. Add GLOBAL patpar_warn which is
a flag that gets set if the DIU$_PATPAR informational condition
is seen, and which is cleared when either DIU$_PARDES error
condition or DIU$_PARTRA error condition is seen. Remove SIGNAL
from DEB.BLI which is causing problems for DIU and is used for
debugging only. Change TEXT_BUFn to TEXT_nBUF in PATPAR.BLI so
that DDT can distinguish the symbols. FILES: DIU.R36, DIUC20.B36,
DIUDO.B36, DIUERR.B36, DEB.BLI, PATLAN.BLI.
Sandy Clemens 15-Jan-86
65 Change command switches: 1) remove /DATATYPE, add /USAGE 2) remove
/ORGANIZATION, add /FILE_FORMAT. Change NAM$V_PWD bit to NAM$V_SYNCHK
bit in SRCFIL and DSTFIL routines. In DIU$LOAD_TRANS check usage type:
don't allow mixed usage w/in records; if user specified a usage type it
must match the usage of the datatypes in the record. If user didn't
specify usage, then set global usages based on usage found in record
description (or default if none found). Use global usage flags to set
TYP$H_CLASS for src & dst before $OPENs. Remove passing src_buf and
dst_buf to DO$SETUP_COPY. Remove second call to $RAB_INIT in
DO$SETUP_COPY since there is one in DO$INIT_BLOCKS. Check global usage
flags to determine what to pass to DIU$LOAD_TRANS for usage types;
after call to DIU$LOAD_TRANS reset TYP$H_CLASS in case a new usage was
found. Disallow copying ISAM file to anything but another ISAM w/out
transformation. Clean up DO$HANDLER; delete commented out section.
FILES: DIUC20.B36, DIU.R36, DIUCOMMAND.R36, DIULTR.BLI, DIUMLB.BLI,
DIUDO.B36.
Sandy Clemens 12-Feb-86
66 In DIU$LOAD_TRANS when checking the usage of the datatype, add
an OTHERWISE case to the SELECTONE statement in order to catch
the "data type" codes for DIU$K_DT_OVERLAY and DIU$K_DT_STRUCTURE.
FILES: DIULTR.BLI
Sandy Clemens 17-Feb-86
67 Fix problem with initial values (address of initial value buffer
was being passed to DIX incorrectly).
Sandy Clemens 18-Feb-86
70 Restructure DIU$COPY so that the $PARSE of the dst file, the call to
DIU$LOAD_TRANS, and, therefore, the figuring of the source TYP$H_CLASS
and FAB$V_BSZ, are all done before the $OPEN of the source. This info
is needed for the $OPEN. Remove setting the dst SYNCHK bit: it causes
the config XAB not to be filled in and so we can't get the dst op sys
type. Force RMS to usae image mode to copy to VAX or PRO w/transform
(since DIL puts the data into VAX/PRO image mode). Clean up adjustment
of MRS/RSZ. If dst file is NONRMS make sure src is NONRMS & there's no
transform. Clear dest buffer after $PUT. Clean up DO$ATTRIBUTE_COPY
and make it smarter about defaults. Add setting F_RAT, F_RFM, F_NONRMS
bits in SFLAGS and DFLAGS structures when RAT, RFM or NONRMS seen. Add
CONTEXTs to /RMS:INDEXED, /RMS:SEQUENTIAL, /RMS:RELATIVE. Remove
"need_usage" (not used anymore).
FILES: DIUDO.B36, DIUC20.B36, DIU.R36, DIUCOMMAND.R36, DIUMAP.BLI
Sandy Clemens 25-Feb-86
71 Always set the byte size to 36 for fortran binary files. Set the
destination maximum record size to 625 as a temporary workaround
for a RMS bug which causes problems copying files to a VAX.
FILE: DIUDO.B36.
Sandy Clemens 25-Feb-86
72 Define WARNINGS_COUNT and if /WARNINGS:n was not specified by the
user, then set WARNINGS_COUNT to the default which is 1. Remove
WARNING_MAX and some debugging stuff. FILES: DIUC20.B36, DIUDO.B36.
Correct the format of the SIGNAL's of INVDATTYP and INVTYPSYS.
FILE: DIUMAP.BLI
Sandy Clemens 3-Mar-86
73 Make all /WARNINGS and /USAGE information be stored in the REQBLK
structure (not in global flags -- this won't work for queued
requests). Get rid of "need_usage" (again?). Make all usage type
literals POSITIVE so that comparison of reqblk[DIU$B_???_USAGE_TYP]
(a single BYTE) with the fullword literals always gives the desired
result. FILES: DIUC20.B36, DIUDO.B36, DIULTR.BLI, DIUMAP.BLI,
DIUMLB.BLI, DIU.R36.
Sandy Clemens 4-Mar-86
74 Figure image mode MRS correctly based on what DAP does.
FILE: DIUDO.B36
Sandy Clemens 18-Mar-86
75 Fix /KEY: switch to support key option flags CHANGES, NOCHANGES,
DUPLICATES and NODUPLICATES and to support the correct syntax!
Change /KEY: action routine so that the key command text is saved
in a buffer in the REQBLK and parsed later by DIU$KEY_ACTION routine
(new). FILES: DIUC20.B36, DIUDO.B36, DIU.R36
Sandy Clemens 19-Mar-86
76 Fix reparsing of command lines by setting CMDRPR (command reparse
routine) to INIT_COMAND. This fixes ^W and ^H problems.
Remove unimplementable switch FIMAGE.
Pass 0 as third argument to EPCAP to prevent WARNing about AC3.
Add DATA=10 to /BLK_FACTOR:n switch so that "n" can be parsed.
Add help strings to CMKEY and CMSWI parsing for better help on "?".
Revise some noise words to confirm to TOPS-20 EXEC.
Add CM_SDH to CMNOD to prevent seeing both "source filespec" and
"node name" (since source filespec implies node name).
File: DIUC20.B36
Gregory A. Scott 24-Mar-86
77 Move clearing of def_node to INIT_REQUEST where it belongs.
Remove somewhat strange CCL command logic and replace with simple
ccl_mode flag. Each command now has a NEXT state of COMMAND_EXIT,
which causes each command to terminate in routine DIUCMD. DO_MORE
and associated logic has been removed. TAKE tried to do a RLJFN of
a open JFN which doesn't work (it now does a CLOSF).
Make TAKE and "@" illegal from CCL commands (for now). File: DIUC20
Gregory A. Scott 25-Mar-86
100 Get version number from .JBVER and print via FAO's !V in both SHOW
VERSION (DIUC20) and SHOW DEFAULTS (DIUSHD). Use "!V" to print version
rather than splitting it up ourselves for printout in SHOW VERSION.
Make nested TAKE commands work right in terms of echoing or not
echoing. Add SET TAKE to set the default take echo mode and SHOW TAKE
to display the default take mode. Make CCL TAKE (even nested!) work
again. A CCL command that didn't parse left you in DIU, which is fixed
by setting cmdnpt to COMMAND_EXIT to return control to DIUCMD. Files:
DIUC20.B36, DIUSHD.B36
Gregory A. Scott 26-Mar-86
101 Clean up routine DIU$KEY_ACTION. PRODUCE_FQN zaps the string
passed it so pass it a temp copy of the key token. Make key
string in REQBLK all uppercase so it will match the name
string in the record description tree (always in uppercase!);
add routine DIU$UPPERCASE to do this. In DO$ATTRIBUTE_COPY
don't copy src XABKEYs to dst if the dst XABKEYs already
exist! Be more careful about when to add/remove CR/LF to the
dst buffer. Only figure "image_bytes" for non-LCG systems.
Fix image_bytes formula so VAX won't return invalid RSZ error.
General cleanup. FILE: DIUDO.B36.
Sandy Clemens 26-Mar-86
102 Conform SHOW VERSION to look like SHOW QUEUE and DEFAULTS. Change
hyphens to underscores in MAXIMUM_SIMULTANEOUS_REQUESTS. In order to
make SET DEFAULTS work somewhat more rationally, it has has been
changed to SET DEFAULT {node::|SWITCHES} [/switch/switch]. This was
done for clairity and because SW_ARGUMENT was doing bad things to us.
Repair GET_REQUEST_ID, SHQ_GET_REQUEST_ID, and MODIFY_GET_REQUEST_ID
parsing: change help string "Request identifier" to "Request queue
entry, decimal number"; add better help when parsing <username> or
[username] when specifying a request already in the queue; only accept
the right flavor of delimiter for usernames (e.g. match "<" with
closing ">"), which actually simplified parsing the field; remove extra
CMCFMs which allowed illegal commands to be parsed and add flag
seen_requestid do do the job the right way. Split FILFMT_TABLE into
two tables: INP_FMT_TABLE (legal on input files and OUT_FMT_TABLE
(legal on output files). Change routine name Q$FIND_NODE to Q$FNODE so
that LINK doesn't grab Q$FIND. Also rewrite Q$FNODE. Files:
DIUSHD.B36, DIUC20.B36, DIUQUE.B36, DIUQUT.B36.
Gregory A. Scott 27-Mar-86
103 Always free the memory from dynamically allocated XABKEY structures
when the request is finished. Check for wildcard source filespec
and multiple file output. FILE: DIUDO.B36
Andy Puchrik 31-Mar-86
104 Show the source and destination files on SHOW QUEUE/ALL. Also clean up
format of SHOW QUEUE/ALL a little bit. Adds routine DIU$SFILES, called
only by DIU$$SHO_ALL. File: DIUSHO.B36
Gregory A. Scott 31-Mar-86
105 Change error messages to display '%DIU Event nnn: ...' rather than
'%DIU20: Event nnn: ...'. FILE: DIUERR.B36.
Sandy Clemens 1-Apr-86
106 Remove output of extra blank line when a job is queued. Remove the
following switches: /BLOCK, /NOBLOCK, /NOCARRIAGE_CONTROL, /UNDEFINED
on COPY and APPEND; /OUTPUT on DIRECTORY. Routine MKJOBNAME put spaces
after the job name it made up, causing job names less than 6 characters
not to match in Q$MATCH (e.g. SHOW QUEUE jobname wouldn't work on
DIRECTORY and DELETE commands), so I rewrote it using CH$ functions
rather than $STR functions to make it work simpler, smaller, and
probably faster. Default directory filename to nodename.DIR rather
than DIR.DIR; removes some CMCFMs to make that work right. A new fork
was created by each PUSH command but old forks were never killed; make
PUSH continue any old EXEC it has sitting around. TAKE, EXECUTE, and
"@" now default extension to CMD. Prompt now changes to "DIU spooler>"
if we are the spooler; routine MAKEPROMPT resets the prompt now. File:
DIUC20.B36.
Gregory A. Scott 1-Apr-86
107 Clean up all routines from noisy comments, unused str_inits. Make
DIU$DELETE and DIU$RENAME do wild cards.
Andy Puchrik 2-Apr-86
110 Change sflags and dflags to be a BITVECTOR of 36. Remove /QUEUE:MAYBE
(superceded by /QUEUE:CONDITIONAL). Change switch tables around for
COPY and APPEND so that there are five seperate switch tables,
differing by the context in which they are parsed: request (anytime),
input (after a input file only), output (after a COPY output file
only), append (after APPEND output file only), and global (before any
filespecs typed only). Add CM_SDH to CMIFI and CMQST in DELETE
command. Make invisible command of EX so that you don't have to spell
out "EXI" to exit. For SUBMIT, default file type to .CTL and allow
wildcarded filenames in GETFILESPECS. GETFILESPECS shouldn't call
INIT_REQUEST either. Default generation properly for DELETE and RENAME
to *. File: DIUC20.B36
Gregory A. Scott 2-Apr-86
111 Change queue file initialization messge.
Andy Puchrik 3-Apr-86
112 Add IDCNV entry to JSYSDEF.R36. Add global routine S$IDCNV to convert
seperate numbers to UDT in DIUT20.B36. Change the abbreivation for the
EXIT command (EX) so that it uses the CM_ABR bit and RELATED= option,
which is the right way to have an abbreviation in the command table.
Implement /AFTER:[TODAY|dayofweek]. Clean up /AFTER parsing in
general. Files: DIUC20.B36, DIUT20.B36, JSYSDEF.R36
Gregory A. Scott 3-Apr-86
113 In DIU.R36: Remove error codes that have been replaced with parser
error messages in DIUC20 (DIU$_ARG_RANGE, DIU$_TOOMANY_KEYSEGS,
DIU$_TOOMANY_KEYS, DIU$_INV_KEY_OPTION) and unreferenced literal
DIU$K_ACCESS_PROMPT. In DIUCOMMAND.R36: Move def of SEEN from DIUC20;
change COMMAND_EXIT and EXIT states to be EXIT_STATE and change SAME to
SAME_STATE; add several F_* bits to sflags/dflags, add bits for rflags.
All of the rest in DIUC20.B36: Change usage of COMMAND_EXIT and EXIT to
EXIT_STATE, and usage of SAME to SAME_STATE. Replace calls to
INIT_COMAND with INIT_REQUEST and delete INIT_COMAND. Change
references of seen_requestid to rflags[R_REQUESTID]. Remove
/[NO]DEFERRED switch, since it doesn't make sense to have it as a
synonym for /QUEUE. Remove ability to type /SEQUENCE:nn, since that
functionality exists in the /PREREQUISITE:nn switch and having it both
places is misleading. Add routine PARERR to print parsing errors; new
macro PE calls PARERR and then RETURNs. Change all SIGNALed errors for
parsing into PE calls. Remove FOP_NSWITCH and RAT_NSWITCH and install
call FOP_SWITCH or RAT_NSWITCH with inverted context. Repair totally
broken /VFC switch. Add a lot of switch conflict logic to many
switches (/USAGE illegal with /LSA or /STREAM or /CARRIAGE_CONTROL;
detect multiple /TRANSFORM and /WARNINGS; allow /KEY only on output
file that is /RMS:INDEXED; only allow one /USAGE, record format, file
format, /CARRIAGE_CONTROL, /CONTIGUOUS, /NEW|/OLD per filespec).
Gregory A. Scott 7-Apr-86
114 In DIUSHO.B36: Show the passwords always if /DEBUG switch is on in
DIU$SFILES. In DIUCOMMAND.R36: Add R_NOSEQUENCE to rflags bits; update
some comments. In DIUC20.B36: Implement checking of multiple
/[NO]AFTER, /[NO]DEADLINE, /NOTIFY, /PRIORITY, /[NO]LOG_FILE,
/[NO]QUEUE, /PREREQUISITE, /SEQUENCE switches in same command. Remove
cells set_notify, set_queue, and set_log. Make default ext for
/LOG_FILE be LOG. Change routines ST_LOG and LOG to use rflags bit and
context. Remove very strange code in SW_ARGUMENT and FILE_ARGUMENT
that attempted to "hallucinate the default string into the atom buffer"
if no terminating colon was seen on a switch; it made parsing of
switches unlike any other TOPS-20 program. Move clearing of key_count
and stopswitches to INIT_REQUEST. Remove routine STOP_SETUP as it only
cleared stopswitches.
Gregory A. Scott 8-Apr-86
115 In DIUCOMMAND.R36: Add UNQUOTED for a context to be used for access
strings. Add bits F_USERID, F_PASSWORD, F_ACCOUNT to sflags/dflags.
In DIUC20.B36: Implement checking of multiple /USERID, /PASSWORD,
/ACCOUNT, /ACCESS, and fix bare /ACCESS switch. Give better help on
all four of those switches. Remove cells set_all_aci, set_acct,
set_pass, set_userid, since they have now been replaced by rflags bits.
Remove MACY11 file format, /[NO]BLOCKING_FACTOR switch, and routines
ST_BLK_FACTOR, FAC_SWITCH, and FAC_NSWITCH. Put break mask on
/RECORD_FORMAT switch.
Gregory A. Scott 9-Apr-86
116 In DIU.R36: Remove DIU$_NO_MESSAGE_PENDING. In DIUCOMMAND.R36: Add
F_SPAN_BLOCKS bit. Following in DIUC20.B36: Add proper switch conflict
errors for /[NO]SPAN_BLOCKS. Fix parsing of multiple word switches
(e.g. /FILE_FORMAT:FIXED:n) by having SW_ARGUMENT eat colons off of
the CMKEYed second word. Make the default second word to /FILE_FORMAT:
be RMS:. Rework command scanning of filespecs so that quoted filespecs
work rationally. Remove $PARSEs in DSTFIL and SRCFIL since they didn't
provide anything useful: quoted string filespecs didn't parse if you
were typing a [P,PN] and if it wasn't a quoted string the GTJFN done by
COMND checked the syntax and JFNS can be used to extract the name and
type for defaulting. (In other words, if the user id doing a quoted
filespec assume he knows what he is doing and let the remote FAL parse
the filespec later.) Invent two cells (src_node and dst_node) that
store the source and destination node names for MKJOBNAME's use, making
its job a lot easier. Remove following storage which was never used or
is now no longer used: sesa, desa, srsa, drsa, snam, dnam, sfab, dfab,
filcnt, trace. Teach GETFILESPECS about the DIRECTORY command so that
we can remove routine DIRECTORY. Remove brain damaged GETADD routine,
replacing it with calls to newly clevered up GETFILESPECS. Remove
routine ESAFNA which is no longer used.
Gregory A. Scott 14-Apr-86
117 In DIU.R36: Remove storage not used: DIU$H_COMMAND, DIU$T_COMMAND.
Remove $STR_DESC_INIT of fao_rec in $APPEND_FAO so that more than one
of them can be used at a time. In DIUSHO.B36: Change "entry" to
"request number", reformat show queue display. Rename DIU$$SHO_FULL to
be SHO_ALL and DIU$SFILES to be SHO_FILES. Make fao fabs in OWN
storage. In DIUSHD.B36: Make room for the entire 39 character username
and account to displayed. Repair display of "queued" default. Adjust
columns. In DIUCOMMAND.R36: Remove F_NON_EXISTANT, add F_DESCRIPTION
to sflags/dflags bits. Remove SHOW QUEUE values (VERBOSITY_NORMAL,
VERBOSITY_ALL, VERBOSITY_BRIEF) since they aren't used properly and now
we have a boolean flag for /ALL. In DIUC20.B36: Routine REQUEST
doesn't need to be global; and it's not anymore. Default the output
filename properly on the directory command by giving a default string
on the first flddb in the chain after the filename is parsed.
Implement checking for conflict between /AFTER /DEAD /QUEUE switches.
Implement switch conflicts for /DESCRIPTION. Check that /DESCRIPTION
and /TRANSFORM files are on disk. Allow SHOW DEFAULTS to take a
nodename. Routine MANIPULATE_ACTION did too much work that was done in
INIT_REQUEST, and its name conflicted with another routine that really
did useful work. Now the routine is called PRE_MANIPULATE and does
very little. TAKE_SET_DEFAULT is now PRE_TAKE.
Gregory A. Scott 17-Apr-86
120 In DIUCOMMAND.R36: Add R_NODE flag to rflags. In DIUC20.B36:
Additional work to make parsing of source and destination filespecs
work better, or at least differently. Allow "::" after node specified
in SHOW DEFAULTS. GETFILESPECS is now PRE_INPUT. SRCNOD and DSTNOD
were carelessly changing the $GJGEN flags that are patiently set up
elsewhere. Default the directory list level properly in PRE_INPUT.
The ill-conceived routine SPECIAL_CASES doesn't do anything useful but
default the filename and list level for the DIRECTORY command (which is
now done where it should be), so delete it. Change flag_node_set cell
to rflags[R_NODE]. Cells def_queuevalue, def_notify, and def_sequence
were really constants, so replace them by the constant.
Gregory A. Scott 18-Apr-86
121 In NOTIFY.B36: Implement better mail notification with improved Subject
line. Also identify ourselves as DIU rather than FTS. In DIULG2.B36:
Put a line seperator in between the filenames when logging a new
request. In DIUQUT.B36: Routine Q$EXTRACT_FILESPECS didn't have a
prayer of moving the destination filespecs correctly. It does now. In
DIUSHO.B36: Bug in SHO_FILES caused it to move way too many characters
when excluding the access string. This bug was covered up by bug in
DEF$ACCESS which gave an extra null after each filespec (which broke
LOG files among other things). In DIUDEF.B36: Bug in DEF$ACCESS caused
nulls to be included at the end of each filespec. This screwed up the
counts which later screwed up the log files since they were outputting
based on ASCIZ strings. In DIUC20.B36: Fix up help for filespecs after
nodenames. Remove last call to S$JFN_STR, and remove external routine
of Q$CONFIRM, which is never called.
Gregory A. Scott 19-Apr-86
122 In DIUJB2.B36: Range of error messages checked from CRJOB in S$CREJOB
should be [OPNX12 TO OPNX1] rather than [OPNX12 TO 18]. Abort requests
that have jobs that cannot be created. Say nothing about jobs not mine
logging out since this it is possible to get a CRJOB death interrupt on
a CRJOB failure (this is apparently a monitor "feature"). In
DIUPC2.B36: Make sure that the location that would point to a byte
pointer for the sender's node name is 0 in routine ipc_hndlr or we will
get an occasional unexpected string from the monitor. In DIU.R36:
Remove DIU$_NOT_MY_JOB_SENOR and DIU$_SYSTEM_FULL errors. In
DIUQUT.B36: Routine Q$EXTRACT_FILESPECS had (yet) another bug having to
do with output of multiple source filespecs. In DIUC20.B36: Routine
request didn't get new lengths of the source and destination filespec
after calling DEF$BUFFER, resulting in very short filespec lengths when
access information was applied. In DIUSPL.B36: Output the DIU version
to the system LOG file at startup, put the spooler startup message in
the LOG file before any possible message from opening the queue file.
Gregory A. Scott 22-Apr-86
123 In DIUERR.B36: Handle code2 properly if a TOPS-20 error code in
DIU$ABORT. Restart the spooler if we are (yet) the spooler and we
enter DIU$ABORT. Change name R$$LIST to E$FILES, because DIL has an
R$$LIST. Use Sandy's new code in E$FILES (nee R$$LIST). In DIUDO.B36:
Change routine R$$LIST to be E$FILES, only passing 2 arguments. In
JSYSDEF.R36: Add SFRKV linkage. In DIUT20.B36 Add routine S$RESTART
which will does a SFRKV to restart (this) fork. In DIU20.B36: Make
restarts work better if we are the spooler. In DIUPS2.B36: Zero the
rcvpid in IP_INIT so that restarts work better. In DIUC20.B36: Parse
of CMQST should be before CMFIL when parsing after the nodename.
Remove the extra states for the DELETE command (we use the common
remote input states instead now). Default generation should be "*" for
the DELETE command.
Gregory A. Scott 23-Apr-86
124 In DIU20.B36: Use conditional assembly to set diudeb cell rather than
keeping another copy of DIU20.B36 around in the debug build area. Set
slave job's program name to DIUDEB if debuging.
Gregory A. Scott 24-Apr-86
125 In DIU.R36: Add DIU$_SPOOLER_RESTARTED message, comment out the
*_TOO_LONG and *_FILESPEC_MISSING errors since they are never used
anywhere. Reorganize the various macro defs to make a little easier
reading. Remove diu$$version macro since it was (1) wrong and (2)
never used. $GET_FAO and $MSG_FAO shouldn't add an extra CRLF to the
control string. In DIUDO.B36: Output CRLF, hyphen, tab before
filenames so they fit within 80 columns in log files. Minor changes
due to changes in $MSG_FAO. In DIUSPL.B36: Output a little different
message if we have been restarted. Output proper event codes to LOG
file on start/stop/shut messages. Only call SP$SHUT at the end of
SP$STOP if we have to mumble around killing jobs. In DIULG2.B36:
Change slightly the string returned by L$NEW_REQUEST. In DIUC20.B36:
Minor change due to deletion of the "free" crlf furnished by $MSG_FAO.
/VFC:(n:m) was broken because it called RSTSTA after the first
argument; now ST_BYTE and ST_HALFWORD check cstate and do not do the
RSTSTA if we are in a state inside the /VFC:(n:m) switch. SRCFIL
should always default the file name and type even if they were
wildcarded.
Gregory A. Scott 24-Apr-86
126 In DIU20.B36: TAKEFLAG should be zeroed on startup, in case of ^C out
of a TAKE or EXIT within a take then START. In DIUC20.B36: SHOW
VERSION, MAX, and TAKE don't look right in TAKE files because they
don't output a CRLF at the end of the string, since MSG_FAO doesn't do
it anymore. INIT_REQUEST didn't specify its formal arguments. A
command of the form "STOP/NOW/WAIT/NOW/WAIT" used to work; now it only
lets you type one switch. In DIUERR.B36: Add output of CRLF at the end
of all messages output by DIU$MESSAGE. This makes TAKE/NOECHO stuff
look better. Routine E$FILES doesn't return a value any more. In
DIUDO.B36: Routine E$FILES doesn't return a value but the EXTERNAL
ROUTINE thought it did. In DIUJB2.B36: Module name should match
filename, so now this module is now called DIUJB2. S$TIMINT was being
called without a channel argument, making the interrupt system goofy;
S$TIMINT now uses t_channel always. In DIUSCH.B36: Change module name
to DIUSCH for DDT and GLOB. DO_SCHED is a NOVALUE routine, so why
should it return a value. S$TIMINT always takes the channel from
t_channel on the -20, so now it only takes one argument which is the
time to wake up. In DIUSCH.B36: Change calls to S$ACTIVATE. Regular
STOP command was broken by last edit. STOP/NOW shouldn't call SP$SHUT,
but wait for it to be called after all of the jobs logout. In
DIUPS2.B36: Get a new master PID from the name each time incase the
spooler is shutdown. In DIUPC2.B36: Routines IPC_CONNECT_ME and
IPC_STATUS shouldn't try and return a value. In COMAND.B36: Since
MSG_FAO doesn't give a free CRLF any more, we can use PSOUT when
echoing the TAKE commands.
Gregory A. Scott 26-Apr-86
127 In DIUPC2.B36: Routine ipc_msequence is now ipc_mprereq, and it deals
with changing the prerequisite id with no funny negation hacks
included. Return an value from Q$GIVEUP so that it will not be a noop.
Change module name to match filename (DIUPC2). In DIUQUE.B36: Remove
hack to Q$MODIFY where if you were given a negative prerequisite
request id then you would turn on the SEQ_CONTINUE bit. This is all
removed because of the new (sensible) use of /PREREQ and /SEQUENCE. In
DIUMOD.B36: Remove strange hack where a negative request id meant that
you really wanted /SEQ:CONT. In DIUCOMMAND.R36: Remove R_NOSEQUENCE.
In DIUC20.B36: Rework /PREREQ and /SEQ logic: Change /PREREQ switch to
allow NONE for modify and don't allow a request id of less than 2.
Remove NO and YES options to /SEQUENCE switch. Remove sequence_switch
and last_sequence_switch and previous_id cells, add pre_id cell.
Implement switch conflicts for /SEQUENCE with /QUEUE:NO.
Gregory A. Scott 26-Apr-86
130 In DIUSPL.B36: Call MAKEPROMPT to reset the prompt string in SP$SHUT
and SP$START. In DIUC20.B36: Routine MAKEPROMPT should be global so
that it can be called by SP$START and SP$SHUT. (Yet) again default the
filename properly in SRCFIL and DSTFIL if the file was remote and not
quoted.
Gregory A. Scott 28-Apr-86
131 In DIU.R36: Change $TRACE and $TRACE_FAO to be conditional assembly
based on the DEBUG switch, and remove refereced to diudbg. In
DIU20.B36: Remove the diudbg cell since it is no longer used.
DIUDIR.B36: Remove usage fo diudbg cell, replace it with conditional
assembly. Replace macro $DEBUG_FAO with $TRACE_FAO and $DEBUG_TRACE
with $TRACE, remove macro $CRLF since it was unreferenced. Not
entirely clear why this module has a private $PUT_FAO macro; maybe
someday I'll fix it. In DIUHLP.B36, DIUDIR.B36, DIUDEF.B36, DIUDO.B36:
Remove external of diudbg, which wasn't referenced and is no longer
used.
Gregory A. Scott 28-Apr-86
132 In JSYSDEF.R36: Add RIR, DTI, change ATI to have us trap the error
code. In DIU.R36: Add messages DIU$_PANIC_ILL_INST,
DIU$_PANIC_ILL_READ, and DIU$_PANIC_ILL_WRIT, DIU$_SPOOLER_ABORTED. In
DIUT20.B36: Add routine S$ATI which does an ATI JSYS; and S$RIR which
does an RIR JSYS; S$DTI which does a DTI JSYS. In DIUC20.B36: Routine
PARERR turned on the noparse bit but it also cleared the CM_XIF bit,
causing "@" not to be handled locally after a noparse. Add entry point
for exit_command routine to call upon a ^C. In DIUERR.B36: Restart
timing logic should be in SP$START, not here. In DIUSPL.B36: Enable
illegal instruction and illegal memory read/write panic channels so
that we can recover from problems. Add routine SP$PANIC to handle
these conditions. Add control-C trap. Move spooler restart logic that
checks for restart loops here from DIUERR since panic interrupts don't
signal errors.
133 In IPCF20.MAC: Add call to set the IPCF send/recieve quota up for the
entire job in IP$INT_SET. Change module name to IPCF20 for DDT and
GLOB. In DIUPS2.B36: Add routine IP_TALK which sends a message to the
spooler and gets a response back. It also sets the send/recieve quotas
to +INF if we are the spooler. In DIUSPL.B36: Set IPCF send/recieve
quotas to +INF for rcvpid. In DIUC20.B36: Change messsage in
EXIT_COMMAND if you are (yet) the spooler to have a CRLF after it (in
case called by ^C trap). Remove MACY11 code in FILFMT_SWITCH. /IMAGE
should only be global. Output better message in SRCNOD when we parse
junk due to CMFLD (adding messages missing source file specification,
bad switch, properly indicate file not found).
Gregory A. Scott 29-Apr-86
134 In DIU.R36: Add message DIU$_SHUTDOWN_ABORTED. in DIUERR.B36: Routine
DIU$MESSAGE now sends the error to the system log file if we (yet) the
spooler job. Routine DIU$$ERRMSG doesn't need to be global and doesn't
need to do two $STR_COPYs when one will do. In DIUPS2.B36: Previous
edit made SHOW QUEUE with nothing in the queue signal an error (from
IP_FIND) so that you would get %DIU event 53: The queue is empty rather
than [The queue is empty]. In DIUJB2.B36: Give a little better message
when killing a job. In DIU20.B36: Insure that the shutdown flag is
cleared before attempting restart. In DIUSPL.B36: A START command
should counteract any shutdown in progress. We don't have to write to
the LOG file ourselves now since DIU$MESSAGE does it. In DIUC20.B36:
SET MAX error message needed a space in the error message that you get
when you specify an out of range number. SHOW MAX now says "There are
n requests executing" if there are slave jobs running. Remove cell
stopped since cell shutdown is what should be used.
Gregory A. Scott 30-Apr-86
135 In DIU.R36: Remove DIU$$message macros since they are just so much
baggage, and now the text string are in DIUDO. Add DIU$_CONNECTED_TO
and DIU$_MAXIMUM_REQ_SET messages. In DIUC20.B36: Make the SET MAX
command output the current setting of MJOB if we are (yet) the spooler.
In DIUPS2.B36: Routine IP_CONNECT_ME now puts the message saying that
we have connected somewhere in the system and user log file itself,
rather than having other routines do it. In DIUPC2.B36: Routines
IPC_CONNECT_ME and Q$GIVEUP shouldn't be global, and they aren't
anymore. In DIUERR.B36: Clean up routines DIU$$ERRMSG and DIX$ERRMSG,
remove TOPS20 macro. Punt the extra quotes around the additonal text
in DIU$ERRMSG. In DIUT20.B36: Remove S$MOUNTONE since it was never
called, clean up S$MOUNTEM. In DIUDO.B36: Give request started message
before doing anything else, replace macros defined in DIU.R36 that just
expanded into text for FAO output with the actual text. In DIUSPL.B36:
A restart should show us the maximum simultaneous requests. Don't
decrement NJOB here, it is done when we get the IPCF that the job died.
Gregory A. Scott 1-May-86
136 Make keys work for indexed files. Change DIU$UPPERCASE to $STR_FORMAT
and delete DIU$UPPERCASE routine. Add support for key option switches
which was missing from DIU$KEY_ACTION. Files: DIUC20.B36, DIUDO.B36.
Sandy Clemens 1-May-86
137 In DIUDEF.B36: Remove references to DEF$G_MAXTIME, DEF$G_STATUS_DELTA,
DEF$G_REQUEUE_INTERVAL, DIU$H_TRIES which aren't implemented. Have
DEF$INIT get the initial LOG filespec placed in the root default.
DEF$CREATE should be maintaining the linked list, rather than having
each caller do it, and it should default the log file from the def_root
entry. In DIUT20.B36: Add routine S$CDIR which returns the connected
directory number. In DIUCOMMAND.R36: Add cbuf_len, FILE_QUOTED,
FILE_UNQUOTED, VALID_NODE, ACC_EMBEDDED, ACC_UNQUOTED, ACC_NOACCESS,
ACC_NONE, and ACC_PROMPT command contexts. In DIUC20.B36: Only check
node validity once in DSTNOD and SRCNOD, by looking at context
VALID_NODE. Rename ST_ACCESS to ST_UPA (user password account), and
clever it up to take VMS-style embedded access strings. Remove SRCACC
and DSTACC, calling ST_UPA instead. If input filename was a quotes
string, the default the output filename and type to *.*. Rename
SET_DEFAULTS_ACTION, to ST_DEFAULTS, clever it up a little bit to make
it set both types of SET DEFAULT command, then we can get rid of
SET_NODE. Work on LOG file routines included defaulting the log file
spec inside of INIT_REQUEST and simplification of routines LOG and
NOLOG. DEF$CREATE should be maintaining the linked list, rather than
having each caller do it.
Gregory A. Scott 3-May-86
140 In DIUDEF.B36: Save connected directory string (without the device) so
that log files can be properly defaulted in DIUC20's /LOG switch.
Routine DEF$ACCESS needed major work. In DIUSPL.B36: Spooler restart
aborted error wasn't furnishing the version number for FAO output. In
DIUPS2.B36: Add routine IP_CHECK which checks to see if there is a
spooler. In DIUC20.B36: ST_DEFAULTS was broken if setting def_root
entries. The /LOG switch doesn't default the connected directory right
since the JFNS to retrieve all of the parsed file specification isn't
returning a directory since the JFN is done generically parse only for
an old file. So, save the default directory in DEF$INIT for us to plug
in as needed. Rename SET_MJOB_ACTION to ST_MJOB and teach it to see if
we are the spooler or there is not (yet) a spooler before allowing MJOB
to be set.
Gregory A. Scott 4-May-86
141 In DIUC20.B36: Work on /KEY so that it only allows one [NO]CHANGES and
one [NO]DUPLICATES per key. Fix up help strings for the /KEY switch.
Uppercase the job name in MKJOBNAME.
Gregory A. Scott 4-May-86
142 In DIUDEF.B36: DEF$BUFFER now returns the length to the caller
properly. DEF$REQUEST defaulted the LOG file to a bad place, causing
things to get trashed. In DIUC20.B36: Rename LOG routine to ST_LOG,
remove routine ST_NOLOG, moving its rather limited function to ST_LOG.
Fix /NOLOG_FILE switch. DEF$BUFFER now returns the length of the field
it just set up, so use it.
Gregory A. Scott 5-May-86
143 In DIUC20.B36: REQUEST routine didn't ever use OWN variable txtbuf and
LOCAL variable ptr. The defaulting of the request switches (/LOG and
/NOTIFY) is now done by rewritten DEF$REQUEST which calls DEF$BUFFER
and so forth. Don't default the notify and log file stuff in
INIT_REQUEST dince it is done in DEF$REQUEST now. Remove notify_value
(no longer used) and mvalue (write only variable). The /SPAN_BLOCKS
switch should result in a tag value of NOT FAB$M_BLK, and /NOSPAM
should result in FAB$M_BLK. In DIUDEF.B36: Rewrite DEF$REQUEST to
handle all request defaulting into reqblk, including calling DEF$BUFFER
and new routine DEF$RSWITCH. Add some comments here and there.
Gregory A. Scott 6-May-86
144 In DIUERR.B36: Add extra argument to DIU$MESSAGE which is a logical
flag. If FALSE, then never write this error to the system log, if
TRUE, write it to the system log if we are the spooler. in DIUMOD.B36:
Rename Q$MESSAGE to be DIU$MMESSAGE, and make it print better messages
including the node name specified. Change call to DIU$MESSAGE to not
enter these messages into the system log file. In DIUC20.B36:
DIU$MESSAGE calls from here now never write to the system LOG file. In
DIUSPL.B36: DIU$MESSAGE calls from here should always write to the
system LOG file. In DIUDO.B36: Call to DIU$MESSAGE from here shouldn't
write to the system log file if we are (yet) the spooler.
Gregory A. Scott 7-May-86
145 Set up the record count correctly for RMS RELATIVE files. If the user
specified a maximum record size then use it if it's valid and signal if
it's too small. When creating RMS RELATIVE and RMS INDEXED files, set
RAC to KEY before the $CREATE. Fix FREE_STRINGLIST so that if zero is
passed to it, it won't try to release the memory. FILES: DIUDO.B36,
DIU.R36.
Sandy Clemens 7-May-86
146 In DIUMOD.B36: Last edit was a bit too adventerous about printing the
node name. Only output it if there wasn't a request number specified.
Add a number of errors to list in MODREQ. In DIU.R36: Add the
following: DIU$_PREREQ_NOT_YOURS, DIU$_PREREQ_NON_EXIST,
DIU$_PREREQ_LOOP, rename/modify DIU$_INVALID_DEPENDENCY to be
DIU$_INVALID_PREREQ, rename/modify DIU$_NO_DEPENDENT to be
DIU$_NO_PREREQ. In In DIUPC2.B36: Major changes to IPC_MPREREQ,
including making it callable from IPC_ENTER, check for illegal
modification of the prerequisite request number. Add error messages
defined by this edit in DIU.R36. In DIUPS2.B36: Errors returned from
IP_TALK weren't getting signalled properly. DIUC20.B36: Print a
message if we can't queue the request (checking status returned from
IP_ENTER in the REQUEST routine).
Gregory A. Scott 7-May-86
147 Remove DIUCSR.B36 from loading since it is never called. In
DIUERR.B36: Be a little smarter about returning error message strings
from here so that DIU events are always labelled as such, and other
error messages are prefixed by DIU (e.g. "?DIU RMS event nnnnnn:
text"). In DIUDEF.B36: Don't output an extra CRLF in DEF$PROMPT after
the % Access information for node "X" message. In DIUJB2.B36: Delete
references to usrlog. In DIULG2.B36: Add routine L$UINIT to open the
user log file. Fix lj$utxt so that it can be called from DIUC20 at the
time that request is created. Clean up user log routines. In
DIUC20.B36: Log the creation of a request in the user's log file. In
DIUDO.B36: Open up the log file using L$UINIT routine rather than doing
it here. In DIUPC2.B36: If a request being cancelled has a
prerequisite then the prerequisite's dependent id wasn't being killed;
solution is to call the fine IPC_MPREREQ routine from IPC_DELETE.
Clean up Q$GIVEUP and rename it to be IPC_GIVEUP.
150 In DIUDEF.B36: /DESCR defaults on output if there isn't an output
/DESCR and there is an input /DESCR in DEF$REQUEST. In DIUC20.B36:
Give a parse error on the following: /RMS:INDEXED without /KEY on
destination side, /TRANSFORM without source /DESCRIPTION, and
destination /DESCRIPTION without source /DESCRIPTION means that
destination must be /RMS:INDEXED. In DIUERR.B36: E$LIST should treat
NAM$A_ESA and NAM$A_RSA fields as byte pointers, not as the address of
the start of the string. In DIUQUT.B36: Q$REQ_BLOCK_INIT very stupidly
cleared the request block a field at a time. Now we just clear the
whole thing and then reset the version and length.
Gregory A. Scott 9-May-86
151 In DIUCOMMAND.R36: Add R_IMAGE. In DIUC20.B36: Fix PARERR to backup
the command buffer over the last switch, so that a ^H after some PARERR
generated error looks proper and correct (yuk). Don't allow /TRANSFORM
or /DESCRIPTION with /IMAGE file format.
Gregory A. Scott 9-May-86
152 In DIU.R36: Add DIU$_ILLEGAL_USER_LOG, DIU$_INIT_QUEUE,
DIU$_REQ_CREATED, DIU$_SLAVE_ABNORMAL, DIU$_REQUEUE, DIU$_REQ_TIME_OUT,
delete DIU$_HOLD. In In JSYSDEF.R36: Add CHKAC. In DIUC20.B36: Have
spooler job write the "request queued" message to user log file. In
DIUJB2.B36: Give error messages to user log file when the job is
cancelled/aborts. Use new routines lj$event and lj$uevent. In
DIULG2.B36: Add routine l$check_access which checks to see if a user
has access to a log file that he specifed. Add l$event which logs a
DIU event to the system log file. Add lj$event which logs a slave job
type message to system log file. Add lj$uevent which logs a slave
message to user log file from spooler. In DIUPC2.B36: Check access to
log file (if any) in IPC_ENTER. Write the "request created" message to
both user and system log files from here, now that we know that access
to the user log file has been checked. In DIUQUE.B36: Routines
kill_job and q$copy_req_block were defined as external here but were
never called. Make queue initializing message a real event. In
DIUQUT.B36: Q$REQ_BLOCK_INIT didn't default the priority to 10 in a new
block. In DIUSCH.B36: The routine that tried to expire requests whose
deadlines had passed did a rather incomplete job. Same way with the
timeout routine. So, now we do it the same way that ipc_delete does.
in DIUSPL.B36: Use new routine to write to the system LOG file for the
"maximum requests set to n" message from SP$START. In DIUT20.B36:
Insure that s$username returns as ASCIZ string.
Gregory A. Scott 11-May-86
153 In DIUDO.B36 remove SFLAGS and DFLAGS (they are bogus for queued
requests!). Add check of FDB to determine if the source file is
NONRMS, in which case set the byte size and TYP block class
accordingly. Remove code which does switch checking -- this is now
done by the command parser in DIUC20. The parser now copies the
source record descirption file name into the destination if the dest
doesn't (yet) exist, so we can remove DIU$COPY_DESCRIPTION. Clean up
DO$ATTRIBUTE_COPY. Any initial defaults are now set up in the RMS
block initializations. Record access of RAB$K_TRA doesn't work for
source file organization of FAB$K_SEQ; change record acces to
RAB$K_SEQ if the source file is relative. Don't check for key fields
being byte aligned -- the routines which build the record description
trees already do this for each field. In PATPOR: delete routine
DIU$COPY_DESCRIPTION; DIUDO was its only user.
Sandy Clemens 12-May-86
154 In DIU.R36: Add DIU$_REQUEUE_COUNT message, delete DIU$_NOT_DISK,
DIU$_NEED_USAGE, DIU$_CHECKPOINT, DIU$_INVALID_ATTRIBUTES,
DIU$_WILDCARD_NOT_ALLOWED. In DIUC20.B36: The /IMAGE switch should add
a tag of diu$k_fab_fac with a value of fab$m_bio for DIUDO's use. Use
-1 generation on the output side of a remote filespec. In DIUDO.B36:
Output the number of requeues in the log file after request started.
Since cretinous RMS20 doesn't follow standard BLISS error codes, we
have to convert his errors to something we can return from DIU$DO. In
DIUJB2.B36: Write better information in the user log when the job can't
be created. Rename s$crejob to j$create (since the s$ prefix implies
DIUT20). Rename kill_job to j$kill. Rename start_job to j$start.
Remove s$kiljob. Rename s$death to j$death. In DIULG2.B36: Add the
l$uevent routine which logs a random event to the user log. Simplify
the l$new_request routine. in DIUPC2.B36: Rename s$death to j$death
and kill_job to j$kill. In DIUSCH.B36: Rename start_job to j$start and
kill_job to j$kill. We were calling lj$event and lj$uevent when we
meant l$event and l$uevent. In DIUSPL.B36: Use routine j$kill instead
of s$kiljob. In DIUT20.B36: Remember the job number the first time
through s$jobno and return it from then on rather than getting it each
time. Don't cancel any timer interrupts in s$timint for the future.
Comment out s$local_nodeid and s$strdt which aren't used anywhere.
Gregory A. Scott 12-May-86
155 In DIUDO.B36: Remove external of L$NEW_REQUEST (not used anymore).
Don't call DIU$DEF_TRANS unless there is a source description! Set up
TYP class for TOPS-10 source files as well as TOPS-20 source files.
Make /IMAGE work (between TOPS-10/20 systems only). Remove check of
ISAM file switches (parser does this now!). In DIU.R36: add message
DIU$_IMAGE_INVALID.
Sandy Clemens 12-May-86
156 In DIU.R36: Remove unused DIU$G_SNAPSHOT, DIU$G_INITIATED,
DIU$G_TRANSFER_START, DIU$G_TOTAL_XFER, DIU$G_CURR_XFER, DIU$V_DEFER,
DIU$B_SOURCE_USAGE_TYP, DIU$B_DEST_USAGE_TYP, DIU$V_CHECKPOINT,
DIU$V_MATCH_EITHER, DIU$G_MAXTIME, DIU$G_REQUEUE_INTERVAL, DIU$H_TRIES,
DIU$G_STATUS_DELTA, DIU$V_CONVERSION, DIU$V_BLOCK_MODE, DIU$H_STATUS,
DIU$H_TOTAL_FILES, DIU$G_TOTAL_WARNINGS, DIU$G_WARNINGS,
DIU$G_REQUEUE_ERROR, DIU$G_FILE_SIZE, DIU$B_INPUT_OS, DIU$B_OUTPUT_OS,
DIU$H_CURRENT_INPUT, DIU$H_CURRENT_OUTPUT, DIU$T_CURRENT_INPUT,
DIU$T_CURRENT_OUTPUT. In DIUCOMMAND.R36: Remove F_USAGE, F_LSA,
F_STREAM, and F_NONRMS. In DIUC20.B36: Remove /USAGE (the usage is set
in the description file) and /NONRMS (the file's FDB is checked for the
RMS file class) switches. Make the record format switches illegal with
/IMAGE file format. In DIUDO.B36: Remove references to
DIU$B_SOURCE_USAGE_TYP and DIU$B_DEST_USAGE_TYP, since they are not
needed and not set by DIUC20 any more. In DIUPC2.B36: Modify the
dependent field of the incore copy of the request block when a request
is entered with a prerequisite switch. In DIUSHO.B36: Remove reference
to DIU$H_TRIES since it it not implemented. In DIUQUT.B36: Remove
DIU$V_CHECKPOINT reference, set DIU$H_WARNING_MAX to 1 in
Q$REQ_BLOCK_INIT.
Gregory A. Scott 13-May-86
157 In DIUDO.B36: Remove external reference to REQBLK. Use passed REQUEST
instead. Add parameter REQUEST to DIU$KEY_ACTION routine. When
copying indexed files to a sys_8bit system, set record access to
RAB$K_TRA (RAB$K_KEY does not work!).
Sandy Clemens 14-May-86
160 In DIU.R36: Add DIU$_DAMAGED and DIU$_ANOTHER_VERSION. In DIUQUE.B36:
If the queue file was written by another version we got all confused.
The problem was that if the $GET for record 1 wouldn't work then we
decided that the queue file didn't exist. Now we check for RMS$_RNF
error to determine that the queue file is virgin, which is the right
way to do it.
Gregory A. Scott 14-May-86
161 In DIUC20.B26: Make the /LSA switch erase properly on a parse error
(like /IMAGE already specified in the command line) by always calling
sw_argument at the start of the rfm_switch routine then retstoring the
commadn state with rststa at the end of that same routine if it was the
lsa switch. In DIUSHO.B36: Don't attempt to display information that
is not returned to us because we are not prived or the owner of the
request even if SHOW QUEUE/ALL.
Gregory A. Scott 14-May-86
162 In DIUDO.B36: Initialize src_usage_typ and dst_usage_typ so that
datatype (usage) conflicts are not issued constantly. In DIULTR.B36:
Update comments in DIULTR regarding usage. In DIU.R36: Change
DIU$_USAGE_CONFLICT message so that it doesn't mention the now
non-existent /USAGE switch.
Sandy Clemens 14-May-86
163 In DIUC20.B36: Clean up DIUCMD to get the take file JFN installed in
the command state block differently and remove routine D$$COMAND which
apparently was a debugging aid. In DIUDO.B36: Dot bug in CFMFILE was
causing the wrong message to be printed.
Gregory A. Scott 15-May-86
164 In DIU.BLI: Remove $APPEND_FAO and $PUT_FAO from here. In DIUC20.B36:
Rename D$SHDF to SHODEF and don't pass it an unused third argument.
Avoid using crufty $MSG_FAO macro. In DIUDIR.B36: Remove UNDECLARE of
$PUT_FAO since it is no longer in DIU.R36, remove cell fal_len since it
is never used anymore (pass a 0 to $FAO instead). In DIUPC2.B36: Clean
up ipc_master. In DIUPS2.B36: Call new routine SHOQUE rather than
D$SHRQ from ip_list. In DIUSHO.B36: Using RMS for terminal IO was
causing us problems: If we were showing the queues when we got an IPCF
interrupt, we would bomb out with "? Channel 0 interrupt at blah"
because the chntab entry points to a PUSHJ P,INTHAN instruction, but
the stack is in section 3 so the PUSHJ doesn't work. Cure is to not
use RMS for terminal IO when showing the queues. In DIUSHD.B36: Rename
D$SHDF to SHODEF and don't accept an unused third argument. Using RMS
for terminal IO was causing us problems here too, so don't do it
anymore here. In DIUSPL.B36: Go NOINT while starting the spooler. In
DIU20.B36: Clear the noint depth on startup for restarting. In
DIUT20.B36: Make noint_depth global so it can be cleared on a restart.
Gregory A. Scott 16-May-86
165 In DIU20.B36: Edit 163 broke CCL takes, which is fixed now. In
DIUC20.B36: Turn off the interrupt system while running in DIU$DO in
the request routine. This to to prevent getting bombed out to the exec
because an active slave job or some user sent us an IPCF message while
we are running in RMS with a section 3 stack. Yes, it is gross but so
is doing non-queued requests from the spooler job. Edit 163 broke CCL
takes, which is fixed now. Have macro PE append a CRLF to his strings.
In DIUDEF.B36: DIU$ABORT was external routine but was never referenced.
In DIUPC2.B36: Use page 276 for ipcf page to avoid race problem with
doing commands from the spooler job. in DIUPS2.B36: Remove
qlist_indent macro since it is not used. Use page 277 for slave job
IPCF pages to avoid interrupt/non-interrupt race problem with doing
commands from spooler job.
Gregory A. Scott 16-May-86
166 In ACTUT2.BLI: Modify initial value processing so that it always sets
up default initial values for fields which have not had anything moved
into them (either explicitly with a MOVE statement or with a
MOVE-MATCHING or MOVE-OTHERS-MATCHING statement and for which the user
did not already set up an initial value. Set up the default initial
value based on the datatype of the field. Note: initial value defaults
are NOT set up for structures or overlays.
Sandy Clemens 19-May-86
167 In DIUC20.B36: Add hair to SW_ARGUMENT to the area that prevents double
colon typeout: this fixes a rather obscure case of a switch completed
with escape that takes an argument and the user types a question mark
and that switch happens to end at a place where there is a colon left
in the command buffer from a previous command (check that the next
unparsed character is a colon and the last parsed character is not a
colon). Use S$NODE_CHECK for all nodes parsed and turn on the parse
only bit in CMNOD, since we want to be smart about nodes that are
offline. In DIUSCH.B36: Remove external for s$node_check since it is
not used here. In DIUVER.MAC: Add copyright information in ASCIZ.
Gregory A. Scott 19-May-86
170 In DIUDO.B36: Various problems with releasing dynamic memory have been
fixed. New routine DO$FREE_MEMORY now does it right. Rename CFMFILE
back to its origional name (DO$CONFIRM) and clean up global storage.
Gregory A. Scott 19-May-86
171 In DIUC20.B36: Add routine C$CONTROL_C to handle the control-c
interrupts. If a control-c is seen in a TAKE and we are yet the
spooler, then we just set the current take JFN to eof. Remove call to
S$TRACE, just do the $DEBUG call here instead. Use MONSYM and JSYSDEF
rather than TOPS20. In DIUERR.B36: No need to call S$LGOUT (slave will
HALTF causing LGOUT), so remove it. In DIUSPL.B36: Call routine
C$CONTROL_C for control C interrupts. In DIUT20.B36: S$LGOUT and
S$TRACE aren't called by anybody any more, so remove them. In
JSYSDEF.R36: Add CFORK, GET, WFORK, OPENF, RPCAP, SFORK.
Gregory A. Scott 19-May-86
172 In DIU.R36: Change $TRACE to do a call to S$TRACE to type its strings.
(Note: S$TRACE will have to be added to DIUT10 later.) In DIUC20.B36:
Change prompt to DIUDEB if debugging. Really remove LIBRARY 'TOPS20'.
In DIUDEF.B36: Remove LIBRARY of TOPS20. In DIUT20.B36: Add routine
S$TRACE, which doesn't call RMS to enter trace mode but instead is used
to output a string to the terminal for $TRACE.
Gregory A. Scott 20-May-86
173 In DIUT20.B36: Add routine S$IFRMS, which will check the file class bit
for a JFN. In DIUDO.B36: Use routine S$IFRMS to check to see if a file
is an RMS file. Delete library TOPS20, since it is no longer needed.
Gregory A. Scott 20-May-86
174 In JSYSDEF.R36: Add FLIN, DFIN, change TBADD to indicate we want to
catch errors. In ACTUT2.BLI: Change library of TOPS20 to use MONSYM
and JSYSDEF, use JSYS_DFIN and JSYS_FLIN. In ASK.B36: Remove library
of TOPS20, use MONSYM and JSYSDEF. In DIUC20.B36: The help command
tables were broken sometime in the past. In DIUHLP.B36: Remove library
of TOPS20, use MONSYM and JSYSDEF instead. In DIUPS2.B36: Remove
library TOPS20, use library MONSYM instead. In DIUQUE.B36: Remove
library of TOPS20, use routine wild_match instead of wild jsys. In
DIUQUT.B36: Remove library of TOPS20, use wild_match routine instead of
wild jsys. Fix Q$FNOD bug with embedded access strings. In
DIUSCH.B36: Remove library TOPS20. In DIUSHD.B36: Remove library of
TOPS20. In DIUSHO.B36: Remove library of TOPS20.
Gregory A. Scott 20-May-86
175 In DIUDO.B36: Make src_dixtype and dst_dixtype LOCAL to DIU$COPY and
change all other references to them be references to src_ostype and
dst_ostype. Set up line sequence numbers in the dst_rab correctly for
LSA files. Don't write extra CRLFs into LSA destination record buffer.
Comment out code for FAB$V_CR on TOPS-10/20. It's not supported!!
Terminate stream files CORRECTLY. In DIU$KEY_ACTION change OWN
variables to be LOCAL.
Sandy Clemens 20-May-86
176 In DIUDIR.B36: Clean up DIR$_OPEN_OUTPUT, much of it is never used.
Implement grand total file size count. Output long filenames properly.
Clean up the rather gross implementation of $PUT_FAO.
Gregory A. Scott 21-May-86
177 In DIUDIR.B36: Add call to S$BREATHE in inner file processing loop.
Compilation /DEBUG didn't work because the BIND to get around compiler
bug was after the $TRACE in DIR$NORMAL. In DIUT20.B36: Add routine
S$BREATHE, which turns off then on the interrupt system if we are (yet)
the spooler so IPCF messages can be recieved while we have a section 0
stack. In DIUDO.B36: Call S$BREATHE here and there to allow
interactive COPY commands to work properly if we are (yet) the spooler.
200 In DIUCOMMAND.R36: Add F_ON_DISK. in DIUC20.B36: Don't allow non-disk
output files for DIRECTORY if the command is queued. Also check that
input and output files are on disk (if local). Add (yet) more hair to
PARERR to eat the spaces at the end of a field before trying to eat the
field itself. in DIUJB2.B36: If the IPCLO message specifies that a job
that killed the slave job is -1, then the job that killed the slave job
has already logged out.
Gregory A. Scott 22-May-86
201 In DIUDO.B36: Make COPY with wildcarded local filespec work. This
worked already for remote filespecs but there appears to be a bug in
RMS causing different behavior on the local system. If at some point
RMS changes, this new code should be removed. Search for [201] to find
the work-around code!
Sandy Clemens 22-May-86
202 In JSYSDEF.R36: Add catch of error to ODCNV. In DIUC20.B36: Fix
/AFTER:TODAY again (groan), daylight savings time wasn't being handled
properly. In DIUT20.B36: Remove S$IDCNV, it is no longer used.
Gregory A. Scott 23-May-86
203 In COMAND.B36: Make multi line commands echo properly from take files.
In DIUC20.B36: Add macro $TTY_FAO which prints a FAOed message on the
terminal. Indicate the end of a TAKE file with a little message.
Abort all takes when we a ^C is seen and we are yet the spooler doing a
take.
Gregory A. Scott 23-May-86
204 In DIUC20.B36: Allow HELP topics to include /switch, add default topic
DIU. Only allow the /NOAFTER and /NODEADLINE switches from the MODIFY
command.
Gregory A. Scott 24-May-86
205 Make the NEXT function set the after time to zero and release the
request. Clean up DIU$MODIFY, move MODREQ outside DIU$MODIFY block.
Gregory A. Scott 27-May-86
206 Remove DIU$LIST code, replace it with DIU$DIRECTORY in DIUDIR. Put in!
defensive code to prevent /STREAM:CR and /STREAM:LF and /VFC!
destination record formats on TOPS-10/20 systems. In DIU.R36: Add
message DIU$_INVALID_RFM. In DIUC20.B36: Source remote filespec
followed by a local filespec got SRCFIL confused because sflags[F_NODE]
wasn't reset in PRE_INPUT. In DIUDIR.B36: Remove code from DIUDO that
opened the files and so forth and move it here for simplicity (module
is now entered from DIUDO at DIU$DIRECTORY rather than D$DIR). Be
smarter about the grand total message (say pages and blocks if that is
the case [yuk]). Remove DIR$OPEN_OUTPUT.
Gregory A. Scott 27-May-86
207 In DIUC20.B36: The /[NO]CONTIGUOUS switch could be typed to the input
file. In DIUDIR.B36: DIR$INITIALIZE did a crude job of ASCIZing the
input spec.
Gregory A. Scott 27-May-86
210 In DIUT20.B36: Fix S$DIRNO to check for reasonable sized directory
string. Also remove all commented out code.
Gregory A. Scott 27-May-86
211 In DIUDO.B36: Make SUBMIT write a stream file if it is going to TOPS-10
TOPS-20. General cleanup. In DIUC20.B36: Put a CMCFM before the
destination file parse in the SUBMIT and PRINT commands (so that we
don't always hallucinate the default file name). Allow multiple
sources on the SUBMIT command. Only write the $ETG for the destination
filespec buffer if it is non-empty.
Sandy Clemens/Gregory A. Scott 29-May-86
212 In DIUDO.B36: Make the default record access mode (RAC) be TRA rather
than BFT. General cleanup.
Sandy Clemens 30-May-86
213 In DIUMOD.B36: bad call to S$USERNAME was causing modify requests to
occasionally fail and also not default the username correctly.
Gregory A. Scott 2-Jun-86
214 In DIUC20.B36: Add routine SH_QUEUE and have the SHOW QUEUE routine
call it. Default the destination switch of /OLD on the APPEND command
in the REQUEST routine.
215 In DIUSHO.B36: Call IP_FIND from SHOQUE to simplify things. In
DIUC30.B36: Change IP_LIST call to SHOQUE. In DIUPS2.B36: Delete
routine IP_LIST, work is done in SHOQUE now.
Gregory A. Scott 3-Jun-86
216 In DIUC20.B36: Default of /OLD in the APPEND command should set the CIF
bit rather than clearing it. Turn off parse only bit on output side of
APPEND. Make p_src and p_dst GLOBAL so that DEF$REQUEST can use them.
In DIUDEF.B36: Clean up DEF$TAGS a little bit, size the filespec
buffers by using the difference between p_src and p_dst pointers and
the start of the buffers. In DIUSPL.B36: Call routine S$NOMOUNT when
becoming the spooler so we can run without incrementing the mount count
for every regulated structure. In DIUT20.B36: Let the spooler ignore
mount counts by calling new routine S$NOMOUNT. Increment the mount
count for the structure to be connected to in the S$MOUNTEM routine.
Gregory A. Scott 4-Jun-86
217 In DIUC20.B36: An illegal destination filespec (like specifying
wildcards on the resulted in "File not found" faked error message from
DSTFIL. Edit 215 caused a bug in the SHOW QUEUE /switch parse tables
to appear. Allow wildcards in destination to APPEND command again.
Remove APPEND specific switches (/NEW/NONEW/OLD), since the COPY
command does /NEW and the APPEND command does /OLD. Remove all extra
parse tables and so on associated with the differences between APPEND
and COPY. In DIU.RNH: Revised help file.
Gregory A. Scott 4-Jun-86
220 RENAME should only allow one input filespec. APPEND takes different
switches than COPY (e.g. no /IMAGE and nothing but /RMS:SEQUENTIAL).
Again make wildcards illegal for destination side of APPEND.
Gregory A. Scott 6-Jun-86
221 In DIUDO.B36: Make APPEND command work. Remove routine DIU$APPEND and
have APPEND use DIU$COPY instead. Make DIU$COPY work for APPEND! Pass
the request function code to DO$SETUP_COPY so that we can $OPEN the
destination file for append rather than $CREATE it. In
DO$$LOAD_BLOCKS, fix bug in $$RMS_MASK macro and remove tags which we
don't use there. Set up for block mode to TOPS-10. General cleanup.
Sandy Clemens 6-Jun-86
222 In DIUSHD.B36: Target string for wild match wasn't made ASCIZ, causing
SHOW DEFAULTS node:: to work strangely or not at all.
Gregory A. Scott 7-Jun-86
223 In DIUDO.B36: RENAME shouldn't look for multiple sets of input files.
Gregory A. Scott 7-Jun-86
224 Change all of the DIU$xxx routine names to be DO$xxx. Remove S$IFRMS
which would only work if the file is local. This was used to decide
whether or not to set the type block class field or not. Now, always
set it, since it won't hurt anything if the file is an RMS file, and it
is needed for a non-RMS file. Also, add the code to set the type block
class field for the destination files on an append, since we do a $OPEN
rather than a $CREATE we'll need this information and it doesn't appear
to get supplied to us. Never set the block mode flag for TOPS-10 files
if the user already specified /STREAM. In DIUT20: Remove routine
S$IFRMS.
Sandy Clemens 9-Jun-86
225 Make local RENAMEs work by moving $PARSE inside the loop looking for
files - its a hack because of TOPS-20 bug. If/when this bug is fixed,
remove code with [225] in comments. RMS can't be expected to know what
we are up to, that is why the workaround is here.
Gregory A. Scott 9-Jun-86
226 In DIUDO.B36: Always setting the class field in the TYP block (see edit
224) will not work in all cases, because if the file is actually an RMS
file, the $CONNECT code will get confused by the class value in the TYP
block. $OPEN checks for a prologue and knows if the file is actually
an RMS file, but $CONNECT doesn't necessarily have the prologue to look
at and returns RMS$_IAL (Invalid Access List). Therefore, DIU has to
determine whether or not the file is an RMS file on a $OPEN (since RMS
doesn't tell you) by checking the record format. RMS files NEVER have
record format of STM, LSA or UDF, so if one of those record formats is
encountered (after the $OPEN) then we can set the class field in the
TYP block.
Sandy Clemens 10-Jun-86
227 In DIUDO: Initialize src_usage_typ and dst_usage_typ before processing
a COPY or APPEND.
Sandy Clemens 11-Jun-86
230 In DIUDO.B36: Make remote renames work. That ugly code introduced by
225 must stay forever, because it makes renames to VMS work. Make
DO$CONFIRM take source and dest FABs instead of RABs, fix several bugs
in it. In DIUC20.B36: Access control string that didn't specify an
account copied the password over as the account in ST_UPA routine.
Gregory A. Scott 12-Jun-86
231 In DIUDO.B36: Always set the source file MRS before the $PARSE/$SEARCH
in DO$COPY. This is necessary because the $SEARCH tries to return the
RFM, and if the MRS is zero, the RFM may be set wrong. Before doing
the $OPEN on the source file, if the file is a TOPS-10/20 system then
set the byte size of the file (so that FFF $OPENs always work!). Also
set the TYP block class field if the file is local. (This will fail if
the file is remote!). Then, after the $OPEN, call S$IFRMS (for local
files only) and if the file is an RMS file, then set the TYP class to
zero (because otherwise the $CONNECT will fail). In DO$FILE_COPY, for
the first record ONLY (instead of for each record), read the last
character and see if the record is terminated by <CR>, <LF> or <FF>.
If not, then set a flag which indicates to add <CRLF> for each record.
Also, if the crlf is added (for EACH record), then increment the record
size ONLY ONCE! It was getting incremented on EACH operation! In
DIUT20.B36, add back S$IFRMS to check the file class bit of a file and
determine whether or not it's an RMS file.
Sandy Clemens 16-Jun-86
232 In DIUC20.B36: Initialize patpar_warn to zero in INIT_REQUEST.
Sandy Clemens 16-Jun-86
233 In DIUDEF.B36: DEF$BUFFER wasn't making the filespecs ASCIZ properly
(shows up on embedded access control in particular). It also never
used its third argument (request block); it only has two arguments now.
Gregory A. Scott 16-Jun-86
234 In DIUC20.B36, DIUDIR.B36, DIUQUE.B36, DIUQUT.B36, DIUSCH.B36,
NOTIFY.B36: Change library of RMSUSR to RMSINT.
Gregory A. Scott 17-Jun-86
235 In DIUDO.B36: Change library of RMSUSR to RMSINT. Add call to
DIU$CONV_STATS. Add DIUCSR.B36: Rewrite from DIUCSR.BLI to reflect
changes in DIU and remove TOPS-10 and VMS conditionals.
Sandy Clemens 18-Jun-86
236 To remove dependency on DIL/DIX sources, change library of DIXLIB to
DIUDIX and add DIUDIX.R36 (a smaller clone of DIXLIB, FIELDS and
STAR36). FILES: DIUCSR.B36, DIUDO.B36, DIUERR.B36, ACTION.BLI,
ACTUT2.BLI, ACTUTL.BLI, DIUCLE.BLI, DIUDMP.BLI, DIUETR.BLI, DIUGTR.BLI,
DIULTR.BLI, DIUMAP.BLI, DIUMAT.BLI, DIUMLB.BLI, DIUMMP.BLI, DIUTLB.BLI,
DIUTUT.BLI, ACTION.REQ.
Sandy Clemens 19-Jun-86
237 In DIUDO.B36: Set the source and destination ostypes up before calling
DO$SETUP_COPY in DO$SUBMIT; new routine DO$OSTYPE_SETUP does this.
This caused random "protection violation" failures on PRINT and SUBMIT
commands. Also make DIU$SETUP_COPY not give this same message when a
"unknown" operating system is discovered (in my case I was trying to
copy a file to RSTS/E); just do nothing special and hope that it will
work since it is probably ASCII data.
Gregory A. Scott 19-Jun-86
240 In DIUCSR.B36: Change name to DIU$CSR - something that makes sense for
output in DDT. Use the DIXTAB that is in DIUERR rather than having
another copy here. In DIUERR.B36: Make DIXTAB global so that it can be
used from DIUCSR. In DIUDO.B36: Code at the end of DO$COPY was overly
complicated. Get around (yet) another bug in RMS by treating the RSA
pointer as an ASCIZ string (RSL not filled in right if a PPN-style file
spec is returned by a remote).
Gregory A. Scott 19-Jun-86
241 In ACTION.REQ, add OTHERWISE case to select statement in SIZE_OF macro.
In ACTION.BLI routine DEFINE_DTYPE (DEFTYP), add informational message
for unsupported datatypes. In DIU.R36, add DIU$_PAR_INFO for the new
signal in DEFINE_DTYPE.
Sandy Clemens 20-Jun-86
242 In DIULTR.BLI: Datatype DIX$K_DT_DN6LO was missing from the SELECTONE
statement in DIU$REMAP_TREE where the usage type is set.
Sandy Clemens 20-Jun-86
243 In DIUDO.B36: Correct some of the problems in pulling image files from
TOPS-10.
Sandy Clemens 24-Jun-86
244 In DIUDO.B36: In routine DO$COPY, set maximum record size (MRS) before
the $PARSE/$SEARCH only if the MRS is not currently set; don't override
existing value.
Sandy Clemens 26-Jun-86
245 In DIUC20.B36: Make /IMAGE legal for the input file for reading TOPS-20
COBOL files with RECORDING MODE IS BINARY with mixed-mode ASCII data
(which is ASCII text mixed with numeric data; fixed and or floating
point).
Gregory A. Scott 26-Jun-86
246 In DIUC20.B36: Remove edit 245. Add /LIBOL:n switch to read the files
that are written with RECORDING MODE IS BINARY with mixed-mode data.
Default the /VFC switch to 2. In DIUCOMMAND.R36: Add DIU$K_LIBOL,
remove DIU$K_NONRMS and DIU$K_MACY11.
Gregory A. Scott 27-Jun-86
247 In DIUDO.B36: handle LIBOL RECORDING MODE IS BINARY files (/LIBOL:n).
See edit 246.
Sandy Clemens 27-Jun-86
250 In DIUDO.B36: Remove some of the strange workarounds for TOPS-10 now
that I have RMS working a little better.
Gregory A. Scott 27-Jun-86
251 In DIUDO.B36: Remove code which defaults TOPS-10 to image mode. If the
user doensn't type /IMAGE, he doen't get image mode.
Sandy Clemens 30-Jun-86
252 In DIU.R36: Remove library of CONDIT and add condition handing stuff.
Remove library of CONDIT from DIUC20.B36, DIUDEF.B36, DIUDIR.B36,
DIUDO.B36, DIUERR.B36, DIUMOD.B36, DIUPC2.B36, DIUPS2.B36, DIUQUE.B36,
DIUSCH.B36, DIUSHD.B36, DIUSHO.B36. Delete CONDIT.REQ.
Sandy Clemens 1-Jul-86
253 Rename modules that would confict with other products. Files renamed:
ACTION.BLI to DIUACN.BLI
ACTION.REQ to DIUACTION.REQ
ACTUT2.BLI to DIUAU2.BLI
ACTUTL.B36 to DIUAU1.B36
ASK.B36 to DIUASK.B36
COMAND.B36 to DIUCMD.B36
COMAND.R36 to DIUCMD.R36
CRX.REQ to DIUCRX.REQ
DDL.REQ to DIUDDL.REQ
DDULIB.REQ to DIUDDULIB.REQ
DEB.BLI to DIUDEB.BLI
DEB.REQ to DIUDEB.REQ
DISPLA.BLI to DIUDIS.BLI
IPCF10.B36 to DIUIP1.B36
IPCF20.B36 to DIUIP2.B36
NOTIFY.B36 to DIUNOT.B36
PARLEX.BLI to DIULEX.BLI
PATBLSEXT.REQ to DIUPATBLSEXT.REQ
PATDAT.BLI to DIUDAT.BLI
PATDATA.REQ to DIUPATDATA.REQ
PATDEB.BLI to DIUPDB.BLI
PATDEB.REQ to DIUPATDEB.REQ
PATERR.BLI to DIUPER.BLI
PATERROR.REQ to DIUPATERROR.REQ
PATLAN.BLI to DIULAN.BLI
PATLANGSP.REQ to DIUPATLANGSP.REQ
PATLRT.BLI to DIULRT.BLI
PATLRTUNE.REQ to DIUPATLRTUNE.REQ
PATPAR.BLI to DIUPAR.BLI
PATPARSER.REQ to DIUPATPARSER.REQ
PATPOR.BLI to DIUPOR.BLI
PATPORTAL.REQ to DIUPATPORTAL.REQ
PATPROLOG.REQ to DIUPATPROLOG.REQ
PATREQPRO.REQ to DIUPATREQPRO.REQ
PATSEM.BLI to DIUSEM.BLI
PATSWITCH.REQ to DIUPATSWITCH.REQ
PATTOK.BLI to DIUTOK.BLI
PATTOKEN.REQ to DIUPATTOKEN.REQ
STRING.B36 to DIUSTR.B36
TPAMAC.R36 to DIUTPAMAC.R36
TPARSE.B36 to DIUTPA.B36
WILD.B36 to DIUWLD.B36
The following modules had LIBRARY changes: DIUC20.B36, DIUCLE.BLI,
DIUCSR.B36, DIUDMP.BLI, DIUDO.B36, DIUETR.BLI, DIUGTR.BLI, DIUJB2.B36,
DIULTR.BLI, DIUMMP.BLI, DIUMAT.BLI, DIUPC2.B36, DIUPS2.B36, DIUTUT.BLI.
Gregory A. Scott 1-Jun-86
254 In DIUNOT.B36: The only real successful completeion code is
DIU$_REQUEST_COMPLETED. In DIUDEF.B36: Remove extra trace messages
that I'm tired of seeing. In DIULG2.B36: Don't write the job number in
LJ$UTXT if we are yet the spooler.
Gregory A. Scott 2-Jun-86
255 In DIUDO.B36: Make pulling image files from TOPS-10 systems work. We
have to copy from the -10 in TRA and write SEQ because the FAL-10 gives
us 320 word records(!). If FAL-10 is fixed later (to support BFT and
sending us 512 word records) we can remove some rude code here.
Gregory A. Scott 5-Jun-86
256 In DIUCOMMAND.R36: Change library of RMSUSR to RMSINT.
Gregory A. Scott 7-Jul-86
257 In DIUIP2.R36: Change library of TOPS20 to MONSYM. In DIUCMD.B36:
Remove /VARIANT code; change BLI:MONSYM to MONSYM. In DIUACT.B36,
DIULG2.B36, DIUNOT.B36, DIUPC2.B36, DIUSPL.B36, DIUT20.B36, DIUWLD.B36,
DIUCOMMAND.R36: Change library of BLI:MONSYM to just MONSYM.
Gregory A. Scott 7-Jul-86
260 In DIUC20.B36: Commands using a time of "/AFTER:13-jun-95 13:13" didn't
parse.
Gregory A. Scott 7-Jul-86
261 In DIU20.B36: Remove logical names from LIBRARY statements.
Gregory A. Scott 7-Jul-86
262 In DIUC20.B36: Delete module DIUCMD.R36, moving defs as needed to
DIUCOMMAND. In DIUCOMMAND.R36: Move what little there was useful in
DIUCMD.R36 to here. In DIUCMD.B36: Remove code that is not needed and
or not used. A big day for small edits.
Gregory A. Scott 7-Jul-86
263 In DIUDO.B36: FAL-10 gives us the "file not found" error on the $SEARCH
not the $PARSE. Add defensive code in DO$RENAME.
Gregory A. Scott 8-Jul-86
264 In DIUDO.B36: Make SUBMIT work by setting stream mode on source and
destination. Copying of VMS variable to LCG stream files was CRLFs
over data in DO$FILE_COPY.
Gregory A. Scott 9-Jul-86
265 In DIUC20.B36: The help for the /STREAM: switch should specify "maximum
record size" (like /VARIABLE) not "record size" (like /FIXED).
Gregory A. Scott 10-Jul-86
266 In DIUDO.B36: If the destination file is fixed or the user specified
truncation of records (the destination MRS smaller than the source
RSZ) then use the destination MRS for the destination RSZ; otherwise
use the source RSZ as the destination RSZ.
Sandy Clemens 10-Jul-86
267 In DIUDO.B36: VMS doesn't support alternate keys with NODUPLICATES and
CHANGES. Signal an error if this is detected. In DIU.R36: add the new
error.
Sandy Clemens 10-Jul-86
270 In DIUDO.B36: Fix edit 266. Never set the destination RSZ to the
destination MRS if the destination MRS is zero.
Sandy Clemens 17-Jul-86
\
END