mirror of
https://github.com/PDP-10/stacken.git
synced 2026-04-20 00:43:22 +00:00
8544 lines
322 KiB
Plaintext
8544 lines
322 KiB
Plaintext
UNIVER QSRMAC -- Parameter File for QUASAR
|
||
|
||
;
|
||
;
|
||
;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1975,1976,1977,1978,1979,
|
||
;1980,1981,1982,1983,1984,1985,1986,1987. 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 WHICH IS NOT SUPPLIED BY
|
||
; DIGITAL.
|
||
|
||
SEARCH GALCNF ;GET CONFIGURATION DATA
|
||
SEARCH GLXMAC ;GET GALAXY SYMBOLS
|
||
SEARCH ORNMAC ;GET OPERATOR SYMBOLS
|
||
SEARCH CATPRM ;GET CATALOG SYMBOLS
|
||
|
||
; .DIRECT .NOBIN ;NO REL FILE...
|
||
|
||
IFN FTUUOS,<IF1,<PRINTX Building a GALAXY-10 System>
|
||
SEARCH UUOSYM ;GET TOPS10-UUO SYMBOLS
|
||
> ;END OF IFN FTUUOS
|
||
|
||
IFN FTJSYS,<IF1,<PRINTX Building a GALAXY-20 System>
|
||
SEARCH MONSYM ;GET TOPS20-JSYS SYMBOLS
|
||
> ;END OF IFN FTJSYS
|
||
|
||
SALL ;SUPPRESS MACRO EXPANSIONS
|
||
|
||
%%.QSR==41 ;MAJOR CHANGE NUMBER OF QSRMAC
|
||
|
||
|
||
QSRVER==5 ;MAJOR VERSION NUMBER
|
||
QSRMIN==0 ;MINOR VERSION NUMBER
|
||
QSRWHO==0 ;LAST EDITOR
|
||
QSREDT==1512 ;EDIT NUMBER
|
||
|
||
QSRVRS==<VRSN.(QSR)> ;MAKE UP A VERSION NUMBER
|
||
|
||
SUBTTL Table of Contents
|
||
|
||
; TABLE OF CONTENTS FOR QSRMAC
|
||
;
|
||
;
|
||
; SECTION PAGE
|
||
; 1. Table of Contents......................................... 2
|
||
; 2. Revision History.......................................... 3
|
||
; 3. Accumulator Definitions................................... 11
|
||
; 4. Symbols derived from GALCNF............................... 12
|
||
; 5. Changable System Parameters............................... 13
|
||
; 6. Abbreviations Used in QUASAR-10........................... 14
|
||
; 7. RDB -- Request Descriptor Block......................... 15
|
||
; 8. ROB -- Requested Object Block........................... 17
|
||
; 9. QH -- Queue Header Definitions......................... 18
|
||
; 10. QE -- Queue Entry Definitions.......................... 19
|
||
; 11. OBJ -- Object Queue..................................... 21
|
||
; 12. PSB -- Processor Status Block........................... 23
|
||
; 13. SPL -- Spool Queue Definition........................... 24
|
||
; 14. CSM -- Canonical SPOOL Message.......................... 25
|
||
; 15. CLM -- Canonical LOGOUT Message......................... 26
|
||
; 16. The Messages and their respective codes................... 27
|
||
; 17. The HELLO Message -- Function 1........................... 28
|
||
; 18. The RELEASE Message -- Function 2......................... 29
|
||
; 19. The CHECKPOINT and REQUEUE messages -- Functions 3 and 4.. 30
|
||
; 20. The NEXTJOB and CREATE Messages -- Functions 5 and 7...... 31
|
||
; 21. EQ -- The External Queue Entry......................... 32
|
||
; 22. The ABORT Message -- Function 6........................... 40
|
||
; 23. The LIST Message -- Function 10........................... 41
|
||
; 24. The MODIFY Message -- Function 11......................... 42
|
||
; 25. The KILL Message -- Function 12........................... 44
|
||
; 26. The LIST ANSWER Message -- Function 13.................... 45
|
||
; 27. The REQUEST FOR CHECKPOINT Message -- Function 15....... 47
|
||
; 28. The DEFER Message -- Function 16........................ 48
|
||
; 30. Event Counters............................................ 50
|
||
; 31. The COUNT Message -- Function 20........................ 52
|
||
; 32. The COUNTANSWER Message -- Function 21.................. 53
|
||
; 33. The SETUP/SHUTDOWN Message -- Function 22............... 54
|
||
; 34. The RESPONSE-TO-SETUP Message -- Function 23............ 55
|
||
; 35. The OPERATOR-ACTION Message -- Function 24.............. 56
|
||
; 36. The HOLD/RELEASE Message -- Function 25................. 57
|
||
; 37. The SPOOL Message - Function 26 (sent by IPCC)............ 58
|
||
; 38. The LOGOUT Message - Function 27 (sent by IPCC)........... 60
|
||
; 39. IPCF Parameters........................................... 61
|
||
; 40. Common Parameters......................................... 62
|
||
; 41. Prolog macro for generating common header................. 63
|
||
; 42. Random Macros............................................. 64
|
||
; 43. Failsoft System Definitions............................... 65
|
||
; 44. QUASAR Fatal Error Codes.................................. 66
|
||
; 45. Definition of the Known Queues............................ 67
|
||
SUBTTL Revision History
|
||
|
||
COMMENT \
|
||
|
||
Edit Module Explanation
|
||
|
||
1 ALL First System Version Of QUASAR-10 February, 1975
|
||
|
||
2 QSRSCH Operator NEXT Command Caused Batch Job Tables To Get Out Of Sync
|
||
|
||
3 QSRMEM Add New Routine For Cusp Version (CSPMEM) To Clean Core When
|
||
Cusp Is Going Dormant. Call It M$CLNC
|
||
|
||
4 QSRMAC Invent High Availability Queues
|
||
The Pages Belonging To Them Remain Even If The Queue Is Empty
|
||
Define QH.HAQ In The Queue Header Flags, Include In QUEUES Macro
|
||
QSRMEM Have M$GCOL Collect Empty Pages That Are Not High Availability
|
||
Remove Some Checks From M$PFRE
|
||
|
||
5 QSRSCH Clean up some code in SCHSTR to remove an extra
|
||
call to I$VSTR.
|
||
QSRIPC Have SNDFAI save the correct address of a requeued message
|
||
in the IPS entry, and also have it requeue "all"
|
||
messages to SYSINF whether the error was recoverable
|
||
or not.
|
||
QSRQUE Q$KLPD clobbers H and AP causing a great deal of trouble.
|
||
Preserve both of them. Also take check out of Q$RTMS for
|
||
the message type, and call Q$KLPD for all returned messages.
|
||
|
||
6 QSRFSS Move index-SAT words into the index itself.
|
||
Start integrating code for multiple sections.
|
||
QSRINT Start moving code to open the master queue files into QSRINT
|
||
from QSRFSS.
|
||
|
||
7 QSRFSS Fully integrate code for multiple sections.
|
||
QSRINT On TOPS10 whenever master queue file is extended,
|
||
force the RIBs to be written. On fatal STOPCDs,
|
||
store away acs so they can be found easily.
|
||
Call M$IPRM when an IPCF receive failed with error IPCUP%.
|
||
QSRMEM Install M$IPRM
|
||
|
||
10 QSRMAC Define the TEXT Message as an acknowledgement of an operation.
|
||
QUASAR Implement the global string routines to build the TEXT message.
|
||
Give TEXT message as a return if the caller sets MS.ACK non-zero.
|
||
QSRINT Invent I$WHEEL to check if caller is an operator of some flavor.
|
||
QSRQUE Call I$WHEEL in HELLO message processor.
|
||
Send explicit TEXT acknowledgements after KILL, MODIFY, LIST.
|
||
QSRSCH Call I$WHEEL during default processing if (.EQDIR .NE. G$DIR)
|
||
11 ALL Insert code for the 6.02 device names.
|
||
QSRQUE Move changable data from the internal queue to the external
|
||
queue request during Q$NEXTJOB.
|
||
QSRSCH Insure the Batch job limits for cards, paper tape, etc...,
|
||
get applied to the spooled requests.
|
||
QSRINT Complete moving code to open master files from QSRFSS.
|
||
|
||
12 QSRSCH Broadcast TEXT message with TX.NMS set now that it has been defined
|
||
QSRQUE Remove the old Q$SYNC code.
|
||
CSPQSR Watch for in-coming TEXT messages
|
||
|
||
13 ALL This is the version of QUASAR-10 sent to Field Test, June, 1975.
|
||
|
||
14 QSRMAC Eliminate most of edit 12 and instead invent the Request For Checkpoint
|
||
message. Every SPLMBC minutes, ask the component to Checkpoint itself.
|
||
Add a word to the PSB to contain the next time to request a checkpoint.
|
||
Define ABO.DI in the ABORT message as the directory of the requestor.
|
||
QSRSCH Keep track of the Checkpoint time, send during the scheduling loop.
|
||
The Request for Checkpoint message serves a dual purpose.
|
||
1) The individual spoolers don't need to watch the time for Checkpoints
|
||
2) The message is used to determine if the component is still alive
|
||
Therefore, dead interlock recovery is done every SPLMBC minutes.
|
||
QSRMEM Have ANYOUT look for pages to destroy first.
|
||
QSRQUE Install Q$RCK to actually send out the Request for Checkpoint message.
|
||
Include directory of sender in ABORT message.
|
||
|
||
15 QSRMAC Define the Canonical SPOOL Message.
|
||
QSRINT Invent a new class of routines, the FD Manipulaters.
|
||
QSRQUE Use the Canonical SPOOL Message throughout the spooling subroutines.
|
||
Generalize SPLINC to include based on the Canonical SPOOL Message,
|
||
call it Q$INCL.
|
||
QSRSCH Build a Canonical SPOOL Message in S$RELE, call Q$INCL for the Log File.
|
||
|
||
16 ALL Major Change of QSRMAC (#27).
|
||
QSRMAC Include /REPORT FP areas in all requests.
|
||
This adds 2 words to the minimum FP size.
|
||
QSRQUE Set and check the Request Doesn't Exist bit instead of the old ones.
|
||
QSRSCH Set RDE in the external request during SCHDEF if all files are /REMOVEd.
|
||
QSRINT Monitor change to 6.02. The extension of a spooled LL or LU is LPT.
|
||
|
||
17 GALGEN Ask for Automatic Forms Change Threshold.
|
||
QSRMAC Define FRMTHR = the answer from GALGEN.
|
||
Add definition of the DEFER Message.
|
||
Define the Canonical LOGOUT Message.
|
||
QSRQUE Include Q$DEFER to operate on the Defer Message.
|
||
Implement File-Specific Modifies.
|
||
Use the Canonical LOGOUT Message in Q$LOGOUT.
|
||
QSRMEM Define co-routine ".SAVAP" to save/restore AP.
|
||
Add ".CALLn" to save/restore the preserved acs.
|
||
QSRSCH Use FRMTHR instead of the absolute 100.
|
||
Build a Canonical LOGOUT Message in S$RELE.
|
||
QSRINT Add I$FMCH to compare 2 FDs with masks.
|
||
20 GALGEN Add question for enforcing the jobs core limit.
|
||
If the answer is YES, ask for the default value of /CORE.
|
||
If the answer is NO, define the default = 0.
|
||
QSRMAC Extract INPCOR = G.ICOR (the GALGEN value).
|
||
QSRSCH Insert code in INPSCH to use the core values.
|
||
|
||
21 ALL Become version 1A
|
||
|
||
22 ALL Major Change of QSRMAC (#30).
|
||
QSRINT Get the maximum IPCF packet size from the operating system during
|
||
initialization and store it in G$MPS.
|
||
Install I$CSM for TOPS20.
|
||
QSRQUE Determine the entry size for the IPC and IPS queues at runtime using
|
||
the maximum packet size in G$MPS.
|
||
Include the number of files in File-Specific Modify, re-work
|
||
Q$MODIFY, Q$KILL, Q$DEFER, BLDKMS, FILMOD.
|
||
QUASAR Use G$MPS whenever a check must be made for the maximum IPCF packet size.
|
||
|
||
23 QSRMAC Define the Universal Directory Specification
|
||
QUASAR Remove G$LOCS, G$SDIR, and G$FFAD
|
||
QSRINT Add more TOPS20 routines
|
||
|
||
24 ALL Make consistent use of connected and logged in
|
||
directories in TOPS20.
|
||
|
||
25 QSRIPC If C$GET does a query which returns false, clear IPCPND.
|
||
QSRINT Add I$READ and I$WRIT for TOPS20.
|
||
Add I$CRIP routine.
|
||
QSRFSS Call I$CRIP in the appropriate places.
|
||
|
||
26 **NOTE [SYSTEM]QUASAR no longer requires [SYSTEM]INFO
|
||
QSRMAC Add a bit in the external queue to indicate that the creator
|
||
of a request was privileged at the time of creation.
|
||
This will reduce the number of CHKACC's required in the spoolers.
|
||
QSRSCH Set the Privilege bit appropriately.
|
||
QUASAR Dispatch messages from [SYSTEM]IPCC independently.
|
||
QSRIPC Move code to establish a PID into QSRINT.
|
||
Remove C$ISM since QUASAR handles the dispatch.
|
||
QSRINT Add I$EPID and associated routines for acquiring a PID.
|
||
CSPQSR Remove code for [SYSTEM]INFO, call [SYSTEM]IPCC instead.
|
||
|
||
27 ALL Major Change of QSRMAC (#31).
|
||
QSRMAC Make .EQPAT optional and TOPS10 only.
|
||
QUASAR Lay the groundwork for handling multiple PIDs.
|
||
Add G$SFAL to notify all concerned of an invalid PID.
|
||
Isolate dispatch for messages directed to [SYSTEM]QUASAR (G$QPID).
|
||
QSRQUE Remove Q$RTMS, G$SFAL directly calls Q$KLPD.
|
||
QSRIPC Add C$GIPC to get a specific response from [SYSTEM]IPCC.
|
||
Re-arrange SNDFAI to call G$SFAL.
|
||
QSRMEM Define co-routine ".SAVEH" to save/restore H.
|
||
30 QSRINT Break up QSRINT into the appropriate modules.
|
||
Name the new ones QSRT10 & QSRT20.
|
||
|
||
31 QSRQUE Have CHKMCH just check for matching owner field
|
||
rather than complete directory.
|
||
QSRSCH If the request protection field is 0 fill in a default
|
||
protection using the contents of G$SPRT.
|
||
|
||
32 QSRMAC Define TX.MOR indicating another ACK to follow.
|
||
QUASAR If TX.MOR is set at G$MSND, don't clear G$ACK.
|
||
Add G$CSIX for sixbit conversions.
|
||
Add G$CCHR for a Single Characters.
|
||
QSRQUE Have Q$CREATE send an explicit acknowledgement indicating:
|
||
Quename:Jobname=/SEQUENCE:s, n Files
|
||
|
||
33 QSRSCH Could ask for Forms Change for non-existant (EQ.RDE) requests,
|
||
Override Forms Type for those requests.
|
||
|
||
34 GALGEN Ask Questions about conversions from Blocks to "Units".
|
||
QSRMAC Extract the answers. Define EQ.NBL in .EQLM2 for Output Queues.
|
||
QSRQUE Replace code that deals with Spooled Limits with some that counts blocks.
|
||
QSRSCH Convert blocks to limit appropriately during default filling.
|
||
|
||
35 QSRMAC Invent the "listable" bit (QH.LST) in the queue header.
|
||
Put in CLQ message.
|
||
Add new bit to batch release message to flag that the
|
||
log file is to be printed.
|
||
QSRQUE Check "listable" bit on LIST requests.
|
||
ACK for CREATE in 'INP' with an after parameter was wrong
|
||
because H pointed to 'AFT'.
|
||
QSRSCH Zero copies field for log file if RL.PRL is off.
|
||
|
||
36 QSRSCH Default the /OUTPUT field in SCHDEF('INP').
|
||
|
||
37 ALL Become version 2.
|
||
Major change of QSRMAC (#32).
|
||
QUASAR Provide LUUO handler for new STOPCD calls.
|
||
QSRMAC Remove definitions now found in SBSMAC, Search it.
|
||
Make the same change to the PROLOGUE Macro.
|
||
Re-arrange CHECKPOINT and REQUEUE messages so that the
|
||
entire block is available for CHECKPOINT information.
|
||
QSRT20 Have I$KSYS return seconds to shutdown minus 1 minute.
|
||
Set up IPCF quotas during I$EPID.
|
||
Change I$STCD to accept standard calls.
|
||
QSRT10 Change I$STCD to accept standard calls.
|
||
QSRSCH Ask for checkpoint from all components after KSYS has expired.
|
||
QSRQUE Don't give extended "ACK" during create of "RDE" requests.
|
||
Change Q$CHECKPOINT and Q$REQUEUE to account for
|
||
the changes to those messages.
|
||
CSPQSR Accept indicator in call to CSPINI as:
|
||
0 = old style call
|
||
-1 = caller will handle interrupt system.
|
||
40 QSRQUE Deferred requests recovered from the failsoft file had
|
||
/LIMIT:0 sent to the spooler.
|
||
Move Q$CDIN to inline code in KILPSB.
|
||
QUASAR Add G$MCOR as minimum system value of /CORE.
|
||
QSRT10 Fill in G$MCOR with %CNMMX.
|
||
If IO.BKT is set on Master file, use SETSTS to clear it.
|
||
QSRT20 Set G$MCOR = 0, there is no system minimum.
|
||
QSRSCH Check value of G$MCOR after defaulting /CORE.
|
||
Use G$MCOR in input scheduling as PSB minimum.
|
||
QSRIPC PDL used during IPCF interrupts was too short.
|
||
Could miss a call to I$POST.
|
||
|
||
41 QSRQUE Report words not being cleared during Q$INCL.
|
||
Could MODIFY a file if it had been /REMOVEd previously.
|
||
QUASAR Wrong ac loaded on returned packets.
|
||
|
||
42 QSRMEM Re-define free space management to optimize size and paging.
|
||
Add M$MOVE for moving entries between queues.
|
||
QSRMAC Define the "route" message (function 17) to change the routing
|
||
of output from one station to another.
|
||
Include S$USE as scheduling vector for the USE queue.
|
||
QUASAR Add dispatch entry 17 to S$ROUTE.
|
||
QSRSCH Install S$ROUTE and tables required, convert station
|
||
numbers in OUTREJ.
|
||
Assume forms are frozen if "NO OPERATOR ON DUTY".
|
||
Apply the bias (SPLLIM) on a per file basis.
|
||
Add linking dispatch for the USE Queue (S$USE).
|
||
QSRT10
|
||
QSRT20 Install I$OPER to check if an operator is present.
|
||
QSRQUE Call M$MOVE during Q$REQUEUE, Q$NEXTJOB, Q$CKAF, and KILPSB.
|
||
|
||
43 GALGEN Don't convert LPT limit factor from pages/page to
|
||
pages/block. Add a question for the number of minutes before
|
||
system shutdown to stop scheduling automatic forms changes.
|
||
QSRMAC Extract new symbol from GALCNF.
|
||
QSRSCH If KSYS is set and is less than FRMKSY minutes away,
|
||
don't schedule a forms change.
|
||
PRIO:0 now means default. Default it in SCHDEF, and change
|
||
link-in routines to make PRIO:1 do fifo linking.
|
||
QSRT20 Maintain spooled file-sizes in pages on -20.
|
||
|
||
44 QSRADM Add new module QSRADM to handle system
|
||
administrative functions. Move all the routing routines
|
||
from QSRSCH to QSRADM.
|
||
QSRMAC Include .REQUIRE for QSRADM in PROLOGUE macro.
|
||
QUASAR Call A$INIT, and dispatch to A$ORTE on a
|
||
ROUTE message.
|
||
QSRSCH Remove routing code and put in QSRADM.
|
||
|
||
45 ALL Cleanup accumulator conventions in all QUASAR modules.
|
||
P registers "must" be saved by ALL routines which use them.
|
||
46 ALL Major change of QSRMAC (#33).
|
||
Start rearranging code and data-structures to allow for
|
||
new user and directory number format on TOPS20.
|
||
QSRMAC Add account string block to the EQ.
|
||
Define the Request Descriptor Block (RDB).
|
||
Invent new CBL error code.
|
||
QSRT10 Invent I$EQQE, I$QELA, I$SMEQ, I$RMCH, I$DFEQ.
|
||
Make I$VSTR much smarter.
|
||
Remove I$DCHK.
|
||
QSRT20 Invent I$EQQE, I$QELA, I$SMEQ, I$RMCH, I$DFEQ.
|
||
Write I$VSTR.
|
||
Remove I$DCHK.
|
||
Start removing/changing JSYSes which are non-
|
||
existant or different in TOPS20 release 2.
|
||
QSRMEM Invent M$PCNT to determine whether a given
|
||
number of pages can be acquired.
|
||
QSRQUE On LISTANSWER keep track of the number of pages
|
||
needed to build the listing and if the number of pages needed
|
||
to build the last listing are not available give the new
|
||
CBL error.
|
||
|
||
47 ALL Start putting in event counters.
|
||
QSRQUE Remove all PSB handling routines, Q$RCK, Q$HELLO, and Q$KLPD.
|
||
Move the ACK call from Q$LIST and move it to Q$LANSWER
|
||
after check for %CBL since otherwise user never gets CBL error.
|
||
QSRADM Insert all PSB handlers and routines removed from QSRQUE.
|
||
Invent COUNT and CNTANSWER messages.
|
||
QSRT20 Put in STGWLD routine to compare a "wild"
|
||
string against a base string.
|
||
Uninvent I$MSTR, it wasn't useful on -20.
|
||
QSRT10 Uninvent I$MSTR and have I$VSTR do its work.
|
||
|
||
50 QSRMAC Define flags for calling C$SEND.
|
||
QSRMEM In M$MOVE, if moving to a queue with no scheduling
|
||
vector defined, use M$ELNK to link the entry in.
|
||
QSRSCH Remove scheduling vector for USE QUEUE.
|
||
QSRIPC Modify calling sequence to C$SEND to optionally
|
||
allow specification of additional action to be performed.
|
||
QSRT10 Cleanup I$EPID a little.
|
||
Add some more debugging aids, i.e. the CRASH routine.
|
||
QSRT20 Change I$CHAC to allow access only if caller
|
||
is a wheel or the request owner.
|
||
Add some more debugging aids, i.e. the CRASH routine.
|
||
|
||
51 QSRMEM Call new routine I$MFFP to find first free page in
|
||
my address space during initialization.
|
||
QSRT10 Add new routine I$MFFP.
|
||
QSRT20 Add new routine I$MFFP.
|
||
|
||
52 QSRMAC Add QUASAR job number to COUNTANSWER.
|
||
QSRT10 Set job number in COUNTANSWER.
|
||
QSRT20 Set job number in COUNTANSWER and fix problems with I$VSTR.
|
||
|
||
53 QSRMEM Incorporate performance improvements in garbage collection
|
||
and free page searching.
|
||
QSRT10 GETTAB directories for prime and redundant queues at
|
||
initialization time on -10.
|
||
|
||
54 QSRT10 Make I$GTAB into a local routine.
|
||
QSRT20 Extract structure from spooled file name and store it
|
||
in the CSM so FTSPLIT works on the -20.
|
||
QSRIPC Set "truncate if too long" on all receives.
|
||
CSPQSR Set "truncate if too long" on all receives.
|
||
GALGEN Ask about FTSPLIT on the -20.
|
||
|
||
55 QSRSCH Call routines in operating system interface to handle
|
||
/UNIQUE checking of directories.
|
||
QSRT10
|
||
QSRT20 Add I$UQST, I$UQCL, I$UQCH to worry about /UNIQUE directory
|
||
checking for batch requests.
|
||
|
||
;;First field-test release of GALAXY release 2, Jan, 1977
|
||
|
||
56 QSRMAC Invent the RDE queue.
|
||
QSRQUE Place jobs which get the RDE bit set into a
|
||
separate queue, the RDE queue.
|
||
QSRSCH If a known component has said that it can handle RDE jobs,
|
||
try to schedule it one before checking the processing queue.
|
||
QSRT10 Make the maximum IPCF packet size equal to the
|
||
MAX(SPL.SZ,monitor supplied maximum).
|
||
|
||
57 QSRSCH Add the "bias" to the limit for each copy of each file
|
||
rather than each file.
|
||
200 QSRMAC Begin release 3 development. Major change of QSRMAC (#34).
|
||
Take length of FD out of the FP and add a length field to the FD.
|
||
Define two new queues, XFR and BIN.
|
||
ALL Use new FD/FP format. This change affects the format
|
||
of the CSM, FP, MODIFY message.
|
||
QSRSCH Add a release entry to scheduling vectors (SCHREL).
|
||
Add vectors for the new queues.
|
||
QSRQUE Call the SCHREL entry instead of S$RELE.
|
||
|
||
201 QSRT20 Fix some problems with edit 200.
|
||
|
||
202 QSR??? Change all QUASAR modules to use the new GLXLIB conventions,
|
||
routines and symbols. Also add some debugging code.
|
||
203 QSR??? Integrate more of GLXLIB
|
||
|
||
204 QSR??? Change to use the new GLXLIB segment
|
||
|
||
205 QSR??? Begin adding QSROPR, ORION-QUASAR interface
|
||
|
||
206 QSRMAC Remove file-specific modify symbols.
|
||
Remove FP.IGN field from the FP.
|
||
QSRSCH
|
||
QSRQUE Remove group 2 (file-specific) modify, and make the various
|
||
parameters part of the group 1 (queue-specific) modify parameters.
|
||
QSRT10
|
||
QSRT20 Remove I$FMCH.
|
||
|
||
207 QSR??? Make use of the GLXLIB module GLXINT for interrupt handling
|
||
and common operating system tasks.
|
||
|
||
210 QSR??? Move TEXT message to GLXMAC
|
||
|
||
211 QSRMAC Major change 35 to %%.QSR, message format change (.MSxxx)
|
||
|
||
212 QSRMAC Make /UNIQUE values 1 and 2 rather than 0 and 1 so that it can be default.
|
||
Make /RESTART a 2 bit field with values 1 and 2 for the same reason.
|
||
QSRSCH Default the /UNIQUE and /RESTART fields.
|
||
|
||
213 QSRMAC Add canonical device types
|
||
QSRADM Add new object queue creation code
|
||
QSRTx0 Add I$NLDV for finding number of local devices of type 'xxx'
|
||
|
||
214 QSRMAC Insert new definitions for the PSB and the HELLO message.
|
||
Insert definitions for new SETUP and RESPONSE-TO-SETUP messages.
|
||
QSRSCH Re-write entire module from scratch to implement new scheduling
|
||
algorithms.
|
||
QSRADM Re-write A$HELLO and KILPSB to keep up with all the other changes.
|
||
|
||
215 ALL Due to interim release on the -20 called version 3,
|
||
make this version 4 of GALAXY. Continue with new
|
||
scheduling changes.
|
||
|
||
216 QSRMAC Change ROUTE message to use full words for nodes, to allow
|
||
QSRADM TOPS20 style node names
|
||
|
||
217 QSRMAC Add symbol for file spooler XFRSPL OBJect type.
|
||
Add mask symbol for flags in flags word of HELLO message.
|
||
|
||
220 QSRMAC Get rid of the AFT queue and keep AFT jobs in the
|
||
QSRQUE appropriate external queue.
|
||
QSRSCH
|
||
|
||
221 QSRMAC Add new Table of Contents.
|
||
|
||
222 QSRQUE
|
||
QSRSCH Make jobs which have been scheduled and checkpointed at
|
||
least once get restarted sooner after a system crash by
|
||
invisibly bumping its priority.
|
||
|
||
223 ALL Remove FTSPLIT conditional in preparation of new general
|
||
dependency list.
|
||
|
||
224 QSRMAC Define new data-structures (and re-define old ones) for new
|
||
dependency list.
|
||
|
||
225 QSRMAC Create the QSRMDA module which will contain all the routines
|
||
QSRMDA which do things with file-structures. Include the .REQUIRE
|
||
for QSRMDA in the PROLOGUE macro.
|
||
|
||
226 QSRMAC Invent the RDR queue for Readers (card). Take the structure
|
||
QSRSCH word out of the LISTANSWER message and just include a bit
|
||
QSRQUE which indicates waiting for structure.
|
||
|
||
227 QSRT10 Add a routine to validate objects.
|
||
QSRADM Add the hooks to call the object validation routine.
|
||
QSRMAC Add INPMAX which defines the maximum number of Batch
|
||
streams which can be started.
|
||
230 QSRMAC Change PROLOGUE macro to .REQUIRE QSRSHO if QUASAR is defined.
|
||
QSRSHO Add a new QUASAR module for display messages.
|
||
|
||
231 QSRMAC Remove .REQUIRE Statements for all Modules
|
||
and Create a Separate Command file QUASAR.CMD
|
||
to load the module.
|
||
|
||
232 ALL Remove PROLOGUE macro from QSRMAC. Use PROLOGUE in GLXMAC.
|
||
|
||
233 ALL Changed DEFLIM OUTP to be compatible with QMANGR
|
||
|
||
234 QSRADM Modified The route processor for the new
|
||
message types.
|
||
QSRDSP Added the SHOW ROUTE TABLE message processor.
|
||
|
||
235 QSRMAC Modified INPMAX so as to get its value as a GALGEN parm.
|
||
QUASAR Added G$NBAT as a global parm. Used to keep track
|
||
of the number of batch streams started.
|
||
QSRT10 Modified I$VOBJ to use G$NBAT
|
||
QSRSCH Modified the SHUTDOWN code to Update G$NBAT.
|
||
|
||
236 QSRMAC Define a symbol representing the number of
|
||
words used for the .EQLIM block. Also, get
|
||
rid of the old .EQ??? and EQ.??? symbols.
|
||
237 QSRMAC Add IBM and Card Reader queues
|
||
QSRSCH Add Card Reader scheduling code. IBM is the same as card punch.
|
||
|
||
240 QSRMAC Add the new Network data base structure.
|
||
QSRSCH Modify all calls to network subrutines to use the new routines
|
||
QSRADM Deleted all network support from this module
|
||
QSRNET Added this new QUASAR module in support of Networks.
|
||
|
||
241 QSRDSP Modified the queues display to its new format.
|
||
QSRSCH Modified the scheduler so that network devices get shutdown
|
||
when the queue is empty.
|
||
|
||
242 QSRT10 Fixed I$LGFD so that it generates ledgible file names
|
||
QSRMDA Fixed a bug in D$ESTR which allowed null structure names.
|
||
|
||
243 QSRADM Added support for SET LIMIT-EXCEEDED commands.
|
||
QSRMAC Here also
|
||
QSRMAC Added support for DISP:RENAME
|
||
|
||
244 QSRMAC Modify the Spool Msg structure for DISP:RENAME
|
||
QSRT10 Add more DISP:RENAME code
|
||
|
||
245 QSRT10 Complete the DISP:RENAME coding
|
||
|
||
246 QSRQUE Fix a bug which caused create's with bad structure names
|
||
to be fail-softed. This caused QUASAR to stopcode
|
||
if it was restarted since when Q$CREATE rejected the
|
||
entry the second time, QSRFSS couldnt handle it.
|
||
|
||
247 QSRMAC Add .FPINF to the EQ for the card reader
|
||
QSRSCH Add defaults for the SPRINT queue
|
||
QSRT10 Fix I$CSM for DISP:RENAME
|
||
|
||
250 QSRMAC Changed a duplicate definition of SP.DFR under SPL.SF
|
||
to SP.FLG.
|
||
QSRT10 Changed I$CSM to use the new definition.
|
||
|
||
251 QSRT20 Fix a bug in I$CSM so that device numbers specified
|
||
in the spool message FD are parsed.
|
||
|
||
252 QSRMAC Expand EQ limit block to 6 words.
|
||
Define a Device Status Update msg (Function 31).
|
||
Change the Object queue entry OBJSTS to 1 word which
|
||
will contain a code describing the Object status.
|
||
Define the object status codes.
|
||
Add operator intervention symbols, DEFLIM it, and add
|
||
to the Object queue parameter words
|
||
Add RSU.CD to the Response-to-Setup message. This
|
||
contains an optional reason why the device count not
|
||
be started.
|
||
|
||
253 QSRQUE Fix the Request-Id logic so that RIDs are maintained
|
||
after queue modification
|
||
QSRSCH Add code to INPFJB so that it checks the opr intrvn
|
||
status before scheduling a job for a stream.
|
||
Add code to default the opr intrvn status for batch jobs.
|
||
|
||
254 QSRIPC Fix C$GET so that oversize packets are recieved properly.
|
||
|
||
255 QSRADM Remove Set Job Priority - make it a Modify Command.
|
||
Add code for Set OPr/NO-OPR Intrvn.
|
||
Change A$OREQ, A$OHLD, A$OREL to use Req Id instead of
|
||
Jobname & Seq number.
|
||
Add A$DELETE to remove jobs from the queues
|
||
Add A$STATUS to update the Object status via a device
|
||
status update message
|
||
|
||
256 QSRT10 Fix I$LGFD so that it generates unique funny-name
|
||
log file-specs
|
||
|
||
257 QSRDSP Re-write the Show Status and Show Parameters routines
|
||
to display the data in a different format
|
||
|
||
260 QSRSCH Add code
|
||
QSRT10 to support
|
||
QSRQUE the /NOTIFY option
|
||
|
||
261 QSRMAC Add %READN to object status code list.
|
||
QSRADM Fix A$OBST so the Free running objects are always set 'IDLE'
|
||
QSRDSP Fix DMPSTS so that the call to CHKSPC for the /AFTER parm
|
||
is made after we're sure that there is a /AFTER parm
|
||
QSRQUE Modify NOTIFY routine to put out a crlf first.
|
||
|
||
262 QSRMAC Delete Function 24, operator action message (Now obsolete)
|
||
QUASAR Add G$RMTE for remote operator queue requests
|
||
It contains the node at which the operator is located.
|
||
QSRQUE Fix Q$CREATE so that the correct number of limit words
|
||
are BLT'd from the EQ to the QE
|
||
Modify FNDREQ so that if its checking an operator request,
|
||
it looks at G$RMTE and only wins if the queue entry is
|
||
destined for that operators remote station
|
||
QSRSCH Fixed LNKPRI so that priority 1 jobs are always linked
|
||
to the end of the queue, regardless of limit specifications.
|
||
QSRADM Added a DOSCHD to the SET message processing routine
|
||
Added code in A$MODIFY, A$OHLD, A$OREL, A$ODEL
|
||
and GENRDB to support the .ORNOD block in operator msgs.
|
||
QSRNET Make QUASAR completly Node number/Node name knowledgable.
|
||
Ie., make it so that it understands either an
|
||
octal node number or a sixbit node name in all cases where
|
||
a node value is referenced.
|
||
|
||
263 QSRMAC Add symbols for /BATLOG: switch
|
||
QSRSCH Add code for /BATLOG: support
|
||
|
||
264 QSRMAC Add %REQUE to the list of object status codes
|
||
QSRSCH Fix scheduling bug in batch for opr intrvn allowed
|
||
Also add defaulting code for batch log type
|
||
|
||
265 QSRMAC Change .QEJBN so that it contains 2 values:
|
||
QE.UJN==0,,-1 ;Users Job Number
|
||
QE.BJN==-1,,0 ;Batch Job Number
|
||
Also change CHE.FL, adding CH.JBN which is the
|
||
job number of the checkpointed batch job.
|
||
QSRQUE Modify Q$CHECKPOINT so that it save the batch job number.
|
||
Add routine Q$NOTIFY to setup /NOTIFY parameters.
|
||
QSRT10 Delete routine I$NOTF
|
||
QSRT20 Delete routine I$NOTF
|
||
|
||
266 QUASAR Deleted G$OLNK hack.
|
||
QSRSCH Deleted references to G$OLNK.
|
||
|
||
267 QSRMAC Delete .OTBIN and .OTXFR symbols. Define them in GLXMAC.
|
||
|
||
270 QSRSCH Add processing code for XFR queue. Simple first come
|
||
first serve scheduling.
|
||
|
||
271 QSRMAC Add symbols QE.AVO, QE.AVI to redefine .QEITN for
|
||
account verification (-10 only)
|
||
QSRSCH Add hooks for Account Verification
|
||
QSRT10 Add routines I$VACT, I$ACCT. These two routines
|
||
QSRT20 are used for Account Verification. I$ACCT is
|
||
a no-op on the -20.
|
||
|
||
272 QSRMAC Delete OBSNLP
|
||
QSRSCH Delete code supporting OBSNLP. This modifies the
|
||
scheduler such that it does not shut down objects
|
||
just because there are no jobs in the queue AND
|
||
there is another object which needs to be started.
|
||
Remote objects will still be shut down when the
|
||
Queue go empty.
|
||
|
||
273 QSRMAC Add QH.INV to queue header flag.
|
||
Add OBSINV to object flags
|
||
Add node block to list queues request message (function 10)
|
||
Add QH.INV to QUEUES macro.
|
||
QSRADM Add support for initializing invisible objects when the
|
||
object gets started.
|
||
QSRDSP Add support in D$SHST and D$SHPR so that invisible objects
|
||
are not displayed in status/parameters requests.
|
||
|
||
274 QSRMAC Delete SPRINT .EQLIM definitions for CMOD, CSIZ, NCRDS.
|
||
Add %EQUFT for file retrieval
|
||
Add new object scheduling bit OBSINT (internal shutdown)
|
||
QSRSCH Modify CHKOBJ so that it shutsdown the object if its
|
||
remote or if OBSINT is lit.
|
||
QSRT20 Modify I$DFEQ so that if the job name in the EQ is
|
||
null,,it gets defaulted to the first 6 chars of the filename.
|
||
QSRQUE Rewrote Q$ARCHIVE so that it conforms to GALAXY standards.
|
||
QSRADM Changed GETOBJ so that the right field is checked when
|
||
looking to see if the object is free running. (QH.TYP)
|
||
QSRDSP Changed DEPRET to fix a few bugs. (Wrong ac's, a PUSH and
|
||
no POP, etc.)
|
||
|
||
275 QSRMAC Add new message type .QONWA and description (function 36).
|
||
Add FP.RCD to the BIN queue FP description.
|
||
QSRNET Add NODE Jsys to GETNODE routine.
|
||
Modify N$INTR so that when a node goes offline, it
|
||
searches the object queue looking for objects started
|
||
and setup for that node. If it finds one, it sends a
|
||
node went away message to the controlling spooler.
|
||
When done, it sends ORION the same message.
|
||
QSRT20 Change I$RDEF so that it picks up the tape info from
|
||
the limit words instead of the checkpoint words.
|
||
QSRQUE Change Q$ARCHIVE so that it saves the tape info in
|
||
the limit words instead of the checkpoint words.
|
||
|
||
276 QSRMAC Move EQHSIZ to the end of the EQ header definition (where
|
||
its supposed to be)
|
||
|
||
277 QSRMAC Put all ARCHIVE definitions under TOPS20 conditional.
|
||
QSRQUE Move Q$ARCHIVE to QSRT20.
|
||
QUASAR Change Archive message entry point to I$ARCHIVE.
|
||
|
||
300 QSRMAC Add a redefinition of the RDB for ARCHIVE requests.
|
||
Delete the ARCHIVE definition's in the KILL msg.
|
||
Add an ARCHIVE msg Create code (.QIRET) so that
|
||
creates wont fail if Queue Creates are disabled.
|
||
QSRQUE Delete routine FNDFRR and make it work with FNDREQ.
|
||
QSRT20 Delete all Archive notification routines (they
|
||
were terribly written) and replace them with code
|
||
that works.
|
||
|
||
301 QSRMAC Change .EQUSR to .EQOWN (Just to be consistant)
|
||
Add symbol EQNMSZ which is the length of .EQOWN.
|
||
Add .QOCQE (Short Create message) to msg type table
|
||
QSRQUE Add Support code for .QOCQE (Short Create Message)
|
||
QUASAR Add .QOCQE to the QUASAR message Dispatch Table.
|
||
|
||
302 QSRMAC Change .EQTIM to .EQSPR (SPARE)
|
||
QSRADM Delete 'Requeue' from Request-Id error message
|
||
QSRQUE Change create ack to put out # of files if greater then 1.
|
||
|
||
303 QSRT20 Change Archeive Notify to put flag on in .OFLAG and to
|
||
use .CMDIR for the Directory
|
||
|
||
304 QSRMAC Add SUP.PL for DN60 PORT,,LINE #'s to SETUP message
|
||
|
||
305 QSRMAC Add SUP.ST For remote network status/flag bits in SETUP msg.
|
||
|
||
306 QSRMAC Add .OOTAP to OBJPRM definition and OBDTAP to
|
||
line printer attributes for spooling to mag tape
|
||
QSRADM Modify A$OSTA to support spooling to mag tape
|
||
QSRSCH Modify SETUP to support spooling to mag tape
|
||
|
||
307 QSRMAC Add NETBPM to network data base (Bytes Per Message)
|
||
QSRADM Add DN60 CALL11 Support
|
||
|
||
310 QSRMAC Change INPMAX to default to 30 streams total
|
||
Add INPLOG to default /OUTPUT:(LOG,NOLOG,ERROR)
|
||
Change INPOIP to default to 1 (opr intrvn required)
|
||
QSRSCH Change INPDEF to use INPLOG to default the /OUTPUT: switch
|
||
|
||
311 QSRMAC Add a new limit word to the card reader inperpreter .QE
|
||
queue. This new field is CNOD which is the node where the
|
||
card deck origionated.
|
||
|
||
312 QSRMAC Remove error DRN - Duplicate Mount Request Name - from
|
||
the QUASAR error list.
|
||
QSRT20 Remove the code from U$MNT which checks for duplicate
|
||
mount request names.
|
||
QSRSCH Modify LPTFJB so that if spooling to tape, it skips the
|
||
device check
|
||
|
||
313 QSRMAC Add a new queue for DBMS (DBM)
|
||
QSRSCH Add scheduling control vector for DBMS
|
||
|
||
314 QSRMAC Add %OPRWT to list of Object status codes for DN60
|
||
Add error code WFM (waiting for tape/structure mount) for
|
||
R.ACE and Co.
|
||
QSRT20 Have U$MNT always return through E$WFM.
|
||
|
||
315 QSRADM Make A$OBST set remote stations which are internally
|
||
shutdown show up as IDLE instead of NOT AVAILABLE
|
||
QSRDSP Fix a bug in PADLIN so that the correct byte count
|
||
is calculated even if the count is negative.
|
||
QSRNET Fix a bug so that TOPS-10 603A and non-decnet
|
||
TOPS-20 monitors will run. The bug fix is just to
|
||
make sure that the central site status bits
|
||
are not set to indicate that the node is offline.
|
||
QSRQUE Fix a bug - make sure that if a BIN (SPRINT) request
|
||
is processed, that no NOTIFY takes place.
|
||
|
||
316 QSRADM In the DEFINE command processor, start a batch stream for
|
||
Emulation.
|
||
QSRDSP In the list file archiving code, if the user specified
|
||
/ALL, list the archived file name (From .QECON)
|
||
QSRT20 In the File Archiving defaulting code, stash the archived
|
||
file name in the connected directory area (.EQCON)
|
||
|
||
317 QSRMAC Add response to setup code %RSUNC for
|
||
'Port/Line not conditioned'
|
||
Add another word to the network data base for port/line handles
|
||
Add another word to the setup message for port/line handles
|
||
QSRADM Add code to A$DEFINE so that it generates a handle for
|
||
that port/line number by which the front end and spoolers
|
||
can identify one another. Use the UDT and save in net DB.
|
||
QSRSCH Modify the setup message processor so that it sends the
|
||
port/line handle along if setuping up a DN60 remote station
|
||
Modify the Response to setup code so that, if the line/port
|
||
handles do not match(%RSUNC) we will re-define the port/line
|
||
and retry the device setup.
|
||
|
||
320 QSRDSP Add code to D$DMNT (Show Mount Queues) to support
|
||
'INFO MOUNT/USER:xxxx'
|
||
|
||
*********** Start MDA Modifications/Additions **************
|
||
|
||
321 QSRMAC Remove the TOPS20 conditional from the MOUNT structures.
|
||
QSRT20 Remove The MOUNT message processor from the U$MNT code
|
||
and make it D$CMDR to create the MDA MDR queue. Put it
|
||
into QSRMDA.
|
||
Add I$DFMR to default the system dependent data for the MDR.
|
||
QSRDSP Change all MNTQUE references to MDRQUE
|
||
QSRMDA Add D$INIT to initialize the MDA system
|
||
Add D$CMDR to create an entry in the MDR queue.
|
||
|
||
322 QSRMAC Change the disk mount block type codes so that they fall in
|
||
line with the tape block codes.
|
||
Add 2 new block types, .MDNAM, .MDACT for the user
|
||
number, the user name, and the users account string.
|
||
QSRMDA Add the block processors for the new codes.
|
||
|
||
323 QSRMAC Impliment Base Level -3 of MDA . Make Mucho changes/refinements
|
||
to the MDA structures. Update all the Pictures for all QUASAR
|
||
structures. Delete the File Retrieval cancel msg Structure.
|
||
QSRT10 Add code for Initialization to build the UCB chain.
|
||
Add routine I$OMNT to parse operator mount messages and
|
||
send them off to the correct msg processor.
|
||
Delete all U$xxxx routines and/or modify them to be I$xxxx.
|
||
QSRQUE Make Q$LOGOUT exit through the MDA logout processor D$LOGOUT.
|
||
QSRMDA Add mucho code to support base level -3 of MDA. This base level
|
||
supports tape mounts (no AVR) and replaces the UMOUNT/OMOUNT
|
||
interface for tapes.
|
||
QSRDSP Cleanup/fix the tape/disk mount queue display routine to use
|
||
the MDA structures.
|
||
|
||
324 QSRMAC Add Volume status (on-line/offline) message block definitions
|
||
|
||
325 QSRMAC Delete the file archiving cancel message decsriptions
|
||
QSRT20 Delete the code in I$RMCH for matching file archiving
|
||
requests since the cancel message is going to look just
|
||
like all other cancel messages.
|
||
|
||
326 QSRMAC Add /NOTE:, /BEGIN:, and /PRIORITY: to the list of short
|
||
create blocks.
|
||
QSRADM Make D60CND set the IBM node offline. Make A$OSND send
|
||
the message if the destination node is an IBM station.
|
||
QSRSCH Make RSETUP set an IBM node Online if the setup is %RSUOK.
|
||
Make RSETUP set the IBM node offline if the response if
|
||
%RSUDE and we were setup prior to getting the response to
|
||
setup.
|
||
QSRMDA Make some mods to get MDA code running on the -20.
|
||
QSRDSP Delete/Change D$SHRT (Show route tables) so that it dumps
|
||
the network data base.
|
||
Make D$SMNT dump the remarks if /ALL is specified.
|
||
Add code for /SCRATCH in D$SMNT.
|
||
QSRQUE Add processing routines CRQNTE, CRQBGN, and CRQPRI for new
|
||
short create message blocks.
|
||
|
||
327 QSRT20 Make I$CACV get the user number from the EQ.
|
||
Re-arrange some code in I$DFEQ to make sure .EQOID is
|
||
defaulted before account validation
|
||
|
||
330 QSRT20 Fix a bug in the file archiving notification code which
|
||
caused a DTL stopcode. Must asve AP across the NSNDIT
|
||
subroutine call.
|
||
|
||
331 QSRMDA Add finishing touches on volume switch support (tape).
|
||
Put up latest version for everyone to use.
|
||
QSRDSP Add REMARK and LABEL TYPE on tape Q display
|
||
|
||
332 QSRMAC Add error code CIU.
|
||
QSRMDA Fix a bug in MDA Identify code to prevent OPR from identifying
|
||
the users current tape as the user next tape in volume switch.
|
||
QSRT10 Delete temporary code for setting/clearing DVCMDA.
|
||
|
||
333 QSRMAC Add new Message type .QOREW for MDA Tape Rewind
|
||
QSRMDA Add code to support the new rewind function
|
||
QSRT10 Fix a bug (MDA) so that if the device is not available,
|
||
we don't lite the AVR bit on startup.
|
||
|
||
334 QSRMAC Add Error Code ICD, Illegal Connected Directory Specified.
|
||
Modify the setup msg block for passing DN60 line conditioning
|
||
block
|
||
QSRT20 Return Error ICD if Connected directory error
|
||
Add a WTO for a File Retrieval Request.
|
||
QSRNET Remove IBM check from N$NODE and only return TRUE is online
|
||
QSRSCH Re-Work S$RSETUP and remove the old DN60 crocks and add some
|
||
new ones
|
||
Delete routine CHKNODE and put the node online/offline checking
|
||
in the scheduler and the object validation in GETOBJ(QSRADM).
|
||
Modify SETUP to pass a correct DN60 line conditioning block
|
||
to the spoolers.
|
||
QSRADM Delete the DN60 line conditioning routines (They're moving to
|
||
the spoolers) and re-work the DN60 support code.
|
||
Add some more object validation to GETOBJ.
|
||
QSRMDA Move the PUSHJ P,UNLOAD from CHKVOL to the device status msg
|
||
processing routine.
|
||
|
||
335 QSRMAC Expand the node went away message so that we can stuff the
|
||
port,,line number in .OFLAG and lite %ONLINE in .MSFLG to
|
||
make it a Node Online Message.
|
||
QSRADM Add code in KILPSB so that if we are killing a processor for
|
||
an IBM remote, we set the node offline
|
||
QSRNET Add entry points N$NONL (online) and N$NOFF (offline) for IBM
|
||
online/offline processing. Have it send a node-went-away or
|
||
node-came-online message to Orion.
|
||
QSRSCH Make the RSETUP routines call N$NONL & N$NOFF for IBM remotes.
|
||
|
||
336 QSRMAC Add .FPF8B for 8 bit files
|
||
QSRSCH Add DN60 Node offline call to the shutdown code.
|
||
Also, send the setup msg to DN60 devices regardless of
|
||
requests in the queue.
|
||
QSRADM Delete the code to set an IBM node offline in SHUTDOWN NODE
|
||
|
||
337 QSRDSP Add support to the show status processor for the emulation
|
||
spooler. If the emulation spooler is running, send the status
|
||
message to it so that it can generate the ack back to the OPR.
|
||
|
||
340 QSRT10 Modify I$IPS so that it works the same on both the -10 and
|
||
-20. That is, if the message being sent is greater then the
|
||
maximum packet size, then allow it to be sent anyway. We
|
||
did this by allocating a page for the message and sending
|
||
a page instead of a packet. This allows for GALAXY debugging
|
||
where IP.CFL would not.
|
||
|
||
341 QSRSCH TOPS20 QAR (20-00605) Delete the spooling to tape check
|
||
in OUTFJB.
|
||
|
||
342 QSRADM Add DN60 Signon support to DEFINE and SET NODE commands.
|
||
QSRMAC Add Node Status Bit NETSGN for Node Signon Required.
|
||
QSRDSP Modify D$NPRM to display Signon Required info
|
||
|
||
343 QSRMAC Add a new status bit to the EQ for account validation required.
|
||
Delete OBJECT status bit OBSAVW.
|
||
QSRT10 Start adding code to support disk units in MDA. Build the
|
||
UCB's and VOL's for disk drives in I$INIT.
|
||
Make I$SACV always return true.
|
||
QSRSCH Delete the JUMPF .RETF following the call to I$SACV
|
||
in NEXTJB.
|
||
Delete the JUMPF SCHD.4 following the PUSHJ P,SCHSCH(P2)
|
||
in SCHD.2
|
||
Change the PUSHJ P,EQDFLT at BINDEF to PUSHJ P,INPDEF
|
||
QSRNET In N$NONL, change the check for .OTIBM to .OTBAT
|
||
Also, only send the Node online/node offline message to
|
||
ORION if the node is termination
|
||
QSRADM In A$HELLO, $LOG the processor signon event.
|
||
In KILPSB, $LOG the deletion of a PSB.
|
||
QUASAR Add support for account validation response from ACTDAE,
|
||
so that we dispatch to the correct routine.
|
||
|
||
344 QSRSCH Add OBSSIP to S$SHUT code to check if setup in progress
|
||
for shutting down an object
|
||
QSRADM Add OBSSIP to A$SHUT to check for setup in progress when
|
||
shutting down an object
|
||
QSRDSP Remove label type from /ALL mount queue listing
|
||
|
||
345 QSRADM Change A$OSHT to remove the OBSSIP bit check added above.
|
||
Instead, make A$OSHT call S$SHUT to shut down the object.
|
||
Also, change SHUTNO to call S$SHUT to shut down an object.
|
||
QSRT20 Zero the VL.SCR (CHKP.5-3) bit if MOUNTR passes back a
|
||
volume ID.
|
||
|
||
346 QSRSCH Add a hack (Should be removed ASAP) to correct a problem
|
||
in BINDEF where the CNOD limit word can get trashed by
|
||
the call to INPDEF. Save the CNOD limit word across the call.
|
||
|
||
347 QSRT20 Modify I$AGE so that it always returns a value. If the
|
||
calculated time difference is 0, then return 1 second.
|
||
QSRT10 Same As Above.
|
||
|
||
350 - 600 Spare Edit Numbers For Release 4
|
||
|
||
601 QSRMAC Expand the EQ status bit (QE.ACT) so that it is a field 2
|
||
bits in size. Add EQ.ACT codes %VALID, %VALRQ, %VALPD
|
||
QSRT10 Change I%ACTV, I%CACV, I%VACT to use the new codes.
|
||
|
||
;Start implimenting disk structure support for MDA.
|
||
|
||
602 QSRMAC Add symbols .VLVID, .VLSTR to the VOL structure description.
|
||
Add symbols .UCBAU, UC.UTP to the UCB structure description.
|
||
Add Symbols for .DSVOL block in the .QOTST message
|
||
QSRT10 Add disk structure initialization support for MDA.
|
||
Define .QOCAT and .QORCT message formats
|
||
|
||
603 QSRMAC Add symbol for %RMSTR, removal of str from user's search list
|
||
ACK code type.
|
||
|
||
604 QSRMAC Add %UNKN for unknown mount requests
|
||
QSRMDA Fix many bugs in MDA code for Strcutures
|
||
QSRDSP Add a display routine for SHOW STATUS STRUCTURES
|
||
|
||
605 QSRMDA Make MDA pass and understand the ack code for
|
||
catalog requests.
|
||
Delete routine D$MVSL as it is now not needed.
|
||
QSRDSP Change the reference to D$MVSL to do check .VSUCB instead
|
||
Make KONTBL a global table
|
||
|
||
606 QSRMAC Add .RDBVS to the RDB structure for canceling mount requests
|
||
QSRT10 Change I$KMNT to use .RDBVS
|
||
QSRMDA Change MDA to enable multiple volume set requests
|
||
QSRDSP Change D$SMNT for new MDA structure
|
||
|
||
607 QSRQUE Make the message length check in Q$KILL upward compatible
|
||
QSRADM Add OBSSIP to A$OSHT so that setup in progress is equilvelant
|
||
to setup
|
||
QSRSCH Add OBSSIP to S$SHUT when shutting down an object.
|
||
|
||
610 QSRMDA Fix 2 bugs. One in D$IDEN which would cause an IVU stopcode
|
||
by deleting a volume which was requested by someone. Second,
|
||
make REASSIGN take a VSL Address in S2 so that we assign the
|
||
device to the correct volume set.
|
||
|
||
611 QSRMDA Add .VLOID the owner id for private structures
|
||
Don't build structure until we know the owner (via GETCAT)
|
||
|
||
612 QSRMDA Make DELVOL delete all volumes of a multiple
|
||
volume structure.
|
||
QUASAR Add support for [SYSTEM]GOPHER messages
|
||
QSRT10 Add routine I$GOFR to process [SYSTEM]GOPHER messages.
|
||
|
||
613 QSRMEM Remove routine SETSIZ and make the references just a LOAD.
|
||
QSRT10 Remove routine I$IPS for sending IPCF Messages
|
||
QSRMAC Remove the IPCF resend and input queues
|
||
QSRIPC Delete all old code and rewrite QSRIPC, using the GLXLIB
|
||
IPCF interface
|
||
|
||
614 QSRADM Change A$OSHT to remove the OBSSIP bit check. Instead make
|
||
A$OSHT call S$SHUT to shut down the object. Also change
|
||
SHUTNO to call S$SHUT to shut down the object.
|
||
QSRSCH Add OBSSIP to RSET.2 so that it gets cleared when OBSSUP does
|
||
|
||
615 QSRIPC Add a call to G$SFAL in the unrecoverable send code to
|
||
delete the PSB and clean up the world if the 'user' that
|
||
went away was a processor.
|
||
|
||
616 QSRIPC If we queue up a message to be resent later, then return true.
|
||
QSRMDA Add code to build the 'A' matrix for deadlock avoidance.
|
||
Change USRNOT so that it sets up the page in both the ACK code
|
||
and the NOTIFY code.
|
||
Add new DISK. function to clear MDA WAIT in UNISTS.
|
||
Fix a bug in DELVSL so that if called with TMPVSL as the VSL
|
||
to delete, then we do the right things
|
||
|
||
617 QSRT10 Delete the code to get the device attributes during UCB
|
||
generation and make it a separate subroutine called I$GATR
|
||
QSRMDA Add support for the ATTACH/DETACH monitor messages.
|
||
Make SET x AVAILABLE call I$GATR to setup attributes.
|
||
|
||
620 QSRMDA Add support for LOCK and UNLOCK commands
|
||
|
||
621 QSRSCH OK Fans, I've finally gone and done it. With this edit,
|
||
QUASAR now has an EVENT queue for scheduling events by time.
|
||
Rewrote routine CHKTIM.
|
||
Added routine S$EVENT
|
||
QUASAR Deleted routine G$STIM and added global variable G$EVENT
|
||
|
||
622 QSRMDA Display units of structure when dismount ack comes thru.
|
||
QSRMAC Symbolize forward, backward pointers in .VLPTR
|
||
|
||
623 QSRQUE Delete the call to S$SCHK when a checkpoint message is processed
|
||
QSRSCH Make S$SCHK check the OBJTIM word to see if a checkpoint is
|
||
scheduled. If it is non-zero, then return now.
|
||
Make CHKPOINT zero the OBJTIM word.
|
||
QSRT10 Change the INIT code so that if there is no MDA support in the
|
||
monitor, we don't do MDA initialization. Also, add code to force
|
||
QUASAR to wait for the system components it needs before
|
||
continueing to process.
|
||
QUASAR Add global word G$MDA for an MDA support flag.
|
||
|
||
624 QSRMDA Add ALLOCATION support
|
||
Add code to support QUASAR running without MDA monitor support
|
||
QSRMAC Add MR.LNK, delete VS.LVL.
|
||
|
||
625 QSRMDA Rewrite MATUNI, and add routines ACKUSR, CHKVSL, MNTVSL in
|
||
order to support multiple VSL Mount requests
|
||
QSRT10 Add routine to send SHOW messages for system DUMP list to
|
||
PULSAR.
|
||
Add a new error E$MDA for no MDA monitor support
|
||
QSRDSP Make D$SMNT check to see if the request is an allocation
|
||
request and if it is, skip over it.
|
||
|
||
626 QSRMDA Make D$CMDR be Global
|
||
QSRT10 Add code to process messages from the monitor for search
|
||
list changes.
|
||
QUASAR Add an entry for the above monitor message
|
||
|
||
627 QSRDSP Do something with /MOUNTED and /FREE on
|
||
SHOW STAT DISK
|
||
|
||
630 QUASAR Add a dispatch entry point for the LOGIN message.
|
||
QSRT10 Add routine I$LOGN to process LOGIN messages
|
||
|
||
631 QSRMAC Add VS.WAL for a new volume set state (waiting for allocation)
|
||
QSRALC Create module QSRALC for MDA Device Allocation
|
||
QSRMDA Add calls to D$ALOC (in QSRALC) to perform device allocation
|
||
|
||
632 QSRDSP Add SHOW ALLOCATION support
|
||
|
||
633 QSRMDA Add support for ASCII resource names
|
||
|
||
634 QSRMAC Add definition for unknown mount request type
|
||
|
||
635 QSRMDA Add support for /SINGLE, /NOCREATE, /WL, /PASSIVE
|
||
QSRMAC for disks.
|
||
|
||
636 QSRMAC Add .QOALC message type for BATCON allocation processing
|
||
QSRQUE Add support for MDA batch Interface (Call I$BMDR)
|
||
QSRT10 Add routines I$BALC (Batch Allocation Msg) and I$BMDR
|
||
for creating the batch request MDR.
|
||
|
||
637 QSRMAC Move the MM.ALC bit from .MMFLG to .MEFLG, and call it ME%ALC
|
||
Also Change MM.ALC to MM.DLC
|
||
Invent the .QOPRM message (just like .QOMNT) except
|
||
for use only from pre-scan process to QUASAR.
|
||
|
||
640 QSRMDA UiO hacking... Countdown on locked strucutres notification
|
||
Single access file structures. Operator intervention streams
|
||
Automatic unlod of file structure when last lock goes away.
|
||
|
||
641 QSRMDA More UiO hcaking. Don't account for resources
|
||
QSRALC used by 'permannent' structures. Remove those resources
|
||
QSRMAC from the A matrix at startup time
|
||
|
||
642 QSRMAC Add VS.REM to indicate user wants str dismounted
|
||
Add MM.REM for the same reason
|
||
QSRDSP Fix bugs in STATUS displays involving remote stations
|
||
QSRMDA Fix bugs causing PPR stopcodes in the batch/MDA interface
|
||
Make MDA wait for the dismount ack from PULSAR before
|
||
acking the user
|
||
Add support for user requesting structure dismount
|
||
QSRT10 Fix more batch/MDA interface problems (I$UMDR)
|
||
QSRALO Add code to make the allocation routine reset the VSL link
|
||
codes for pseudo requests if the allocation wins
|
||
|
||
643 QSRT10 Fix a bug: Make I$KMNT check for a null MDR and delete it
|
||
before returning.
|
||
Add some code to support MDA UUO interface (Errors only)
|
||
QSRMAC Add MR.ACK for checking ack msg requests in mount/allocate
|
||
QSRMDA Modify D$MOUNT to set MR.ACK and USRNOT to check it.
|
||
|
||
644 QSRT10 Add full UUO support for MDA.
|
||
QSRMAC Add MR.GFR to indicate request was generated by UUO.
|
||
QSRMDA Make USRACK look at MR.GFR and exit if set
|
||
Rewrite VALMSG so that it validates ALL message block lengths
|
||
|
||
645 QSRMAC Invent ASL.NQ so MDA can tell PULSAR to remove a str from
|
||
a user without regard for quotas
|
||
|
||
646 QSRMDA Fix a couple of bugs. First, delete the call to MATUNI in
|
||
ALCVSL for mag tapes and make DELVSL always call ALCVSL.
|
||
Second, Create a new status bit, VS.NMT (Not Mounted) so that
|
||
we can mount a volume set for a pseudo process without really
|
||
assigning the device.
|
||
Add $ERJMP macros for error calls which will display the
|
||
error for the operator.
|
||
QSRMAC Define some new error macros and codes for MDA
|
||
|
||
647 QSRMDA Make MNTDRV look at 7 track codes, instead of 9 track
|
||
Make DEFTAP call TAPRSN to validate the resource type
|
||
Create routine REMOVE to delete a specific VSL and retry the
|
||
mount with the remaining requests (If any).
|
||
Call REMOVE from CATACK and D$RCAT
|
||
|
||
650 QSRMDA Fix NBE (Negative 'B' Matrix) Stopcode. In DELVSL, lite VS.UAL
|
||
with an IORM instead if INCR. In D$DVS, call DELVSL on a
|
||
Deallocate.
|
||
|
||
651 QSRT10 Finish Set Tape Initialize, Add .QOIDN (Initialize Done)
|
||
Message.
|
||
QSRMDA Add Support for MOUNT with ALIAS (OPR MOUNT command)
|
||
Add quota enforcement support
|
||
|
||
652 QSRNET Add support for device routing (Rewrite N$NRTE)
|
||
|
||
653 QSRMAC Add definition for %TFxxx tape label types
|
||
Make .TFDnn definitions as SYSPRM's
|
||
Add error codes for MOUNT message parsing
|
||
|
||
654 QSRMAC Add definition for %SITGO attribute and obsolete
|
||
OBDLLC, OBDLUC and RO.PHY
|
||
QSRADM Add support for device attributes in KILPSB, A$HELLO, and
|
||
A$OSTA.
|
||
QSRNET Change Device attribute check in N$CSTN for new attributes.
|
||
QSRSCH Add support for device attributes in the scheduler and
|
||
RSETUP.
|
||
|
||
655 QSRMAC Add an account string entry to the CSM and SPOOL msg
|
||
descriptions for TOPS10.
|
||
QSRADM Add routine A$GPSB & A$LPSB to find a generic PSB entry
|
||
using the object type and device attributes.
|
||
QSRT10 Change I$CSM to move the account string from the monitor
|
||
spool message into the connical spool message
|
||
Change I$SMEQ to move the account string from the CSM to the EQ
|
||
Change I$RALC so that it calls A$LPSB to find an allocation
|
||
processor, and also make it look at .QECRE and the DEPN limit
|
||
word before sending the request for allocation.
|
||
QSRSCH Delete the PSB search from the scheduling loop and insert a
|
||
call to A$GPSB instead.
|
||
|
||
656 QSRMDA Fix a bug in volume set name translation from lower case
|
||
to upper case
|
||
QSRQUE In Q$REQUEUE, make sure we always convert the MDR to a
|
||
pseudo process MDR
|
||
QSRT10 Store BA%JOB+Request-id in the QE when building the
|
||
MDR (I$BMDR)
|
||
QSRALO Store BA%JOB+Request-id in the QE when converting from a
|
||
real MDR to a pseudo process MDR
|
||
|
||
657 QSRMAC Add OBSSER (Stop after every request) to OBJECT status bits
|
||
QSRMDA Add LOCK /NOUNLOAD support
|
||
QSRADM Re-write A$OPAU to support various flavors of STOP
|
||
|
||
660 QSRMDA Add DISMOUNT str:/NOCHECK
|
||
|
||
661 QSRMDA Add D$ASGN to support foreign devices
|
||
QSRT10 Add I$CUNK to support foreign devices
|
||
QSRDSP Modify D$SMNT for %UNKN displays
|
||
|
||
662 QSRMDA Store density index into VS.DEN in the VSL and make DENSTY
|
||
global.
|
||
QSRDSP Add code to display volume set, tracks, and density on MOUNT
|
||
request listings. Also display single access mounts in SHOW
|
||
ALLOCATION commands.
|
||
|
||
663 QSRDSP Modify ACKs to include queue type on INP, LPT, etc. queue
|
||
requests.
|
||
|
||
664 QSRALO Merge this modult into QSRMDA and delete it
|
||
QSRMDA Add support for deadlock avoidance during volume switch
|
||
and at IDENTIFY time
|
||
Fix numerous bugs.
|
||
QSRQUE Add a new short create block for free running processors.
|
||
QSRDSP Add the remark, track and density data to the mount displays
|
||
QSRMAC Add VL.OWN to the volume status bits to indicate that the user
|
||
owned this volume at some time
|
||
|
||
;In-house 4.1 Load Test started 5-May-80
|
||
|
||
665 QSRMDA At MNT.2B, delete the check for allocation wait.
|
||
QSRSCH At INPFJB, delete the check for dependancy and /AFTER
|
||
times and always call I$RALC to check these and validate
|
||
allocation.
|
||
QSRT10 Make I$RALC always return FALSE unless we are no longer
|
||
waiting for allocation (QE.WAL not lit)
|
||
QSRADM Rewrite A$FOBJ so that we call N$MTCH to compare the
|
||
OBJNOD fields of the 2 object blocks.
|
||
|
||
666 QSRDSP Delete the "alloc Wait' status from the SHOW QUEUE display
|
||
QSRMDA In D$IDEN, call D$BMTX to locate the guys 'B' matrix entry
|
||
before updating his 'B' matrix.
|
||
|
||
667 QSRMAC ADD %TFT20 TAPE LABEL DEFINITION FOR TOPS20
|
||
MAKE %TFLBP ILLEGAL FOR TOPS20
|
||
QSRT10 Make the I$ATCH code clear the MDA wait status in the UNISTS
|
||
word for the port which was attached
|
||
QSRNET Always call the PURGE.DUP.OBJS routine for nodes online
|
||
and nodes just added. Also, always gen a new node name for
|
||
nodes online and just added.
|
||
|
||
670 QSRMAC Add an event counter for the number of times the deadlock
|
||
avoidance alogrithm is invoked.
|
||
Delete all references to the /DEADLINE parm (obsolete)
|
||
Add symbols MAXRES for the max resource count, and SGNBIT
|
||
for the "A" matrix count fields sign bit.
|
||
QSRMDA Add the counter increment to D$DEAD
|
||
Change the max number of a particular resource to MAXRES,
|
||
from G$MAXJ.
|
||
Change TELOPR to put out remark/track/density info on tape mnts
|
||
QSRSCH Modify INPSCH and INPRJI to fix a bug caused by multiple
|
||
batch streams (same batch stream number) being started.
|
||
QSRDSP Add track type to show status tape
|
||
Replace Req# with Job# in show status tape
|
||
Fix a bug in mount queue display so that we get correct tracks
|
||
QSRQUE Delete the modify instruction for /DEADLINE
|
||
|
||
671 QSRMDA Make the Mount request display for volume switches be the same
|
||
as normal mount requests.
|
||
Make /SCRATCH and /NEW tape volume sets work correctly
|
||
Make Bypass label processing a privilaged label type
|
||
QSRSCH Fix a bug in the new UNIQUE code (INPSCH).
|
||
QSRT10 Fix a bug - clear 'waiting for MDA' on ATTACH of either primary
|
||
or secondary port (Not just primary port)
|
||
|
||
672 QSRMAC Expand MDR for some accounting info.
|
||
QSRMDA Add hooks for MDA accounting
|
||
Fix a bug - Always call the deadlock avoidance routine during
|
||
device allocation
|
||
QSRT10 Add subroutines for MDA Accounting
|
||
In I$BMDR, do not set QE.WAM by default.
|
||
|
||
673 QSRMAC Define VL.FLG to mask the .VLFLG flag bits area
|
||
Add definitions for MDA defaulting from GALCNF
|
||
QSRMDA Add routine CKTVOL to check for duplicate VOLID requests
|
||
in different volume sets
|
||
In IDEN.3+x only move the .VLFLG flag bits from the mounted
|
||
VOL block to the user VOL block
|
||
In VSR.4 change the MOVEM P3,0(S2) to a HRRM P3,0(S2). This
|
||
will preserve the VSL pointer flag bits in the left half.
|
||
Add routine MNTOPR to notify the operator of pending mount reqs
|
||
QUASAR Add a generic error buffer called ER$XXX. This can be $TEXT'd
|
||
into in order to generat an ack back to the user
|
||
Move the call to DETACH up before the call to I%INIT.
|
||
QSRT10 Fix misc bugs in the MDA accounting routines
|
||
|
||
674 QSRMDA Delete the FROM: from the MDA opr displays
|
||
QSRT10 Make the accounting routines do a DSKCHR to get the private
|
||
structure bit.
|
||
Make the login routine do the ACCT. UUO to get the users
|
||
account string.
|
||
QSRDSP Fix a bug in CHKOBJ. Must save S2 around the call to N$NODE.
|
||
|
||
675 QSRMAC Delete .MRACT from the MDR.
|
||
QSRSDP Put the secondary port unit back into SHOW STATUS DISK
|
||
QSRT10 Make I$LOGN convert the batch MDR to a real MDR.
|
||
Make the MDA accounting routines get the users account
|
||
string and private structure bit at the time the account
|
||
entry is made.
|
||
QSRQUE Delete the code from Q$CHECKPOINT which takes the job number
|
||
from batch checkpoint messages and puts it into the QE.
|
||
QSRMDA On duplicate mount requests for tapes, don't allow attribute
|
||
changes. (prevents NCM stopcode)
|
||
On Set Tape Unavailable, do NOT unload the tape drive.
|
||
|
||
676 QSRMAC Add new counts inc. deadlock failures, nextjob messages
|
||
by objects, and mount by types
|
||
QSRMDA Do the counts for mounts and deadlock failures
|
||
Add the MPP stopcode to the D$PPRE routine
|
||
QSRSCH Do counts on nextjob messages by object
|
||
QSRQUE Fix bugs in the Modify code which caused MPP and PPR
|
||
stopcodes. Change Q$CREATE so that we ALWAYS generate
|
||
a new request ID. Change MODI.5 so that we delete the
|
||
old MDR for the request being modified.
|
||
|
||
677 QSRSCH Fix up some undefined symbols under INPCOR conditional.
|
||
QSRDSP Change Batch queue display to include /CORE value. Also
|
||
clean up random messages.
|
||
|
||
700 QSRMDA In the dismount structure ack code, is the requestor was a
|
||
pseudo process, then set the QE.WAM status bit instead of
|
||
calling USRNOT.
|
||
|
||
701 QSRT20 SPR 20-14519 Make NTIMER build the file archiving object block,
|
||
instead of relying on it being built by someone else.
|
||
|
||
702 QSRMAC Fix counts to have MNXT counted correctly (+.OTMAX+1)
|
||
Remove MABO so things remain the same
|
||
|
||
703 QSRDSP The OPR command "SHOW STATUS NETWORK-NODE nnn" where nnn was
|
||
an offline (unknown to QUASAR) octal node number would return
|
||
a junk node name in the ACK. QUASAR assumes that all node
|
||
names/numbers are in sixbit and would ^W/.../ the quantity.
|
||
^N/.../ instead.
|
||
|
||
704 QSRMAC Correct bad spelling in the IMO fatal error message.
|
||
|
||
705 QSRT10 Check DEVCHR bits DV.ASC!DV.ASP to determine if a device
|
||
is in use instead of DEVTYP's TY.JOB field.
|
||
|
||
706 QSRMAC Define new LIST message fields
|
||
QSRDSP Process new LIST message fields for SHOW QUEUE and QUENCH.
|
||
|
||
707 QSRDSP QAR # 10-04634 Fix display for OPR> SHOW STATUS STRUCTURE
|
||
/USER to show correct batch request number and notate same.
|
||
|
||
710 QSRSCH Change all search references of D60JSY to D60UNV
|
||
|
||
|
||
711 QSRMAC Implement /DISPOSE:RENAME correctly
|
||
QSRSCH Add routine RENDEF to default process /DISP:RENAME
|
||
QSRT10 Add Routine I$REND to rename the file to DSK:[3,3]
|
||
|
||
712 QSRT10 Rewrite the ATTACH/DETACH routine for the new monitor
|
||
message
|
||
|
||
713 QSRSCH Fix /MODIFY of input /DEST and /BEGIN
|
||
QSRDSP List input /DEST as well as /PROC
|
||
|
||
714 QUASAR Use new feature IB.DET to detach from FRCLIN.
|
||
|
||
715 QSRDSP Do a DEVNAM UUO for the device specified in SHO STA TAP x
|
||
QSRMDA Do ***NOT*** poll the tape drives on MDA initialization
|
||
QUASAR Delete the IB.DET bit from the IB. GLXLIB defaults to detach
|
||
if on FRCLIN
|
||
QSRSCH In INPDEF, zero .EQROB+.ROBAT to make sure no unit is specified
|
||
QSRT10 In D$BMDR, save the pseudo job number in the QE (.QEJBN)
|
||
|
||
716 QSRMAC Add symbol %RENAME for QUEUE. UUO and Short Create
|
||
QSRQUE Modify CRQODP to handle the %RENAME function
|
||
QSRT10 Fix debugging code at SETO.1-2 (QAR 10-04678)
|
||
QSRMDA Put out an error msg for IDENTIFY with bad RID (QAR 10-04675)
|
||
|
||
717 QSRT10 Add routine I$CGEN which validates device requests
|
||
Modify I$DTCH & I$ATCH so that multiple deatches for the same
|
||
drive do not change the unit availability count and an attach
|
||
for a previously unavailable drive gets the device attributes
|
||
again
|
||
QSRMDA Modify TELOPR so that the device type is displayed
|
||
for generic mounts
|
||
QSRDSP Modify D$SMNT so that the device type is displayed
|
||
for generic mounts
|
||
|
||
720 QSRMAC Add MR.QUE to the MDR flag word. Contains the object type of
|
||
the process if a pseudo process
|
||
Define VS.ABO for OPR mount cancels during volume switch
|
||
Expand the VS.RSN field to 6 bits & VS.TRK to 3 bits
|
||
QSRT10 Make I$BMDR set MR.QUE
|
||
Delete the force line detach code (GLXLIB always detaches)
|
||
QSRMDA Change all calls to A$FREQ which just need an object type to
|
||
use MR.QUE
|
||
Make CANCEL MOUNT <str> or <*> work.
|
||
Add support for mount cancel during volume switchs
|
||
QSRDSP Change all calls to A$FREQ which just need an object type to
|
||
use MR.QUE
|
||
Check VS.ABO before putting out a mount request
|
||
|
||
721 QSRMAC Add RSU.PN to respond to setup message for prototype node name
|
||
|
||
722 Fix SCE stopcodes
|
||
QSRMAC Add VS.REL to indicate a reel id was specified by the user
|
||
QSRMDA Modify MNTVOL to set VS.REL
|
||
QSRT10 Modify I$CUNK to check VS.REL
|
||
|
||
723 QSRMDA Fix multiple scratch tape mount problem
|
||
QSRT10 Add a WTO to the operator on a user mount cancel
|
||
Make the cancel mount code call CHKOWN
|
||
QSRDSP Make show status structure display the time in hours:minutes
|
||
|
||
724 QSRT10 During initialization, turn off spooling so QUASAR can reassign
|
||
physical devices (non-disk/tape) to users.
|
||
|
||
725 QSRMDA Confused user when QUASAR tells him that pending UNLOCK has been
|
||
canceled instead of pending LOCK.
|
||
|
||
726 QSRMAC No way to tell if a given stream or unit has a process driving
|
||
QSRDSP it. Invent new status "No processor" to indicate the obvious.
|
||
|
||
|
||
727 QUASAR Add code for statistics recording (G$LOG)
|
||
QSRMDA Clean up some noisy messages (those with bells).
|
||
QSRQUE
|
||
QSRT10
|
||
|
||
730 QSRADM Use ^N instead of ^W for node names
|
||
QSRDSP
|
||
QSRMDA Fix a bug so that the OPR cannot set a tape drive unavailable
|
||
while the user is switching volumes.
|
||
QSRT10 Modify I$BMDR so that we don't request allocation for jobs
|
||
destined for remote nodes.
|
||
|
||
731 QSRMDA Set and clear DVCMDA for all non-disk/non-magtape devices
|
||
reassigned so that pretty messages will appear on the OPR
|
||
terminal.
|
||
|
||
732 QSRMDA QAR #10-04775 Make disable/enable volume recognition work
|
||
correctly for both tape and disk drives
|
||
|
||
733 QSRT10 QAR # 10-04779 Reverse execution of GTNEN. with GETLCH
|
||
to use correct terminal number with GETLCH
|
||
|
||
734 QSRADM QAR # 10-04904 Can't shutdown the central node. Remove
|
||
useless check at SHUTNO plus a few.
|
||
|
||
735 QSRT10 QAR # 10-04776 Confused programmer. Description of ACTSTR block
|
||
says its storage for an accounting string. Not any more.
|
||
Change comments a bit.
|
||
|
||
736 QSRADM Add
|
||
QSRNET prototype
|
||
QSRSCH node
|
||
QSRDSP support for DN60
|
||
|
||
737 QSRMAC Remove definition for argument block and place in GLXMAC
|
||
|
||
740 QSRSCH Fix QAR # 10-04950 Don't zero attributes in INPDEF.
|
||
QSRMAC DELETE DEFDEN AND ADD DEF7TK AND DEF9TK FOR 7 AND 9
|
||
TRACK DEFAULTS.
|
||
QSRMDA ADD SUPPORT FOR DEFAULTING 7 AND 9 TRACK DENSITIES
|
||
ALSO, DO NOT ALLOW NULL DISK VOLIDS ON DISK ONLINE
|
||
ALSO, EXPAND VSL QUEUE ON STACK IN MNTVSL
|
||
QSRNET FIX SOME BUGS IN PROTOTYPE NODE SUPPORT FOR DN60
|
||
QSRT10 DO USAGE ACCOUNTING EVEN IF NOT DOING ACCOUNT VALIDATION
|
||
QUASAR DELETE G$APID (NOT USED)
|
||
|
||
741 QSRMDA Fix NCE stopcodes by checking VS.ABO in VSLRSN.
|
||
QSRADM Fix A$GBLK so that it is more defensive against bad messages
|
||
|
||
742 QSRDSP Clean up parameter display when stream attrributes are involved.
|
||
|
||
743 QSRMDA Don't set up AP at RCAT.0-1. FNDVSL already did it.
|
||
Fix up LOCK code so that PULSAR always deletes a sstructure
|
||
when a lock expires
|
||
QSRIPC In C$SEND, if no PID in SAB.PD, then skip resend logic
|
||
QSRDSP Enhance SHOW ALLOCATION display to include resource type.
|
||
|
||
744 QSRT10 Delete the WTO for invalid unit characteristics (of no use !)
|
||
|
||
745 QSRADM Stop the resetting of device attributes in KILPSB!
|
||
(%SITGO gets blown away)
|
||
|
||
746 QSRDSP Allow ranges specified in SHOW PARAMETER or DEVICE to
|
||
function correctly.
|
||
|
||
747 QSRT10 Enhance DECtape support. Change MOUNT queue display to
|
||
QSRMDA include device type and write locked/enabled status for
|
||
QSRDSP DECtapes. Change operator MOUNT message to include more
|
||
information about DECtapes. Add DECtape accounting.
|
||
|
||
750 QSRDSP Get rid of extra carriage return in SHOW STAT STR/USERS.
|
||
Align "Ask" with Lim-Ex column in parameter display.
|
||
Check for /FREE switch on SHOW STATUS TAPE display.
|
||
|
||
751 QSRMDA Fix generation of structure mounted messages to ]<crlf>[
|
||
|
||
752 QSRMDA Use symbolic, not numeric references to data within CATQUE.
|
||
|
||
753 QSRMDA QUASAR adopted the habit of handing out logical names for free
|
||
in the hopes of providing the user with a new "useful" way
|
||
of accessing a device. It has the nasty side effect of not
|
||
allowing the user to type .MOUNT MTA/switches twice, since
|
||
QUASAR tries to assign the logical name 'MTA' to both tapes.
|
||
Naturally, the first wins and the second loses. Also fix up
|
||
ACKs that want to display logical names when there aren't any.
|
||
|
||
754 QSRADM Change the default for transparance for IBM to off per B.S.
|
||
QUASAR Add a dispatch table for system messages to QUASAR
|
||
QSRMAC Add ATTACH/DETACH message definition to QSRMAC.
|
||
QSRT10 Delete ATTACH/DETACH message definition.
|
||
QSRDSP Fix QSRDSP to display correct forms type
|
||
Add 25 words to end of display page. Some mount displays
|
||
exceed 50 words.
|
||
|
||
755 QSRMAC Add .QEMDR & .MRQEA so we can point MDR's and QE at each other
|
||
QSRMDA Make MDA use .QEMDR & .MRQEA to reference MDR's and QE's
|
||
Do not allow SET AVAILABLE if device already is available
|
||
No not tell OPR to mount anything if batch req's has uniqueness
|
||
QSRT10 Make MDA use .QEMDR & .MRQEA to reference MDR's and QE's
|
||
QSRSCH Make NEXTJB reset .MRQEA
|
||
QSRQUE Make REQUEUE reset .MRQEA
|
||
QSRDSP Fix mount display to prevent wrap around.
|
||
QUASAR Do not execute G$LOG (Statistics routine) if debugging.
|
||
|
||
756 QSRMAC Add new object attribute OBSATR
|
||
QSRSCH If the processor resets the object attributes, set OBSATR
|
||
When shutting down the object, only reset attributes if
|
||
OBSATR is on
|
||
QSRADM When killing a PSB, only reset object attributes if OBSATR
|
||
is on
|
||
|
||
757 QSRDSP Modify the SHOW ALLOCATION display to include any volume set
|
||
QSRMDA names that the user has. Other minor cosmetic fixes.
|
||
QSRQUE
|
||
|
||
760 QSRMAC Some accounting changes. Keep the account string in the QE
|
||
QSRQUE so verification at scheduling time is faster, support the
|
||
QSRSCH new IPCF message returned from ACTDAE on a sucessfull account
|
||
QSRT10 validation (it contains a possibly modified/defaulted account
|
||
string) and move the new account string into the QE.
|
||
Fix a bug where spooled files didnt get account
|
||
strings unless account validation was required.
|
||
QSRMDA Fix logical name defaulting so that we always default the
|
||
logical name, but if the REASSIGN fails, we zero the name
|
||
and retry the REASSIGN UUO.
|
||
|
||
761 QSRADM Simplify A$CPOB to use a BLT to accomplish the move.
|
||
QSRSCH Fix bug in scheduling of remote batch jobs
|
||
QSRMDA Fix big in DELRID for bad request id display
|
||
Fix bug in DSMACK so that mounts do not disappear.
|
||
|
||
;Field test tape #4
|
||
|
||
762 QSRQUE Fix an old bug which caused mount requests to disappear.
|
||
QSRSCH Delete automatic checkpointing (performance fix) and let
|
||
the spoolers send checkpoints when they feel like it
|
||
QSRADM Add code to send a null ack to all PSB's when a HELLO msg
|
||
is processed. This will let QUASAR know what processors
|
||
still exist.
|
||
|
||
763 QSRSCH Jobs don't get scheduled for off-line nodes when spooling to
|
||
a random device. Add a check.
|
||
QSRADM No not shutdown invisible objects on SHUTDOWN NODE command
|
||
|
||
764 QSRMAC Define IPCC message type .IPCXC (XCHANGE disk unit).
|
||
Define some new .EQ fields: .EQUSR, .EQBOX, .EQCST, .EQDEC
|
||
QSRMDA Impliment a scheme for letting PULSAR return text to QUASAR
|
||
Do not create mount request for NUL: if pseudo process
|
||
QUASAR Add symbol MSGLN which defines G$MSG buffer length
|
||
QSRIPC Fix bug in C$SEND resend queue logic
|
||
QUASAR Define MSGLN for G$MSG length
|
||
QSRSCH Fix bug which caused remote devices to be shutdown (really)
|
||
when the queue was empty
|
||
|
||
765 QSRT10 Check for NUL: on pseudo process MDR creates
|
||
Fix DECtape accounting routines
|
||
QSRNET Don't check for non-standard devices (tape) when performing
|
||
network device checks for the scheduler.
|
||
QSRMDA Modify D$DEAS, D$ASGN to support (better) DECtapes, etc.
|
||
Fix a bug - Mount requests for strs when opr dismount fails
|
||
If perm str is dismounted,,update the 'A' matrix
|
||
|
||
766 QSRMAC Add OBSFRM to indicate forms change required
|
||
QSRSCH Fix DTS stopcode for IBM remote batch jobs
|
||
Add support for forms type change for LPTSPL
|
||
QSRT10 Add FTOACT feature test for FACT file accounting support
|
||
QSRNET Change output of route command to use decimal unit numbers
|
||
QSRDSP Add support to list reader interpreter (SPRINT) queues
|
||
QSRADM Add A$FRMC and modity SETFRM for LPTSPL forms change
|
||
|
||
767 QSRMDA Tell the OPR if user deallocates a mount request
|
||
Modify D$ESTR to not allow multiple entries for generic strs
|
||
Modify volume switch code to pass back more descriptive
|
||
errors in the volume switch directive message.
|
||
Make the owner ID get set when a str is mounted
|
||
QSRT10 Remove [..] from user ack on mount cancel
|
||
QSRNET Modify N$CSTN to not do routing for batch requests.
|
||
QSRMAC Add %VTMV to volume switch directive message
|
||
Delete .VLOID (Use .CTOID instead)
|
||
|
||
770 QSRSCH Clean up limits for plotter (they are minutes not feet)
|
||
QSRDSP Allow user setting/modification of PTP and PLT limits.
|
||
|
||
771 QSRQUE Fix it so request modification does NOT modify the /NOTIFY
|
||
ID of the origional requestor (once and for all !!!)
|
||
QSRT10 Fix I$LOGN to use .QEMDR to locate the MDR for the QE.
|
||
Also, check success in finding 'B' and 'C' matrix entries
|
||
Also, make attach/detach disk processor create/delete UCB's
|
||
as needed.
|
||
|
||
772 QSRMDA Allow OPR mount to work if users requested the structure
|
||
In MNTACK, if the mount fails then reset the forward/back
|
||
VOL block address pointers in .VLPTR
|
||
QSRADM Fix the last 'No Processor' bug. Move the code to set
|
||
genric attributes into the create object code.
|
||
|
||
773 QSRMDA Fix the big ones !!! Re-organize the way device allocation
|
||
is performed for mag tapes in order to prevent unwanted
|
||
deadlocks.
|
||
Finally make IDENTIFY work on BATCH mounts.
|
||
|
||
774 QUASAR Define entry points for monitor exchange message and
|
||
structure removed message
|
||
QSRMDA Add D$RMS to process the structure removed message
|
||
Allow tape initialization during volume switch
|
||
QSRT10 Add I$XCH to process the exchange message
|
||
Add routine REMSTR to remove structures not currently mounted
|
||
when the search list change message comes through
|
||
QSRDSP Add KSYS display to SHOW STATUS
|
||
|
||
775 QSRMAC Add ARF (Arbitrary Rate Factor) and KTL (KSYS Threshold Limit)
|
||
QSRSCH values. Add KSYS checking (based on ARF values) for all
|
||
output queues.
|
||
QUASAR Modify G$LOG so that if QUASAR is started within 10 minutes
|
||
after the system is booted, it will not write out a restart
|
||
record. This modification also creates a 70 minute window
|
||
after system restarts during which the SYS:GALAXY.LOG file
|
||
can be deleted.
|
||
QSRT10 Allow user to request scratch tape with QUEUE. UUO.
|
||
|
||
776 QSRDSP Fix a bug in allocation display so that the 'own' field is ok
|
||
Validate job numbers on SHOW ALLOCATION JOB x
|
||
QSRMDA Notify users if OPR unlocks a structure
|
||
QSRMAC Remove .OFLAG, .OARGC, symbols (Defined in GLXMAC)
|
||
QSRT10 Add routine I$CHKJ to check the schedulability of a request
|
||
|
||
777 QSRDSP Display /OUTPUT and /BATLOG on batch /LIST:ALL
|
||
|
||
1000 QSRSCH Produce a warning message when files with /DISPOSE:RENAME
|
||
can't be renamed.
|
||
|
||
1001 QSRT10 Use FTFACT from GALGEN dialogue and delete references to FTOACT.
|
||
QSRDSP Correct mount queue display listing when a job name (volume
|
||
name) is specified. Don't list the SPRINT queue if the user
|
||
specified a job name, PPN or unit number.
|
||
|
||
1002 QSRSCH Generate warning messages when /DISPOSE:RENAME fails and
|
||
QSRQUE add brackets around queue ACKs.
|
||
|
||
1003 QSRT10 Remove G$LOGN as the OPR can restrict batch jobs from OPR
|
||
QSRSCH Remove G$LOGN from batch schedeuling check since we won't
|
||
schedule IBMCOM jobs if its set.
|
||
QUASAR Remove G$LOGN since its no longer needed (and won't be back)
|
||
|
||
1004 QSRMAC Make default unit/stream parameters more reasonable.
|
||
QUASAR Define X$XCH to be D$XCH and delete [SYSTEM]GOPHER ID
|
||
QSRADM Add a DOSCHD call if status update returns %RESET.
|
||
QSRMDA Modify CHKBAT to get QE address from MDR and call S$INPS
|
||
to check request schedulability
|
||
Add D$XCH to process monitor XCHANGE messages.
|
||
QSRSCH Change INPFJB to call I$RALC (which calls S$INPS) to
|
||
check the request schedulability
|
||
Move all of the request dependent scheduler parameters into
|
||
S$INPS - These include /AFTER, /DEP, operator hold, etc.
|
||
Allow /DISPOSE:RENAME file processing for batch CTL and LOG
|
||
files by having INPDEF call RENDEF.
|
||
QSRT10 Delete I$CHKJ and add I$LCKS to check structure lock
|
||
schedules. Also, have I$UMDR clear QE.ALR & QE.WAL.
|
||
QSRDSP In D$SMNT, call S$INPS to check request schedulability
|
||
before including the request in the mount display
|
||
|
||
1005 QSRMAC Check new bit in monitor LOGIN and LOGOUT message to determine
|
||
QSRT10 if the job is a Galaxy batch job. The bit is LG.BSS (batch
|
||
stream set). The regular batch bit doesn't do the job since
|
||
both BATCON and MIC cause this bit to be set.
|
||
|
||
1006 QSRSCH Move call to I$SYSV above G$SCHD check
|
||
QSRT20 Fix I$SYSV to use new -1 value returned from KSYS check
|
||
QSRT10 Fix I$SYSV to request a scheduling pass if KSYS state changes
|
||
QUASAR Fix G$MSND to set MF.NOM if a null ack is sent
|
||
|
||
1007 QSRMDA Fix /SINGLE structure mount problem.
|
||
|
||
1010 QSRMAC XP number of LPT banners, trailers and headers from GALCNF.
|
||
QUASAR Check for zero length messages sent to QUASAR
|
||
QSRSCH Do not schedule 'stopped' objects. Also minor performance win
|
||
in job scheduling by moving 'stopped' check to top of scan
|
||
QSRADM Make A$OBST set the status correctly for 'stopped' objects
|
||
QSRT10 Set spooled file protection code on /DISPOSE:RENAME files.
|
||
|
||
1011 QSRMDA Fix 'No operator on duty' message so that it works
|
||
Fix lost allocations as a result of batch requeues
|
||
Do not put pseudo requests into 'mount wait' if just allocating
|
||
Fix DISMOUNT/DEALLOCATE /NOTIFY
|
||
Fix 'MOUNT/WAIT' so that it does something reasonable
|
||
QSRQUE Delete code in Q$CREA which sets up wakeup timer for /AFTER
|
||
and put it into QSRSCH
|
||
On batch requeues, call new routine S$AFTR to setup wakeup time
|
||
QSRSCH Add routine S$AFTR to setup /AFTER wakeup timer
|
||
|
||
1012 QSRDSP Fix 'SHO STA STR/USER' for batch requests
|
||
QSRT10 Move the PPN from the QE to G$SID before calling D$CMDR
|
||
|
||
1013 QSRSCH Make it so that froms change will happen with the NEXTJB
|
||
message if there is a schedulable job in the queue
|
||
QSRT20 Fix I$AGE ala PCO 20-QUASAR-008
|
||
QUASAR Do not allow QUASAR to sleep forever (1 minute max)
|
||
QSRADM Fix START code - cancel pending shutdown (ala PCO 20-QUASAR-010)
|
||
|
||
1014 QSRMAC Remove some TOPS10 conditionals from the EQ
|
||
QSRMDA Only call CKTVOL in BLDVSL if a tape mount request
|
||
Fix Tape allocation problems by modifying a users allocation
|
||
on the fly.
|
||
|
||
1015 QSRMDA Fix bug in XCHANGE message processing that caused
|
||
ill mem refs.
|
||
Make SNDREC a global routine
|
||
QSRT10 Make the ATTACH code do an automatic RECOGNIZE
|
||
|
||
1016 QSRT10 DO not stopcode if there are no tape drives on the system
|
||
QSRMDA Fix NBM stopcode - Check for 'ignored' entries in D$BMTX & CMTX
|
||
QSRDSP Fix SHOW STATUS TAPES/FREE so that only free drives are listed
|
||
Fix SHOW STATUS TAPE so that drives owned by batch requests
|
||
which are not running display the batch jobs request ID as the
|
||
owner job number, not 1319 which is garbage...
|
||
|
||
1017 QSRMDA Fix HUNG dismounts for invalid structures
|
||
Have D$GUCB return 'No such device' instead of stopcoding
|
||
Do not allow IDENTIFY on cancelled mount requests
|
||
QSRT10 Fix I$CHAC bug (typo) @CHAC.2+1 change JUMPE to JUMPE S2,
|
||
Fix attach/detach so we only 'recognize' on attach's
|
||
QSRDSP Fix retrieval queue listing so that columns line up
|
||
|
||
1020 QUASAR Modify the GALAXY logging routine so that the log file is
|
||
closed once a week. The log is renamed to Gddmmm.LOG
|
||
QSRDSP Do not modify the object status if it is not started
|
||
Add another digit the REQ# column in mount displays
|
||
QSRNET Add routine N$PORT to check for multiple starts of
|
||
different nodes on the same port/line
|
||
QSRADM Add hooks to call N$PORT.
|
||
QSRMDA Allow DEFTAP to set tape defaults on TOPS20
|
||
|
||
1021 QSRDSP Make /DESTINATION and /PROCESSING work correctly for all
|
||
flavors of queue listings.
|
||
QSRT10 Add some 'foreign' devices to DEVTBL and DEVNTB.
|
||
QSRMDA Add support for SET TAP INIT /ABORT
|
||
QSRSCH In pass 2 of the scheduler, allow remote jobs to run when the
|
||
requested node is off-line if we're spooling to a magtape.
|
||
|
||
1022 QUASAR Fix a bug in GALAXY.LOG close code so we check times correctly
|
||
QSRT20 Fix 2 bugs in archive notification - Use timer queue to
|
||
schedule the notification (now once an hour), do notifications
|
||
during QUASAR initialization, and check for page overflow
|
||
and send multiple messages if they all won't fit in 1 page.
|
||
QSRQUE Fix user notification block so that it corresponds to the
|
||
object types
|
||
QSRNET Fix a bug in N$NONL for prototype nodes which caused the
|
||
real node name/number to get inserted into NETCOL when trying
|
||
to convert the node data base entry back to a prototype.
|
||
QSRMDA Remove IVR stopcode and instead send 'TMV' message to PULSAR
|
||
|
||
1023 QSRMAC Add event counters for IBMCOM
|
||
Create a new message (.QOIBM) for IBM statistics
|
||
QUASAR Add routine IBMSTS to process the .QOIBM message
|
||
|
||
1024 QSRMAC Add feature test switch FTIBMS which is to be used to decide
|
||
if IBM statistics are to be done.
|
||
QSRDSP Fix bug at SHOW.7 so that SPRINT queue is displayed correctly
|
||
QSRT20 Fix file archive notification bug
|
||
|
||
1025 QUASAR QUASAR too big. Remove duplicate code in QSRT10 and QSRT20
|
||
QSRADM and put it into QSRADM. The routines affected are:
|
||
QSRMDA I$AGE -> A$AGE
|
||
QSRQUE I$AFT -> A$AFT
|
||
QSRSCH I$WHEEL -> A$WHEEL
|
||
QSRT10
|
||
QSRT20
|
||
|
||
1026 QUASAR Don't sleep for more than 1 minute.
|
||
QSRMAC Add RQ.TIM to allow pgms to specify reschedule time in requeues
|
||
QSRQUE Check for RQ.TIM in requeue processing
|
||
|
||
1027 QSRNET Make N$NONL start an operators console output device
|
||
(LPTSPL) when a termination prototype comes online
|
||
Fix GET-NETWORK-TOPOLOGY for -20 so that with Phase III DECnet
|
||
we allocate enough space for the entire network topology.
|
||
|
||
1030 QUASAR Plug remaining holes in the spooling system that relates to
|
||
QSRQUE spooled CDR files on TOPS-20. QUASAR now will delete those
|
||
QSRT10 files for batch jobs that have been canceled before they
|
||
QSRT20 ran.
|
||
|
||
1031 QSRDSP Check alternate port name on SHOW STATUS DISK commands.
|
||
|
||
1032 QSRMAC Reorganize the prototype node support for IBMCOM.
|
||
Define NETLOC as the opposite of NETCOL in the node data
|
||
base. Also add bit NETPRO to indicate actual online.
|
||
Also add prototype mode.
|
||
QSRADM Make certain we only start up IBM objects as part of START NODE
|
||
Make certain we only shut IBM objects as part of SHUT NODE.
|
||
Change DEFINE processing to check for signon and to checkout
|
||
signon file.
|
||
QSRDSP Display new prototype information, inc. SHO NET and PARA NET.
|
||
QSRNET Support the new scheme of things in the node data base.
|
||
Add the routine to check out the state of nodes and the routine
|
||
to parse the signon file for an IBM node.
|
||
|
||
1033 QSRMAC Turn off deadlock avoidance.
|
||
QUASAR Don't schedule batch jobs if we now they can't LOGIN.
|
||
QSRMDA Define G$LOGN to indicate if LOGINs are allowed or not.
|
||
QSRSCH
|
||
QSRT10
|
||
QSRT20
|
||
|
||
1034 QSRADM Ack if operator shuts down node that does not exist.
|
||
QSRDSP Modify displays for SHOW STATUS NET and SHO PARA NET to
|
||
leave room for large node names. Add pointers from the
|
||
prototype to the actual when same is online. Remove
|
||
data-termin-ready and silo-warn. from parameter display.
|
||
Add timeout cat. to parameter display.
|
||
QSRNET In signon file, blank node name at end is not an error.
|
||
Give warning if online processing and node is already online.
|
||
Shutdown actual if not defined as IBM node.
|
||
|
||
1035 QSRMAC Define IPCC message type .IPCMT (magtape unit accessible).
|
||
QUASAR Add an entry for .IPCMT in the message dispatch table.
|
||
QSRT10 Add code to support .IPCMT messages.
|
||
QSRMDA Plug the last remaining holes in the dual-port logic.
|
||
|
||
1036 QSRDSP Fix UDT to hours minutes conversion to make it more accurate.
|
||
This in routine D$SSTR. Expand request-id field to 6 digits
|
||
in all displays. Clean up pending KSYS time display.
|
||
QSRT10 On detach disk message processing, don't set seondary port to
|
||
be the port detached. This screws up displays and leaves the
|
||
UCB data base incorrect. On attach messages, always use the
|
||
attached port name, not the primary port name when doing the
|
||
RECOGNIZE.
|
||
|
||
1037 QSRADM Change the way IBM node parameters are set by default in the
|
||
define node command @DEFI.2.
|
||
|
||
1040 QSRMAC Add
|
||
QSRADM support for
|
||
QSRSCH the NEXT
|
||
QUASAR command
|
||
|
||
1041 QSRADM Call the right routines in QSRNET to add nodes.
|
||
QSRDSP Widen LIMIT field in displays a bit.
|
||
QSRNET Concatonate all node on-line/off-line messages into one.
|
||
QSRT10 If a create contains a blank user name, store the [PPN] in
|
||
in the user name field.
|
||
|
||
1042 QSRMAC Add symbol for msg from [SYSTEM]GOPHER on TOPS20 and reserve
|
||
space in the release message for customers.
|
||
QSRADM Use new ORNMAC symbol DF.TPP instead of DF.TYP
|
||
QSRT10 Clear FILDAE bit (400) when access checking queue protections.
|
||
QSRMDA Fix bugs in MOUNT STR/ACTIVE and MOUNT STR/PASSIVE. Clear
|
||
DVCMDA on DECtape deassign (DECtape accounting broke it).
|
||
QSRQUE Fix a reversed table entry in the object defns
|
||
|
||
1043 QSRADM In IBMCOM when prototype name is the same as actual name...
|
||
QSRNET When shutting down, don't shut down twice.
|
||
When online processing, set both pointers the same.
|
||
When offline processing, don't clear the node type.
|
||
In either, use flag NOTIFY to notify ORION of change.
|
||
In routing, if eq object matches a route entry which does not
|
||
match the device, fail in N$CSTN.
|
||
QSRQUE Allow /NOTIFY to work with SPRINT jobs. Also notify when batch
|
||
jobs submitted by SPRINT are finished.
|
||
QSRSCH Don't schedule batch jobs when queues are disabled.
|
||
|
||
1044 QSRDSP Fix bugs relating to jobs being scheduled when a required
|
||
QSRMDA structure wasn't on line and MDA was turned on. Also correct
|
||
QSRSCH an inaccurate display when a job was waiting for a structure
|
||
to come on line.
|
||
QSRQUE Fix a bug relating to spooled file limits QAR 10-06742
|
||
|
||
1045 QSRNET Fix a bug where processing node signon file lost if node name
|
||
contained six characters.
|
||
QSRMDA Don't send mount request pending message to OPR if SCHED 400.
|
||
QSRT10 Speed up operator on duty checking by removing I$OPRC and
|
||
QSRT20 setting flag G$OPRA (operator available flag) in I$SYSV.
|
||
|
||
1046 QSRQUE Fix a bug in FNDREQ so that we don't process the same queue
|
||
entries multiple times
|
||
Add a check to the requeue code to check to see if the request
|
||
was cancelled and if so delete the queue entry
|
||
|
||
1047 QUASAR Change the format of the "count" records by adding an item
|
||
QSRMAC at the beginning of the record which is ICNT, the count of
|
||
the items in the record.
|
||
QSRT10 Set the queue structure name in the monitor after opening the
|
||
master queue file.
|
||
QSRSCH Answer to QAR 10-06543. Fixes junk in response block for
|
||
bad QUEUE. block. In S$INPS, check G$MDA only on the -10.
|
||
1050 QSRMAC Invent new macros to handle limit paramters;
|
||
MAXLIM(x) returns max value of limit parameter x
|
||
WIDLIM(x) returns width in bits of limit parameter x
|
||
Define word .DSPPN in the .DSSTA block of the .QOTST message
|
||
to allow PULSAR to pass the owner PPN of a volume back to
|
||
QUASAR.
|
||
QSRSCH Use MAXLIM and check that the output limit doesnt exceed
|
||
2**18. If it does, set it to the maximum.
|
||
QSRMDA Fix yet another dual-ported disk problem when secondary ports
|
||
are ATTACHed. Plug more holes in the owner PPN stuff for STRs
|
||
mounted due to AVR with no user MOUNT command pending.
|
||
Add routine D$ICAT for debugging.
|
||
QSRT10 Record the owner PPN for STRs mounted at system startup time.
|
||
|
||
|
||
1051 QSRDSP Change width of the node field display to include longest
|
||
possible node name and widen the header for the SHOW STATUS
|
||
NETWORK display.
|
||
QSRNET Have IBM online/offline processing call GENNOD to update the
|
||
node name ASCII strings. Fix GENNOD to print out the either
|
||
node name or number in parens.
|
||
|
||
1052 QSRMAC Define new bits in the ASL messages for quota checking, etc.
|
||
Add new bits in the VSL and VOL blocks for handling str mounts.
|
||
QSRMDA Fix up ACK code and make it work consistantly for all devices.
|
||
QSRT10 Perform bit translations for recomp bits from the QUEUE. UUO.
|
||
QSRT20 Add dummy routine I$CGEN.
|
||
|
||
1053 QSRMAC Defined protection field for the MOUNT tape /PROT command.
|
||
QSRMDA Tell OPR how to initialize tapes with /LABEL: and
|
||
/NEW or /SCRATCH.
|
||
QSRDSP Put above into SHOW Q MOUNT displays.
|
||
QAR: 10-06434 = GCO: 1245
|
||
|
||
1054 QSRNET In GENNOD, use ^N for the node number on the 20 and ^O for
|
||
node number field on the 10.
|
||
GCO: 4.2.1246
|
||
|
||
1055 QSRMDA Full word compares of half word addresses plus varying flags
|
||
don't make it. Ignore flags. GCO 1252.
|
||
|
||
1056 QSRMAC When a str needed for batch requests gets dismounted via tha
|
||
QSRDSP OPR DISMOUNT or LOCK commands, make a mount queue entry and
|
||
QSRMDA prevent the batch job from starting up. Clear up confusion
|
||
in the SHOW STATUS STRUCTURE display regarding mount counts
|
||
and the number of users (including batch jobs) on DISMOUNT
|
||
and LOCK command ACKs. GCO 1258
|
||
|
||
1057 QSRNET Change GENNOD to generate the ascii string for the node name
|
||
based on NETCOL not on NETNBR. GCO 4.2.1267
|
||
|
||
1060 QSRMDA Add support for hardware-write-protected disks and the operator
|
||
MOUNT command switch /WRITE-LOCKED. GCO 1271
|
||
|
||
1061 QRSMAC Make this entry into the revision history.
|
||
QSRMDA Fix a complaint that message on SET TAPE ... AVAILABLE
|
||
QSRT10 is too cryptic. GCO 1279
|
||
|
||
1062 QSRMAC Make sure that reelid's are checked even in unlabelled
|
||
QSRMDA tape. New error message. GCO 1299
|
||
|
||
1063 QSRDSP Display needed structure on all queue requests that can't run.
|
||
GCO 1300
|
||
|
||
1064 QSRDSP Fix wrap around and widen job/req-id column in SHOW STATUS TAPE
|
||
display. GCO 1305
|
||
|
||
1065 QSRQUE Don't let a user specify an old after parameter. GCO 1306
|
||
|
||
1066 QSRMAC Allow the operator to reassign away an unlabeled tape to a user
|
||
QSRMDA when the requested density does not match what is mounted on a
|
||
QSRT10 drive (legal for write-enabled tapes only). GCO 1317
|
||
|
||
1067 QSRMDA Always reschedule mount queue check events. GCO 1332
|
||
|
||
1070 QSRADM Rework node support so IBMCOM will function on TOPS10.
|
||
QSRNET GCO 4.2.1336
|
||
|
||
1071 QSRMDA Fix an IDENTIFY problem involving /SCRATCH with no /VOLID:
|
||
GCO 4.2.1337
|
||
|
||
1072 QSRMDA Fix a small problem with not getting rid of mount requests
|
||
with labelled non-scratch volumes on volume switches.
|
||
GCO 4.2.1340
|
||
|
||
1073 QSRDSP Make it so SHOW QUEUE /NODE:FOO:: works by using the node
|
||
switch as the destination node. GCO 4.2.1343
|
||
|
||
1074 QSRT10 Spell implemented correctly in a displayed message.
|
||
GCO 4.2.1347
|
||
|
||
1075 QSRMDA Always make sure the operator gets informed of mount requests
|
||
that go into the queue, even if they cannot presently be
|
||
satisfied. GCO 1350
|
||
|
||
1076 QSRNET Shutdown the printer if necessary when termination node goes
|
||
QSRT20 offline. If CREATE message is rejected because of insufficient
|
||
privs., say so. GCO 4.2.1352
|
||
|
||
1077 QSRADM Don't allow batch stream numbers greater than INPMAX. GCO 1357
|
||
|
||
1100 QSRT10 Make access checking work again. GCO 1364
|
||
|
||
1101 QSRMDA Don't allow MOUNT STRUCTURE DSKB: (as) DTA0: to work.
|
||
QSRT10 Add routine to validate a device name. GCO 1367
|
||
|
||
1102 QSRMDA Set density on mounts and clean up ACKs to OPR for pseudo
|
||
processes. GCO 1368
|
||
|
||
1103 QSRDSP Get these modules to handle false returns from GLXLNK
|
||
QSRIPC correctly. GCO 4.2.1369
|
||
QSRNET
|
||
QSRQUE
|
||
QSRSCH
|
||
QSRT20
|
||
|
||
1104 QSRDSP Make node name the processing node name so SHOW QUEUE BAT
|
||
/NODE:FOO:: works. GCO 4.2.1374
|
||
|
||
1105 QSRSCH Fix scheduling of batch jobs which exceed the time limit
|
||
for the stream. GCO 4.2.1375
|
||
|
||
1106 QSRQUE Fix the problem with passing privs for printing batch logs
|
||
for jobs submitted "/CONNECTED-DIRECTORY:" GCO 4.2.1377
|
||
|
||
1107 QSRT20 WITHDRAWN
|
||
|
||
1110 QSRSCH Fix conditional in S$INPS so batch jobs will always be scheduled
|
||
when they're supposed to be. GCO 1384
|
||
|
||
1111 QSRDSP Fix up formatting in structure displays. Make disk status
|
||
display of secondary units work again. GCO 1391
|
||
|
||
1112 QSRSCH Allow NEXT requests after KSYS times out. GCO 1399
|
||
|
||
1113 QSRNET Allow node number 0 on non-network sites. GCO 1403
|
||
|
||
1114 QSRSCH Fix bug that would keep QSRDSP from displaying the
|
||
mount request from a batch job that had a locked
|
||
structure and was already running. GCO 1408
|
||
|
||
1115 QSRDSP Display bug caused by timesharing and batch jobs attempting
|
||
to mount the same volume. GCO 1409
|
||
|
||
1116 QSRDSP Re-work edit 1104. GCO 1411
|
||
|
||
1117 QSRT20 Remove edit 1107 GCO 1414
|
||
|
||
1120 QSRDSP Final edit to allow queue listings to work correctly given
|
||
any combination of /DEST, /PROC, /UNIT, etc. on QUEUE class
|
||
commands or use of the /NODE, /UNIT, etc. switches to the
|
||
OPR's SHOW Q command. GCO 1416
|
||
|
||
1121 QSRT20 Place startup of FTS object under FTFTS conditionals
|
||
GCO 4.2.1423
|
||
|
||
1122 QSRDSP Don't allow mounts to batch jobs on HOLD. GCO 1431
|
||
QSRMDA
|
||
QSRQUE
|
||
|
||
1123 QSRNET Clear up remote printer problems on the -10 by checking both
|
||
node name and number when processing node off-line interrupts.
|
||
GCO 1436
|
||
|
||
1124 QSRMDA Allow scratch tapes to get reassigned again. GCO 1438
|
||
|
||
1125 QSRMAC Turn off permanent structures, 'til the bugs are worked out.
|
||
QUASAR GCO 1439
|
||
QSRT10
|
||
|
||
1126 QSRT10 Clean up bad DSKCHR argument block when setting the queue
|
||
structure. GCO 1440
|
||
|
||
1127 QUASAR Put the deadlock avoidance flag in G$DEAD so I'm not tempted
|
||
QSRMDA to patch literals. GCO 1442
|
||
|
||
1130 QSRMDA Fix problem with reassigning labelled tapes from one drive
|
||
type to another. GCO 1461
|
||
|
||
1131 QSRMAC Attempt to trap all conditions that could cause NBM, IVU,
|
||
QSRMDA and NUV stopcodes as a result of the operator performing
|
||
single and multi-pack structure mounts with and without
|
||
aliasing. Resolve internal catalog cache (STRLST) conflicts
|
||
if possible, and prohibit mounts that would cause maxtix
|
||
skews for allocated (but not mounted) structures. Let the
|
||
operator know about conflicts if they arise to avoid SPRs
|
||
and unnecessary confusion for all involved. GCO 1464
|
||
|
||
1132 QSRSCH Reapply QUASAR V4.0 edit # 415. QUASAR V4.0
|
||
edit # 376 does not completely address the problem
|
||
Remove edit # 376 and convert QUASAR's batch stream
|
||
time limit parameters from minutes to seconds before
|
||
the limits are compared. SPR 20-18114 15-APR-83/CTK
|
||
|
||
1133 QSRMDA Fix tape density problems. The ".SET DENSITY"
|
||
QSRT10 command values are not seen for the second tape
|
||
of multiply reels. The wrong density is used.
|
||
2-Jun-83/CTK
|
||
|
||
1134 QSRMDA Fix bypass-label-processing option bug for magtapes
|
||
and erratic "Initialize new tape" message problem.
|
||
SPR # 10-33400,10-33903,10-33931 7-JUN-83/CTK
|
||
|
||
1135 QSRMDA QUASAR does not check for the user's /ASSIST:NO switch
|
||
and a MOUNT request asking for operator action will
|
||
be processed.
|
||
SPR # 10-33886,10-33887,10-33962 7-JUL-83/CTK
|
||
|
||
1136 QSRMDA Originally published as TOPS-10 QUASAR EDIT # 1210.
|
||
Make sure all the tapes of a multi-volume save set
|
||
match the density of the first. TU70 and TU72 problem only.
|
||
SPR # 10-33230 11-NOV-82/NT
|
||
|
||
1137 QSRSCH Files queued /DISP:RENAME may be modified /DISP:PRESERVE
|
||
QSRQUE and QUASAR responds with a "[ 1 job modified]" message
|
||
indicating success. The files are not renamed and
|
||
they are deleted from [3,3] after processing.
|
||
SPR # 10-33935 14-JUL-83/CTK
|
||
|
||
1140 QSRMDA Prestaging does not work for unlabeled tapes.
|
||
The OPR command IDENTIFY MTAx: VOLUME FOO is given
|
||
and then the user command MOUNT TAPE(FOO):MT:/LABEL:NONE
|
||
is not automatically satisfied with the tape on MTAx:
|
||
SPR # 10-33710 23-JUL-83/CTK
|
||
|
||
1141 QSRMDA Clear the MDA bit in the DEASSIGN code if the device is not
|
||
a magtape because a device such as a line printer may be
|
||
mounted via the mount command and the device becomes
|
||
permanently stuck to QUASAR with the MDA bit on.
|
||
SPR # 10-33707 26-JUL-83/CTK
|
||
|
||
1142 QSRNET QUASAR does not notice when the first node in its
|
||
list goes off-line because when the list is sorted
|
||
we did not remove the code to skip the central site.
|
||
SPR # 10-33258 27-JUL-83/CTK
|
||
|
||
1143 QSRMDA A MOUNT request with /NEW or /SCRATCH requiring multiple
|
||
reels with only one drive available is confusing to the
|
||
operator. QUASAR will incorrectly request a scratch tape
|
||
when volume switching on a rewind, it knows the correct
|
||
VOLUME-ID and refuses to reassign the tape to the user if
|
||
the operator tries to use a new VOLUME-ID.
|
||
SPR # 10-33904 2-AUG-83/CTK
|
||
|
||
1144 QSRMDA When a disk structure is prelocked those users who
|
||
have the structure mounted will be given a warning
|
||
message. But no warning message is given to those
|
||
users who mount the structure after it has been prelocked.
|
||
SPR # 10-33399 2-AUG-83/CTK
|
||
|
||
1145 QSRSCH Use QSRMAC symbol TIMONA where appropriate in QSRSCH.
|
||
SPR # 10-34103 15-AUG-83/CTK
|
||
|
||
1146 QSRQUE QUEUE UUO fails with error code: 200000 + QUFER%
|
||
because the QSRQUE CRQUNT routine is failing a
|
||
validity check. This is occurred because the ATRCDS
|
||
table is incorrect because the X MACRO invoked by
|
||
the ATTRIB MACRO is wrong.
|
||
QAR # 10-125376 15-AUG-83/DPM
|
||
|
||
1147 QSRDSP Clean up IBMCOM display problem with the
|
||
OPR>SHOW PARAMETERS NET command.
|
||
NO SPR 21-AUG-83/CTK
|
||
|
||
1150 QSRMDA Remove edit 1140 for security reasons involving
|
||
prestaging of unlabeled tapes.
|
||
SPR # 10-33710 7-SEP-83/CTK
|
||
|
||
1151 QSRT10 Fix problem with hung tape drives. The problem is seen
|
||
when an OPR SET TAPE MTAn: AVAILABE command is done and
|
||
the tape drive has a degaussed tape mounted. The problem
|
||
is caused by QUASAR turning on AVR and PULSAR attempting
|
||
to read a tape label.
|
||
SPR # 10-34112 15-SEP-83/CTK
|
||
|
||
1152 QSRMAC Add QUASAR support to allow OPR to DISABLE
|
||
QSRADM individual queues. Requires ORION edit 341, ORNMAC edit 36,
|
||
QSRMDA and OPRCMD edit 146, MOUNT edit 53.
|
||
QSRSCH
|
||
QSRQUE 18-SEP-83/CTK
|
||
|
||
1153 QSRMDA Fix LPTSPL/LOCK bug.
|
||
QSRT10 SPR 10-33485 18-OCT-83/CTK
|
||
|
||
1154 QSRMAC Don't let QSRMDA delete VOL block during volume switch
|
||
QSRMDA that has been aborted if user was switching to a previous
|
||
volume. Add new field, VS.PRE, in .VSCVL word in VSL block.
|
||
VS.PRE is offset to previous VOL block. Routines D$VSR and
|
||
DELVSW. SPR 10-33178 18-Oct-83 /LWS
|
||
Superseded by 1162. 29-Nov-83
|
||
|
||
1155 QSRT10 Fix race in edit 1153.
|
||
SPR 10-33485 8-NOV-83/CTK
|
||
|
||
1156 QSRDSP Change the way jobs in the output queues are displayed
|
||
taken the original objects they were queued to are
|
||
routed to another device.
|
||
SPR 10-34115 8-Nov-83 /LWS
|
||
|
||
1157 QSRMDA Fix NBM and RMBstopcodes that occur because the
|
||
operator CANCELs a tape MOUNT request in volume
|
||
switch state and the user does a DISMOUNT or KJOB.
|
||
IMPORTANT: REQUIRES QUASAR EDIT 1154 !!!
|
||
SPR 10-34308 14-NOV-83/CTK
|
||
Superseded by 1162. 29-Nov-83
|
||
|
||
1160 QSRT10 Fix DISMOUNT/DEALLOCATE bug in REMSTR, the problem
|
||
will be seen when the I$SLCM IPCF packet contains
|
||
in the first word beyond the valid length a SIXBIT
|
||
structure that is in QUASAR's current search list
|
||
for this user. This bug will result in structure
|
||
allocation data base errors. This problem existed before
|
||
QUASAR edits 1153 and 1155 but can not be exercised
|
||
until they are installed.
|
||
SPR # 10-33485 21-NOV-83/CTK
|
||
|
||
1161 QSRMAC Define new bit, EQ.CHG, in .EQSEQ word of EQ block that
|
||
QSRQUE indicates QUASAR set user's requested priority down to
|
||
QSRSCH non-wheel user maximum, MXUPRI. Add code to tell user
|
||
what happened.
|
||
SPR 10-34293 19-Nov-83 /LWS
|
||
|
||
1162 QSRMAC More problems when volume switch is cancelled.
|
||
QSRMDA Make sure 'A' and 'C' matrices are the updated
|
||
for the volume user is made to keep. At beginning
|
||
of volume switch counts are decremented. If volume
|
||
switch is cancelled, make sure counts are incremented.
|
||
Also add support for PULSAR cancelling vol switches.
|
||
New value, %RLABO, in vol switch message.
|
||
This edit REQUIRES QUASAR edit 1154.
|
||
This edit SUPERSEDES QUASAR edit 1157.
|
||
29-Nov-83 /LWS
|
||
|
||
1163 QSRMAC Define new bit in object block status word, OBSFCH, which means
|
||
QSRSCH forms change is in progress. Testing this bit stops the race
|
||
QSRADM where QUASAR decides to shutdown remote printer before it is
|
||
completely setup with correct forms. Testing this bit also
|
||
fixes a problem with ALIGN PRI x /STOP.
|
||
SPR 10-34350, SPR 10-34180 5-Dec-83 /LWS
|
||
|
||
1164 QSRMAC Add support for /NEW-VOLUME user requested reinitializaion.
|
||
QSRMDA QUASAR tells PULSAR how to reinitialize (density,protection)
|
||
QSRDSP the volumes. Cannot change label types. Owner fields must
|
||
match on labeled tapes.
|
||
8-Dec-83 /LWS
|
||
|
||
1165 QSRMAC Fix problems with DEC/Mag tape statistics
|
||
QSRT10 in usage accounting file.
|
||
SPR 10-34170 /DPM
|
||
|
||
1166 QSRADM Fix typo in 1163. At A$OBST+19L, change S1 to S2.
|
||
15-Dec-83 /LWS
|
||
|
||
1167 QSRADM Allow operator to schedule a job for an object using the
|
||
NEXT command before the object is STARTed.
|
||
SPR 10-34374 19-Dec-83 /LWS
|
||
|
||
1170 QSRT10 Fix ACKing problems with QUEUE. UUO. Redo some of the
|
||
QSRMDA logic so it's somewhat clearer what should be done when
|
||
ACKing the user.
|
||
SPR 10-34383 29-Dec-83 /LWS
|
||
|
||
1171 QSRQUE Allow SUBMIT FOO/DISPOSE:XXXX via QUEUE. UUO to work.
|
||
SPR 10-34398 27-Jan-84 /LWS
|
||
|
||
1172 QSRT10 Check for BATCON batch job in I$SLCM. Check OB.BSS
|
||
instead of JB.LBT. MIC sets JB.LBT for cojobs.
|
||
21-Feb-84 /LWS
|
||
|
||
1173 QSRMAC Fix problems with ACK data in MDR getting overwritten
|
||
QSRMDA by subsequent mount requests before pending requests
|
||
QSRT10 (and ACKs) are completed. Add 3 words to VSL that are
|
||
QSRDSP copies of corresponding words in MDR. The words are:
|
||
.MRFLG <-> .VSRFL, .MRACK <-> .VSACK, .MRPID <-> .VSPID
|
||
The fields in .MRFLG are the same in .VSRFL.
|
||
SPR 10-34182 14-Feb-84 /LWS
|
||
|
||
1174 QSRMAC NBM stopcodes. QUASAR was updating catalog for structure
|
||
QSRMDA that had a different resource number but the same VSN
|
||
as original catalog entry when there were allocations
|
||
pending for original entry. This caused 'C' matrix to
|
||
be incremented for newly (and wrongly) created entry
|
||
(structure). 'B' matrix was never incremented because
|
||
the initial allocation never happened. Don't delete an
|
||
existing entry when there are pending allocations for
|
||
the corresponding resource.
|
||
Clean up code in D$CCAT. Change SKIPE to SKIPN !!!
|
||
Get number of allocations in RH of P1 for WTO.
|
||
27-Feb-84 /LWS
|
||
|
||
1175 QUASAR Remove QBI stopcode at SNDREC. Change to a WTO. Problem
|
||
QSRMDA is most likely in ORION or GLXLIB. One way QBI occurred
|
||
is fixed in GLXLIB edit 1163. ORION edit 604 adds PBI
|
||
stopcode to catch P$DEV screwing up. Also, make stack
|
||
bigger for deadlock code support.
|
||
2-Mar-84 /LWS
|
||
|
||
1176 QSRT10 Fix problem where request type was not displayed
|
||
in SHOW STATUS STR /USER. REQUIRES edit 1173.
|
||
8-Mar-84 GCO 10004 /LWS
|
||
|
||
1177 QSRDSP Fix ILM problem when OPR does a SHO STA command
|
||
and a large number of batch and print jobs are
|
||
in process.
|
||
SPR 10-34352 9-MAR-84/CTK
|
||
|
||
1200 QSRDSP Spurious TAB in LPT queue listing
|
||
when there are a large number of entries.
|
||
The last line before the extra TAB will end
|
||
with a non-standard forms type.
|
||
SPR 10-34351 10-MAR-84/CTK
|
||
|
||
1201 QSRQUE BATCH jobs fail to LOGIN because of a QUEUE
|
||
QSRSCH /DESTINATION:SIXBIT switch. The SIXBIT node
|
||
name is not allowed by LOGIN's /LOCATE switch.
|
||
Convert the SIXBIT node name to number at
|
||
the earliest possible occasion and don't
|
||
schedule the job until the node name has been converted.
|
||
SPR 10-34584,10-34586 30-MAR-84/CTK
|
||
|
||
1202 QSRADM Fix problem where a stopped printer seemed to continue
|
||
by itself.
|
||
SPR 10-34596 GCO 10017 2-Apr-84 /LWS
|
||
|
||
1203 QSRSCH CORMAX check is wrong, were comparing words
|
||
to pages. So fix it.
|
||
SPR 10-34598/CTK
|
||
|
||
1204 QSRMDA Have QUASAR issue more descriptive ACKs to OPR
|
||
commands concerning structures that are in the
|
||
process of being dismounted. (PULSAR is waiting for
|
||
WTOR answer from operator). Prevents PULSAR problems.
|
||
9-Apr-84 GCO 10023 /LWS
|
||
|
||
1205 QSRIPC Fix bug in IPCF message RESEND code. We were killing
|
||
PSBs becasue we were getting the PID of the resend
|
||
failure from the wrong place.
|
||
SPR 10-34664 GCO 10029 18-Apr-84 /LWS
|
||
|
||
1206 QSRNET Spooler jobs will not be scheduled or scheduling
|
||
QSRSCH will stop if we are on non-network monitor.
|
||
QSRADM Problems related to QUASAR edit 1142
|
||
QSRDSP only reflect part of the problem.
|
||
SPR 10-34655 GCO 10030 20-APR-84/CTK
|
||
|
||
1207 QSRSCH Fix bug where NEXT request REQUEST-ID for an object
|
||
was not cleared even after the request was scheduled.
|
||
SPR 10-34688 GCO 10038 10-May-84 /LWS
|
||
|
||
1210 QSRADM After edit 1206 ANF network line printers will not start.
|
||
SPR 10-34655 GCO 10041 16-MAY-84/CTK
|
||
|
||
1211 QSRMDA After edit 1151 we did not honor the AVR bit
|
||
and still send the recognize message to PULSAR.
|
||
SPR 10-34112 GCO 10040 16-MAY-84/CTK
|
||
|
||
1212 QSRQUE QUASAR using inordinate amount of runtime
|
||
and not deleting spooled files because the
|
||
structure is not on-line or no longer exists.
|
||
SPR 10-34636 GCO 10043 29-MAY-84/CTK
|
||
|
||
1213 QSRSCH For small files and numerious copies the LPT's
|
||
request page limit may be less than the number
|
||
of files in the request. This leads to
|
||
"Page Limit Exceeded" and the job does not
|
||
complete.
|
||
SPR 10-34720 GCO 10044 6-MAY-84/CTK
|
||
|
||
1214 QSRSCH Add code to support modifing the /ASSIST switch.
|
||
If this edit is installed QMANGR edit 2255
|
||
is required or QUASAR may incorrectly modify
|
||
a batch request's /ASSIST value.
|
||
SPR 10-34294 GCO 10046 14-JUN-84/CTK
|
||
|
||
1215 QSRMAC Change CVL.KT definition from 7000 to 77000.
|
||
This size and position matches the Kont type
|
||
field of STRLST.
|
||
SPR 10-34762 GCO 10048 5-Jul-84 /LWS
|
||
|
||
1216 QSRQUE The short create CRQNOD routine moves the
|
||
output destination field to the processing
|
||
node word, so don't do it.
|
||
SPR 10-34766 GCO 10054 11-JUL-84/CTK
|
||
|
||
1217 QSRMAC Add support for new 'structure mounted' message
|
||
QSRMDA from monitor. This message is a result from
|
||
QSRT10 a priv'd user mounting a structure without
|
||
QUASAR PULSAR getting involved.
|
||
GCO 10055 16-Jul-84 /LWS
|
||
|
||
1220 QSRMAC Add support for CI disks (entries in GENRES macro).
|
||
QSRMDA Shuffle bits in .UCBST to make UC.KTP 5 bits wide.
|
||
QSRDSP 3 bits isn't enough to handle all DEC controller types
|
||
as well as allowing room for customer specific disk
|
||
controller type codes.
|
||
NO SPR 6-MAR-84/JAD
|
||
|
||
1221 QSRMDA Prevent undeserved deadlock errors when all disk resources
|
||
are in use and drives are attached and detached.
|
||
SPR 10-33486, 10-34211
|
||
GCO 10061 31-Jul-84 /DPM
|
||
|
||
1222 QSRQUE More of edit 1212, there remained problems
|
||
with requests that were not incore and a missing
|
||
index AC.
|
||
SPR 10-34636A GCO 10043 1-Aug-84/CTK
|
||
|
||
1223 QUASAR Long messages truncated by QUASAR in the G$CCHR
|
||
routine will trash all future QUASAR user text
|
||
messages.
|
||
SPR 10-34595A GCO 10063 2-AUG-84/CTK
|
||
|
||
1224 QSRMDA Avoid races when reassign tapes to users where the
|
||
QSRT10 label type requested differs from what's on the tape.
|
||
13-Aug-84 GCO 10074 /DPM
|
||
|
||
1225 QSRMDA Mount requests for 'foreign' devices aren't displayed to OPR
|
||
if G$DEAD is zero.
|
||
30-Oct-84 GCO 10113 /LWS
|
||
|
||
1226 QSRMAC Mounts requests coming in via QUEUE.'s aren't checked very
|
||
QSRT10 well for validity. Add DEVCHK routine which essentially does
|
||
QUASAR the same kind of checking as the MOUNT program. Also, fix
|
||
problem where QUASAR uses GALGEN specified queue structure
|
||
instead of actual structure when setting up spooled log
|
||
file requests. GALGEN default is SSL!
|
||
SPR 10-34898 GCO 10123 21-Nov-84 /LWS
|
||
|
||
1227 QSRMDA Fix problems with aliased structures getting allocated
|
||
to requestors of the structure before it was aliased.
|
||
SPR 10-34768 GCO 10124 28-Nov-84 /LWS
|
||
|
||
1230 QSRMAC No code to support short create setting the
|
||
QSRQUE operator intervention bit or a processing
|
||
node for IBMCOM.
|
||
SPR 10-34766A MCO 11686 GCO 10130 16-DEC-84/CTK
|
||
|
||
1231 QSRDSP SHOW PARAMETERS BATCH /NODE:FOO where FOO is an IBM
|
||
emulation node gives "unknown device" even when there
|
||
really is a IBM node online.
|
||
SPR 10-34990 GCO 10134 7-Jan-84 /LWS
|
||
|
||
1233 QSRT10 Fix up handling of disk detach messages.
|
||
QSRMAC 15-May-85 GCO 10208 SPR 10-35195 /JAD
|
||
|
||
1234 QSRMAC Add code to handle volume switch tape statistics.
|
||
QSRT10 Fixes problems that cause QUASAR to send ACTDAE
|
||
QSRMDA junk for tape stats.
|
||
SPR 10-35081 GCO 10209 17-May-85 /LWS
|
||
|
||
1235 QSRQUE Allow .QBBGN block for input queue as well as output
|
||
queue, and disallow SIXBIT argument for output queue.
|
||
SPR 10-35221 GCO 10237 25-Jun-85 /JAD
|
||
|
||
1236 QSRIPC Fix bugs in edit 1205.
|
||
SPR 10-34664A GCO 10262 23-Jul-85 /JAD
|
||
|
||
1237 QSRT10 Handle account string blocks in gopher messages which
|
||
have a zero-length account string.
|
||
SPR 10-34151A GCO 10277 26-Aug-85 /JAD
|
||
|
||
1240 QSRMDA On reel switches, do AVR only if drive is enabled.
|
||
Remove check for drive being owned.
|
||
SPR 10-35187 GCO 10312 28-Sep-85 /DPM
|
||
|
||
** Version 5 Development **
|
||
|
||
1300 ALL Reference QSRMAC's and QUASAR's versions in all
|
||
modules to help catch version skews.
|
||
|
||
1301 QSRMAC Have QUASAR connect to PSI for KSYS and handle
|
||
QSRADM countdown and user warnings of impending KSYS.
|
||
QSRT10 When timesharing is over, send .QOKSY message
|
||
QSRDSP to BATCON to log jobs out.
|
||
QUASAR
|
||
|
||
1302 QSRMAC Turn on deadlock avoidance code and see what happens.
|
||
QSRMDA Fix BLI (Process owns more resources than allocated)
|
||
stopcode. VS.ABO is lit for no real reason. In fact,
|
||
the bit isn't even needed. VS.ABO was lit in DELVSW which
|
||
never worked to begin with when deadlock was last used.
|
||
QSRDSP Fix bug in mount queue display. If status is not known,
|
||
make it 'Waiting'.
|
||
|
||
1303 QSRALC Recompile QSRALC.B36. First UNDECLARE some symbols
|
||
that are in GLXMAC and QSRMAC, both.
|
||
ILM was occurring in UNMAP because catalogue entry
|
||
changed and QSRALC wasn't recompiled.
|
||
|
||
1304 QSRMDA Allow operator to set/clear AVR for a specific
|
||
QSRT10 tape drive even if drive is 'unavailable'. Also,
|
||
if AVR is 'on' for an unavailable drive, keep it
|
||
'on' when setting tape 'available'.
|
||
|
||
1305 QUASAR Add
|
||
QSRADM support
|
||
QSRDSP for
|
||
QSRMAC the
|
||
QSRQUE wonderful
|
||
QSRSCH Event
|
||
QSRT10 Queue
|
||
|
||
1306 QSRT10 Fix bug where QUASAR typed KSYS warning messages once
|
||
a minute until the time till KSYS matched up with
|
||
the KSYTAB entry. This only happens when QUASAR is
|
||
started and there's already a pending KSYS.
|
||
30-Jul-84 GCO 10060 /LWS
|
||
|
||
1307 QSRT10 "Timesharing is over!" not SEND ALLed. KSYTTY changes
|
||
incomplete.
|
||
3-Aug-84 GCO 10065 /LWS
|
||
|
||
1310 QSRMAC Use definition of G.DEAD, defined via GALGEN, to turn
|
||
on/off deadlock avoidance.
|
||
6-Aug-84 GCO 10067 /LWS
|
||
|
||
1311 QUASAR Add interface to the catalog daemon, [SYSTEM]CATALOG.
|
||
QSRMDA This edit adds module QSRCAT which will eventually
|
||
QSRMDA contain all the catalog-related code. For the time
|
||
being, only a couple of calls in QSRMDA will change
|
||
to use QSRCAT. As of this edit, QUASAR no longer
|
||
requests catalog information from PULSAR. Message
|
||
types .QORCT and .QOCAT are obsolete.
|
||
7-Aug-84 GCO 10069 /DPM
|
||
|
||
1312 QUASAR Add code to support [SYSTEM]INFO.
|
||
QSRMAC This edit adds module QSRINF which is the [SYSTEM]INFO
|
||
QSRMEM process. In addition, to support INFO, it adds variable
|
||
QSRIPC length queue types, and changes the resend queue from
|
||
QSRINF a library linked list to a variable-length queue.
|
||
14-Aug-84 GCO 10079 /RCB
|
||
|
||
1313 QSRMAC Add support for Usage accounting events and new QUEUE.
|
||
QSRQUE UUO arg block, .QBESW. Add new event independent switches
|
||
QSRSCH /FAILSOFT and /NOFAILSOFT.
|
||
QSRT10 20-Aug-84 GCO 10077 /LWS
|
||
|
||
1314 QSRT10 Make QUASAR more defensive when someone does a SETUUO UUO
|
||
to change KSYS. Create or release KSYS events when needed.
|
||
21-Aug-84 GCO 10080 /LWS
|
||
|
||
1315 QUASAR Add fallback code. Also rip out the GALAXY.LOG code,
|
||
QSRMAC which was only for 4.1 field test. Fix a bug in the
|
||
QSRINF CNTANSWER message, so that it's useful for people who
|
||
QSRADM still want an idea of where QUASAR spends its time.
|
||
QSRQUE 28-Aug-84 GCO 10084 /RCB
|
||
|
||
1316 QSRMAC Add new symbol MR.JOB to be used like the old MD.PJB.
|
||
QSRMDA However, MR.JOB is now 19 bits wide (1777777B35) and
|
||
QSRT10 BA%JOB is now 1B17. This fixes the 'no batch allocations'
|
||
QSRQUE bug introduced when 1312 changed MD.PJB to 777B35.
|
||
QUASAR
|
||
QSRDSP
|
||
QSRALC
|
||
QSRCAT 30-Aug-84 GCO 10086 /LWS
|
||
|
||
1317 QSRMAC Add default descriptive text for event queue entries.
|
||
QSRQUE Put the event queue at the top of the QUEUES macro
|
||
QSRSCH so it's the first one scanned.
|
||
31-Aug-84 GCO 10088 /LWS
|
||
|
||
1320 QSRMAC Add support for operator log file closure event.
|
||
QSRSCH Also, allow for fudge factor for UDTs in EVTCMP.
|
||
QSRT10 Fix problem with 'NOW' events not being scheduled.
|
||
QSRQUE 5-Sep-84 GCO 10092 /LWS
|
||
|
||
1321 QUASAR Change SHOW STATUS display so that "Timesharing ends"
|
||
QSRDSP is only displayed if KSYS is within an hour. Redo part
|
||
QSRT10 of edit 1317 - don't put default text in QE, only use it
|
||
QSRQUE when displaying event queue entries. Reword some default
|
||
QSRMAC descriptive text, too. Add support for Date/Time change
|
||
QSRSCH PSI interrupts. When interrupt occurs, modify .MRLOG,
|
||
.VSCRE, .VSSCH, .EVTIM, .VLMTM, and .VLLTM in their
|
||
respective data structures.
|
||
24-Sep-84 GCO 10099 /LWS
|
||
|
||
1322 QSRQUE Fix problems with 'stale' events being left in the
|
||
QSRT10 queue with QE.RDE lit. Do change .EQAFT at CREA.1 if
|
||
event and internal request. Make sure Q$EVTD loops
|
||
thru the entire event queue after failsoft rebuild.
|
||
Also don't change structure lock time when date/time
|
||
PSI happens.
|
||
5-Oct-84 GCO 10100 /LWS
|
||
|
||
1323 QSRADM Add code in A$AUTO to support AUTO TAKE file
|
||
/DISPLAY and /NODISPLAY switches. Also see
|
||
ORION edit 721.
|
||
19-Oct-84 GCO 10078 /CTK
|
||
|
||
1324 QSRT10 We missed a place where we didn't clear the JCH bits
|
||
in G$PRVS where most of QUASAR thinks is just a job
|
||
number. We didn't clear the JCH bits when processing
|
||
[SYSTEM]GOPHER messages (QUEUE.s)
|
||
22-Oct-84 GCO 10107 /LWS
|
||
|
||
1325 QSRMAC Add QUASAR support for FAL streams. (.OTFAL)
|
||
QSRADM
|
||
QSRSCH
|
||
QSRDSP 14-Nov-84 GCO 10121 /LWS
|
||
|
||
1326 QSRMAC More of above edit. Add FAL STATUS UPDATE message,
|
||
QUASAR .QOFAS. We need this because what FAL needs to tell
|
||
QSRADM us won't fit in the regular status update message.
|
||
26-Dec-84 GCO 10132 /LWS
|
||
|
||
1327 QSRMAC Add symbold %FPGRF to specify that the user typed
|
||
/GRAPHICS on print command. Extend queue entries
|
||
to include room for FONT name.
|
||
31-Jan-85 GCO 10142 /NT
|
||
|
||
1330 QSRDSP Add possible tape drive densities to SHOW STATUS
|
||
TAPE-DRIVE command display.
|
||
19-Feb-85 GCO 10150 /LWS
|
||
|
||
1331 QSRDSP Change SHOW PARAMETERS NETWORK display to correctly
|
||
display new style DN60 port argument.
|
||
11-Mar-85 GCO 10159 /LWS
|
||
|
||
1332 QUASAR Keep QUASAR's catalog cache in synch with [SYSTEM]CATALOG.
|
||
QSRMAC Also do a general cleanup of the CATALOG daemon interface
|
||
QSRALC and of QSRCAT. Enhance DECtape and magtape code to allow
|
||
QSRCAT these types of volume-sets to be cataloged. A side effect
|
||
QSRDSP of this edit provides full MDA support for DECtapes. Also
|
||
QSRMDA lots of dead code in QSRMDA.
|
||
QSRT10
|
||
19-Mar-85 GCO 10166 /DPM
|
||
|
||
1333 QUASAR Move call to init for PSI KSYS interrupts until after
|
||
QSRQUE QUASAR has read the master queue file. Also consider
|
||
same event types identical entries if the expiration
|
||
times are within 59 seconds.
|
||
19-Mar-85 GCO 10169 /LWS
|
||
|
||
1334 QSRMAC Reserve storage for /BATOPT in the batch limit words.
|
||
This contains the sixbit option name to be passed to
|
||
LOGIN on batch logins (i.e. LOGIN/OPTION:xxx).
|
||
21-Mar-85 GCO 10172 /DPM
|
||
|
||
1335 QUASAR Add a mechanism whereby priv'ed users can obtain the
|
||
QSRMAC EQ for a running spooler job. The message to QUASAR
|
||
QSRQUE is function .QOEQR and must contain a .OROBJ block.
|
||
The answer from QUASAR is message type .QOEQA.
|
||
22-Mar-85 GCO 10176 /DPM
|
||
|
||
1336 QSRMAC Re-implement old QUASAR V2 functionality of listing
|
||
QSRDSP summaries.
|
||
22-Mar-85 GCO 10173 /DPM
|
||
|
||
1337 QSRMDA For cataloged volume-sets, display the media storage location
|
||
QSRT10 text in the mount messages sent to OPR.
|
||
25-Mar-85 GCO 10175 /DPM
|
||
|
||
1340 QSRMAC Forgot to bump the master queue file version number.
|
||
Lenghten the user name to octal 10 words. Shorten the
|
||
box location for output to octal 10 words.
|
||
26-Mar-85 GCO 10180 /NT
|
||
|
||
1341 QSRMAC Make it easier to create new queues. Add several new
|
||
QSRADM arguments to the QUEUES macro. Store queue dependent
|
||
QSRDSP data in the queue headers. Currently, most of the new
|
||
QSRQUE data relates mostly to listing generation.
|
||
28-Mar-85 GCO 101XX /DPM
|
||
|
||
1342 QSRMAC If there is a problem with a request when reaching RENDEF
|
||
QSRSCH (G$ERR non-zero) don't rename files as the request will
|
||
not be queued and the files will be lost in [3,3].
|
||
30-Mar-85 GCO 10183 /JAD
|
||
|
||
1343 QSRMAC Add support for new QUEUE. UUO sub-blocks: .QBOPT, .QBDIS,
|
||
QSRQUE and .QBUSR.
|
||
2-Apr-85 GCO 10187 /DPM
|
||
|
||
1344 QSRMAC Add "Object type Data Block" (ODB) to queue header
|
||
QSRADM definitions as a variable length queue. These blocks
|
||
will contain data common to all objects of the same
|
||
type. Created to support FAL's default network PPN
|
||
and rejection list definition commands which are common
|
||
to all FAL streams.
|
||
8-Apr-85 GCO 10189 /LWS
|
||
|
||
1345 QSRT10 Teach QUASAR to use new function UGVUP$ to validate
|
||
account string and return user profile. Default .EQUSR
|
||
and .EQBOX from .AEPNM and .AEBOX respectively if needed.
|
||
22-Apr-85 GCO 10198 /LWS
|
||
|
||
1346 QSRCAT Keep QUASAR in sync with CATLOG by updating the catalog
|
||
QSRMDA on reel switches.
|
||
8-May-85 GCO 10206 /DPM
|
||
|
||
1347 QSRCAT If MDA is turned off, just return in V$INIT.
|
||
20-May-85 QAR #868095 GCO 10211 /LWS
|
||
|
||
1350 QSRT10 Fix bug where REDDIR gets clobbered by DSKCHR UUO.
|
||
Make ACTSTR's length .DCMAX.
|
||
21-May-85 QAR #868117 GCO 10213 /LWS
|
||
|
||
1351 QSRMDA Decouple magtape drive availability status from AVR status.
|
||
QSRT10
|
||
29-May-85 GCO 10220 /DPM
|
||
|
||
1352 QSRMAC Define FTDQS feature switch.
|
||
4-Jun-85 GCO 10225 /JAD
|
||
|
||
1353 QSRMAC Completely redo edit 1152. In particular, only input or
|
||
QSRADM output queues may be enabled or disabled. Furthermore,
|
||
QSRMDA 1152 made no consideration for batch, thus allowing an
|
||
QSRQUE operator to start a batch job and then disable a queue
|
||
QSRSCH which could cause the job to fail. Batch jobs are now
|
||
QSRT10 immune to disabled queues. Disabled queues should have
|
||
QUASAR no effect on scheduling jobs as it previously did.
|
||
6-Jun-85 GCO 10227 /DPM
|
||
|
||
1354 QSRMAC DQS support for QUASAR. Expand the DEFINE NODE command
|
||
QSRADM to allow defining a node as a SERVER. Don't worry about
|
||
QSRSCH offline status for such nodes when scheduling objects.
|
||
Add .EQDEP (same as .EQTXT) for queue-dependent info.
|
||
6-Jun-85 GCO 10228 /JAD
|
||
|
||
1355 QSRDSP SHOW SYSTEM PARAMETERS loses the KSYS time on a video
|
||
terminal. EXPTIM wasn't ending $TEXT line with CRLF.
|
||
17-Jun-85 GCO 10233 /JAD
|
||
|
||
1356 QSRDSP Finish DQS support in QUASAR. Display node type SERVER
|
||
QSRSCH in SHOW STATUS NETWORK. Add another server check in
|
||
the scheduling loop.
|
||
20-Jun-85 GCO 10236 /JAD
|
||
|
||
1357 QSRDSP Use summary name from QH when listing queues instead of
|
||
always saying "jobs".
|
||
26-Jun-85 GCO 10238 /JAD
|
||
|
||
1360 QSRMAC Make QUEUE FOO/UNIT:LN01 work. A side effect is QUASAR
|
||
QSRADM will always preserve object attributes across internal
|
||
QSRDSP shutdowns for remove devices. This helps prevent IPCF
|
||
QSRSCH wars between QUASAR and LPTSPL when trying to schedule
|
||
jobs for on a remote station whose device(s) do not
|
||
support the attributes needed by the request being
|
||
scheduled.
|
||
*** NOTE ***
|
||
Neither QUASAR nor QUEUE perform any validity checks
|
||
on the new unit class quantity. This enables a customer
|
||
to write a spooler which passes the unit class info to
|
||
QUASAR with no modifications necessary to any part of
|
||
QUASAR or QUEUE.
|
||
1-Jul-85 GCO 10240 /DPM
|
||
|
||
1361 QSRMAC Make START NODE work correctly for ANF-10 remote stations
|
||
QSRADM by starting only those devices which the node supports instead
|
||
QSRNET of always starting a single LPT and CDR.
|
||
2-Jul-85 GCO 10241 /DPM
|
||
|
||
1362 QSRADM Make SHUT NODE <nodename> doesn't work for ANF-10 remote
|
||
stations like it does when a node number is specified.
|
||
2-Jul-85 GCO 10242 /DPM
|
||
|
||
1363 QSRADM Fix undeserved "No processor" status and remote job scheduling
|
||
problems caused by remote objects having other than %GENRC
|
||
attributes by updating the PSB with object/attribute data
|
||
from response to setup messages. Aftermath of edit 1360.
|
||
9-Jul-85 GCO 10243 /DPM
|
||
|
||
1364 QSRADM Check for objects needing a restart when processing
|
||
QSRSCH HELLO messages.
|
||
10-Jul-85 GCO 10248 /DPM
|
||
|
||
1365 QSRNET Correct QE/OBJ attribute check in N$CSTN by using OBSDAA
|
||
QSRSCH instead of OBSSUP to indicate the presence of device
|
||
attributes. Remove check for OBSDAA in in scheduler pass
|
||
two since OBJ attribute checking is done correctly in
|
||
N$CSTN.
|
||
22-Jul-85 GCO 10255 /DPM
|
||
|
||
1366 QSRDSP Only list event queues if no destination node or only
|
||
local node is specified.
|
||
22-Jul-85 GCO 10256 /DPM
|
||
|
||
1367 QUASAR Have QUASAR create an AUTO file request to process the
|
||
QSRT10 GALAXY startup command file SYS:SYSTEM.CMD each time
|
||
QUASAR is started.
|
||
10-Sep-85 GCO 10283 /JAD
|
||
|
||
1370 QSRMDA Fix junk MDA error acks.
|
||
16-Sep-85 GCO 10286 /DPM
|
||
|
||
1371 QSRMAC Allow certain queues to be processed by the scheduler even
|
||
QSRSCH after KSYS expires. Do this by creating a new bit in the
|
||
queue header flag word called QH.IKS (Immune to KSYS).
|
||
Needed specifically for the event queue. Right now, all
|
||
other queues will behave as they always have.
|
||
18-Sep-85 GCO 10304 /DPM
|
||
|
||
1372 QSRMAC Define a maximum unit number so we can toss silly unit
|
||
number ranges in START, etc., commands.
|
||
22-Oct-85 GCO 10308 /JAD
|
||
|
||
1373 QSRINF Fix Ill mem ref caused by trashed index register when assigning
|
||
a system PID (such as [SYSTEM]MAILER).
|
||
29-Oct-85 GCO 10316 /RCB
|
||
|
||
1374 QSRT10 Only do account validation for input or output queues.
|
||
29-Oct-85 GCO 10317 /DPM
|
||
|
||
1375 QSRMDA Remove stopcode ITR. Return an error to a user if no tape
|
||
drives support the requested density.
|
||
5-Nov-85 GCO 10321 /DPM
|
||
|
||
1376 QSRMDA Remove stopcode MVD. Return an error to a user who tries
|
||
to mount a multi-reel DECtape volume-set.
|
||
5-Nov-85 GCO 10322 /DPM
|
||
|
||
1377 QSRT10 Add a few oddball devices to the "foreign" device table
|
||
so Narf can do wierd things with his KS10. New devices
|
||
are RDA, DTE, DDP, and RX2.
|
||
11-Nov-85 GCO 10324 /DPM
|
||
|
||
1400 QSRMAC Re-define .EQUSR and .EQBOX to be 8-bit ASCIZ. This changes
|
||
QSRT10 master queue file format. Upgrade to version 6 accounting
|
||
profile format.
|
||
12-Nov-85 GCO 10326 /DPM
|
||
|
||
1401 QSRT10 Add missing QUEUE. UUO function dispatch table entry so
|
||
events can be queued up with the QUEUE. UUO.
|
||
19-Nov-85 GCO 10328 /DPM
|
||
|
||
1402 QSRSCH Allow IBM multilation nodes to be started.
|
||
4-Dec-85 GCO 10334 /DPM
|
||
|
||
1403 QSRMAC Remove references to SPLTAP in the SETUP message. It's
|
||
QSRSCH obsolete. LPTSPL's drivers are responsible for figuring
|
||
out what the difference is between a printer and a magtape.
|
||
17-Dec-85 GCO 10344 /DPM
|
||
|
||
1404 QSRSCH Fix up /CORE defaulting now that QUEUE doesn't do that any
|
||
QSRT10 more. Also correct comparrisons between core values (pages)
|
||
and CORMAX and MINMAX storage (words). Both quantities are
|
||
now pages.
|
||
23-Dec-85 GCO 10345 /DPM
|
||
|
||
1405 QSRNET If spooling to a specific device, don't declare the printer
|
||
QSRSCH remote unless the device really exists at a remote station.
|
||
6-Jan-86 GCO 10349 /DPM
|
||
|
||
1406 QSRQUE Correct block lengths for .QBDIS and .QBUSR when converting
|
||
short creates into EQ format. Also, don't overwrite user name
|
||
with distribution location.
|
||
7-Jan-86 GCO 10350 /DPM
|
||
|
||
1407 QSRADM Fix comparrison UDTs in A$AGE by converting result to seconds.
|
||
QSRQUE Lite internal function bit for event EQs. Don't require
|
||
QSRSCH priv's when doing event queue defaulting if an internal
|
||
QSRT10 function. Remove trailing CRLF on event text for startup
|
||
QUASAR command file processing. If a zero sleep time is computed,
|
||
then sleep for one second (see QUASAR edit 347).
|
||
9-Jan-86 GCO 10355 /DPM
|
||
|
||
1410 QSRSCH Fix loop in setup code for DN60 nodes.
|
||
13-Jan-86 GCO 10357 /DPM
|
||
|
||
1411 QSRT10 Aviod DTL stopcodes in QSRFSS by not stuffing junk into the
|
||
DPA storage area of the QE if we're not rewriting the EQ on
|
||
disk while processing an account validation message.
|
||
14-Jan-86 GCO 10361 /DPM
|
||
|
||
1412 QSRSCH Fix stopcode CRM and RRF caused by a user submitting a batch
|
||
QSRT10 job whose CTL or LOG file structures specify a generic device
|
||
such as DSK. Bomb these requests out with an appropriate
|
||
error message.
|
||
14-Jan-86 GCO 10362 /DPM
|
||
|
||
1413 QSRADM Fix setup message processing for DN60s and cosmetic error
|
||
where ACKs can display junk port numbers.
|
||
17-Jan-86 GCO 10364 /DPM
|
||
|
||
1414 QSRT10 Fix "Wrong Profile Format" errors by requesting the proper
|
||
type of account validation.
|
||
20-Jan-86 GCO 10366 /DPM
|
||
|
||
1415 QSRADM Fix AGE computation. Also, KSYS has a resolution of
|
||
QSRSCH minutes, not seconds.
|
||
24-Jan-86 GCO 10370 /DPM
|
||
|
||
1416 QSRT10 Fix incorrect usage of UV$ACE when validating account string.
|
||
UV$ACE is last word in message, not length of message.
|
||
28-Jan-86 GCO 10372 /JAD
|
||
|
||
1417 QSRSCH Check for nexted request before checking for KSYS
|
||
expiration. This allows print jobs to be scheduled
|
||
in a "stand-alone" environment.
|
||
6-Mar-86 GCO 10386 /NT
|
||
|
||
1420 QSRDSP List queue requests in the order of 1) Running; 2) Runnable
|
||
(no /AFTER time); 3) Deferred (a /AFTER time).
|
||
18-Mar-86 GCO 10388 /JAD
|
||
|
||
1421 QSRT10 Make name, distribution location, and log file defaulting
|
||
work even when account validation is turned off.
|
||
9-Apr-86 GCO 10393 /DPM
|
||
|
||
1422 QSRMDA Add support for overriding disk set number when mounting
|
||
a disk via the MOUNT command.
|
||
28-Apr-86 GCO 10401 /JAD
|
||
|
||
1423 QUASAR Add a new queue header (network queue names). Add code
|
||
QSRADM to support OPR's DEFINE/SHOW NETWORK-QUEUE(-NAMES).
|
||
QSRDSP Add a binary listing message and response which gives a
|
||
QSRQUE queue listing in forms of "QE"'s in a page.
|
||
12-may-86 GCO 10407 /JAD
|
||
|
||
1424 QSRMDA Make /TAPE with a cataloged volume-set work.
|
||
19-May-86 GCO 10408 /DPM
|
||
|
||
1425 QSRADM Turn on code to set and display output spooler magtape
|
||
QSRDSP parameters. *** Note *** Associated edit 765 to ORION.
|
||
20-Apr-86 GCO 10409 /DPM
|
||
|
||
1426 QSRMAC Add support for scheduling input or output jobs destined
|
||
QSRADM for a remote queue. Invent new NETSTS bit NETNQC which
|
||
QSRDSP supersedes the old NETSRV. Eventually, this and all old
|
||
QSRSCH DQS code will go away.
|
||
6-Jun-86 GCO 10413 /DPM
|
||
|
||
1427 QSRADM Base NQC operation on queue name string supplied when a
|
||
QSRDSP request is queued, rather than twiddling a queue name into
|
||
QSRQUE a node/unit. New switch in QUEUE (/QUEUE) specifies the
|
||
QSRSCH remote queue name for various operations. Lots of rework
|
||
QSRT10 to edits 1424 and 1426.
|
||
18-Jun-86 GCO 104xx /JAD
|
||
|
||
1430 QSRDSP End message strings with a null to prevent junk
|
||
from previous messages coming out.
|
||
25-Jun-86 GCO 10424 /NT
|
||
|
||
1431 QSRQUE Fix Q$EQR so that .QOEQR doesn't generate an MF.NOM ACK
|
||
in addition to a .QOEQA message. A text ACK will still
|
||
occur instead of .EQEQA if an error occurs.
|
||
26-Jun-86 GCO 10426 /TL
|
||
|
||
1432 QSRDSP Default node/unit stuff from queue name in GETPAR.
|
||
30-Jun-86 GCO 10432 /JAD
|
||
|
||
1433 QSRT10 Allocate a private block for I$SSRL to build search list change
|
||
messages in. QSRMDA will use G$MSG which can confuse I$SLCM
|
||
when it tries to process the message I$SSRL built.
|
||
1-Jul-86 GCO 10434 /JAD
|
||
|
||
1434 QSRSCH Translate queue name string to upper case.
|
||
2-Jul-86 GCO 10435 /JAD
|
||
|
||
1435 QSRADM Fix usage of NETSRV where NETNQC should have been used.
|
||
QSRDSP Equate CHKRMQ to .RETF## instead of .RETF.
|
||
11-Jul-86 GCO 10437 /JAD
|
||
|
||
1436 QUASAR Have EQDFLT verify the characteristics and forms type arguments
|
||
QSRSCH on a CREATE by calling routines in CHRFRM.
|
||
13-Jul-86 GCO 10438 /JAD
|
||
|
||
1437 QSRMAC Add another word to the NQC status information to contain the
|
||
QSRDSP number of bytes transferred, and output that in the SHOW STAT.
|
||
31-Jul-86 GCO 10439 /JAD
|
||
|
||
1440 QSRADM Avoid ill mem ref in A$FNDB by using full word compare,
|
||
not half-word compare.
|
||
15-Aug-86 GCO 10454 /DPM
|
||
|
||
1441 QSRMDA Clear the last word of the G$MSG block when setting up the
|
||
QSRT10 byte pointer (MDBPTR) into the buffer to keep from losing
|
||
ACK text.
|
||
26-Aug-86 GCO 10456 /JAD
|
||
|
||
1442 QSRMDA Fix bug in linking VOL blocks to VSLs that prevented all
|
||
structure mount requests from being satisfied when an
|
||
unmounted structure was spun up.
|
||
3-Sep-86 GCO 10457 /DPM
|
||
|
||
1443 ALL Change $STOP to STOPCD.
|
||
24-Nov-86 GCO 10470 /BAH
|
||
|
||
1444 QSRMAC Allow SET BATCH n SYSTEM-OPR-INTERVENTION.
|
||
QSRADM These streams behave as OPR-INTERVENTION when OPR is on duty,
|
||
QSRDSP and as NOOPR-INTERVENTION when off. This can reduce skew
|
||
QSRSCH between what a batch job can test (OPR on) and what controls
|
||
QSRT?0 scheduling of other jobs (OPR-INTERVENTION).
|
||
14-Dec-86 GCO 10476 /TL
|
||
|
||
1445 QSRQUE Re-enter GCO 10383 which fixes unit type storage in QUEUE.
|
||
UUO processing.
|
||
16-Dec-86 GCO 10478 /JJF
|
||
|
||
1446 QSRT10 Make SET KSYS NOW do it NOW rather than blithely ignoring it
|
||
half the time and doing it a minute later the other half.
|
||
27-Jan-87 GCO 10488 /JJF
|
||
|
||
1447 QSRMDA IVV stopcode when IBM Emulation Batch is running and there
|
||
is a mount request from a batch stream. Make sure the
|
||
batch stream belongs to local processor when handling
|
||
a mount request from batch.
|
||
16-Feb-87 GCO 10493 /BAH
|
||
|
||
1450 QSRDSP Include write protect/single access/private structure status
|
||
in SHOW STATUS STRUCTURE output.
|
||
29-Apr-87 GCO 10504 /JAD
|
||
|
||
1451 QSRMAC Increase size of MR.JOB to handle request numbers bigger
|
||
QSRCAT than 18 bits. Redefine .VSRID as a full word quantity.
|
||
QSRDSP Define PR.RID (request ID for allocation prescan) to be
|
||
QSRMDA the same as MR.JOB minus the "batch request" flag BA%JOB.
|
||
QSRT10 Invent .VSLNK to hold link previously in .VSRID.
|
||
29-May-87 GCO 10510 /JAD
|
||
|
||
1452 QSRMAC Add support for "demand spoolers/processors" and new
|
||
QUASAR galactic startup done by QUASAR. QUASAR now starts up
|
||
QSRT10 ORION, PULSAR, and CATLOG. The object processors
|
||
QSRSCH (BATCON, LPTSPL, etc) are also started by QUASAR, but
|
||
QSRADM only when they're needed. (See PRCDAT macro in QSRMAC).
|
||
QSRQUE N.B. QUASAR NOW HAS AN "UNTIL RESET" PID.
|
||
QSRCAT
|
||
25-Jun-87 GCO 10516 /LWS
|
||
|
||
1453 QSRMAC Change NEBULA to a %ONCE processor. Add code to
|
||
QSRSCH SCH3.1 so NEBULA gets a SETUP msg if not already
|
||
SETUP.
|
||
1-Jul-87 GCO 10519 /LWS
|
||
|
||
1454 QSRALC .B36 Have BLISS include CATPRM.L36 for symbols.
|
||
2-Jul-87 GCO 10520 /LWS
|
||
|
||
1455 QSRMDA Fix it so DISABLE OUTPUT-DISPLAY MOUNT-MESSAGES
|
||
works.
|
||
3-Jul-87 GCO 10524 /LWS
|
||
|
||
1456 QSRSCH Make sure we don't overload NEBULA with jobs.
|
||
Check and set the correct OBJSCH bits in SCH3.1.
|
||
QSRMAC Add new object status code, %INACT (Inactive).
|
||
QSRDSP If no PSB is found for the object and it's a
|
||
%DEMND spooler, set this status.
|
||
7-Jul-87 GCO 10528 /LWS
|
||
|
||
1457 QSRSCH If debugging don't do demand spooler stuff or KSYS
|
||
QSRADM processing.
|
||
13-Jul-87 GCO 10531 /LWS
|
||
|
||
1460 QSRT10 A mount request for DTA succeeds whereas a mount request
|
||
for DTAx: doesn't. Fix DEVCHK so mounts for DTAx work.
|
||
15-Jul-87 GCO 10532 /LWS
|
||
|
||
1461 QSRSCH Cure NEBULAitis. Don't try to find/create a PSB for
|
||
%GENRC .OTNQC objects.
|
||
27-Jul-87 GCO 10539 /LWS
|
||
|
||
1462 QSRMAC Change PRCDAT macro to include all attributes an object
|
||
QSRSCH processor can handle. Simplify SOPTYP macro (new args).
|
||
QSRT10 Change format of OPDTAB and require attributes in call
|
||
QSRDSP to I$GOPD. Beef up pass 3 since NEBULA will be returning
|
||
QSRADM %RSUNA when appropriate. Don't turn off OBSIGN in object
|
||
block in KILPSB.
|
||
3-Aug-87 GCO 10546 /LWS
|
||
|
||
1463 QSRDSP Fix it so "ignored" objects are set to "Inactive" in
|
||
status display when processor is not around.
|
||
10-Aug-87 GCO 10549 /LWS
|
||
|
||
1464 QSRNET In N$INTR, don't assume local node is first entry
|
||
in network node queue.
|
||
10-Aug-87 GCO 10550 SPR 10-35622 /LWS
|
||
|
||
1465 QSRMDA QUASAR RNR stopcodes. Catalog entry is deleted for
|
||
a structure when it's dismounted even if the structure
|
||
has outstanding requestors. Don't delete catalog
|
||
entry if there are outstanding requests/allocations
|
||
for the structure.
|
||
12-Aug-87 GCO 10551 SPR 10-35671 /LWS
|
||
|
||
1466 QSRMAC QUASAR gets confused and sends BATCON batch jobs to
|
||
QSRQUE IBMSPL. Invent "IBM Batch" attribute.
|
||
QSRSCH
|
||
17-Aug-87 GCO 10554 SPR 10-35999 /LWS
|
||
|
||
1467 QSRMAC Remove reference to FTFLBK.
|
||
QSRINF 21-Aug-87 GCO 10557 /LWS
|
||
|
||
1470 QUASAR Put set/clear of G$ACKO in main IPCF loop so QUASAR
|
||
QSRQUE doesn't get confused if an ack to OPR is needed during
|
||
internal creates.
|
||
5-Sep-87 GCO 10569 SPR 10-35726 /TL/LWS
|
||
|
||
1471 QSRT10 Fix I$VACT so it can tell if a profile is returned or
|
||
not in UGVUP$ msg ack. This edit requires ACTDAE edit 153.
|
||
7-Sep-87 GCO 10570 SPR 10-36011 /LWS
|
||
|
||
1472 QSRMDA Don't set a tape drive unavailable if it causes a
|
||
deadlock.
|
||
10-Sep-87 GCO 10571 SPR 10-35582 /LWS
|
||
|
||
1473 QSRT10 Take dependency checking AC setup out of loop at INIT.2.
|
||
21-Sep-87 GCO 10576 /LWS
|
||
|
||
1474 QSRADM More attribute stuff.
|
||
QSRSCH 2-Oct-87 GCO 10578 /LWS
|
||
|
||
1475 QSRMAC Add new word to response-to-setup msg so that more
|
||
QSRSCH attribute type things can be returned by spooler.
|
||
5-Oct-87 GCO 10579 /LWS
|
||
|
||
1476 QSRADM Attributes again (hopefully for the last time).
|
||
QSRSCH 12-Oct-87 GCO 10580 /LWS
|
||
|
||
1477 QSRQUE Fix user output-device acknowledgement so that it supplies
|
||
a CRLF at the end. Makes it consistent with the rest of
|
||
QUASAR, and with QUEUE which no longer supplies a free
|
||
CRLF at the end of an ACK string.
|
||
QSRDSP Fix user-level 'The queues are empty' message so it doesn't
|
||
produce 3 extra CRLFs when QUEUE displays it. Terminate
|
||
the $TEXT string with a ^A. We'll get 1 CRLF from QUEUE
|
||
when it exits.
|
||
30-Oct-87 GCO 10588 /JJF
|
||
|
||
1500 QSRT10 In I$LOGFD, default the path of control file to
|
||
.EQOID if no PPN was given for control file.
|
||
12-Nov-87 GCO 10590 /LWS
|
||
|
||
1501 QSRMDA Remove check for DECtape mount in LBLNOT and always send
|
||
tape mounted message to PULSAR.
|
||
29-Dec-87 GCO 10592 /JAD
|
||
|
||
1502 QUASAR Add code to handle .IPCSM (Schedule Bits Change) message
|
||
QSRT10 from monitor. Fixes problem where batch jobs don't
|
||
get scheduled when schedule bits are changed.
|
||
Requires MCO 13773.
|
||
29-Dec-87 GCO 10593 SPR 10-36077 /LWS
|
||
|
||
1503 QSRMAC Add code to handle reverse LAT and LN03's.
|
||
QSRADM 02-Feb-88 GCO 10599 /KDO
|
||
QSRSCH
|
||
|
||
1504 QSRCAT Check for lower case volume names in CATALOG message.
|
||
04-Apr-88 GCO 10613 /LWS
|
||
|
||
1505 QSRMAC Add new bits VS.MWL and VS.MWE so the WL/WE status
|
||
QSRMDA of a mount request can be preserved in case we have to
|
||
QSRCAT wait for a response from CATLOG.
|
||
06-Apr-88 GCO 10614 SPR 10-36100 /LWS
|
||
|
||
1506 QSRMDA Fix problems where premounted volume of a cataloged
|
||
QSRCAT tape volume-set is not reassigned when the mount
|
||
request for the volume-set is processed.
|
||
12-Apr-88 GCO 10615 /LWS
|
||
|
||
1507 QSRADM When calling I$GOPD in A$OSTA, make sure we pick up
|
||
object's attributes in S2. Also, in HELSTA, don't
|
||
restart object if it's not started already.
|
||
7-May-1988 GCO 10626 QARs 1025,2038 /LWS
|
||
|
||
1510 QSRMAC Change PRCDAT macro: Remove HPQ arg and add arg that
|
||
QSRT10 be text strings to be sent down FRCLIN before running
|
||
QSRADM spooler. Also increase FRCLIN wait times for extreme
|
||
circumstances.
|
||
11-May-88 GCO 10629 /LWS
|
||
|
||
1511 QSRMDA Add A matrix definitions for SA10 disks and tri-density
|
||
magtapes.
|
||
13-Jun-88 GCO 10639 /DPM
|
||
|
||
1512 QSRDSP Fix SHOW PARAMETERS NET <nodename> display bug.
|
||
16-Jun-88 GCO 10644 /LWS
|
||
|
||
\ ;End Of Revision History
|
||
SUBTTL Accumulator Definitions
|
||
|
||
|
||
AP==13 ;ARGUMENTS FOR ALL M$xxxx ROUTINES
|
||
|
||
E==14 ;QUEUE ENTRY POINTER
|
||
|
||
BM==14 ;'B' MATRIX POINTER
|
||
|
||
H==15 ;QUEUE HEADER POINTER
|
||
|
||
CM==15 ;'C' MATRIX POINTER
|
||
|
||
M==16 ;MESSAGE POINTER
|
||
|
||
SUBTTL Symbols derived from GALCNF
|
||
|
||
; DEFINE FEATURE TESTS SO THAT EACH MODULE NEED ONLY SEARCH QSRMAC
|
||
|
||
XP FTRQUE,FTRQUE ; ON = KEEP A REDUNDANT MASTER QUEUE
|
||
XP FTRJE,FTRJE ; ON = ADD RJE SUPPORT TO SPOOLERS
|
||
XP FTDN60,FTDN60 ; ON = ADD DN60 SUPPORT TO SPOOLERS
|
||
XP MDADAE,G.DEAD ; ON = ENABLE DEADLOCK AVOIDANCE CODE
|
||
XP FTINFO,FTINFO ; ON = INCLUDE [SYSTEM]INFO SUPPORT
|
||
XP FTDQS,FTDQS ; ON = ADD DQS SUPPORT (NOT SUPPORTED)
|
||
|
||
|
||
; DEFINE BATCH JOB PARAMETERS
|
||
|
||
XP INPMAX,^D30 ;DEFAULT BATCH STREAMS (ABS MAX = 63)
|
||
XP INPTIM,G.ITIM ;DEFAULT BATCH JOB TIME LIMIT
|
||
XP INPCOR,G.ICOR ;DEFAULT BATCH JOB CORE LIMIT
|
||
XP INPPGS,G.ILPT ;DEFAULT PAGE LIMIT
|
||
XP INPCDS,G.ICDP ;DEFAULT PUNCHED CARD LIMIT
|
||
XP INPPTP,G.IPTP ;DEFAULT PAPER TAPE LIMIT
|
||
XP INPPLT,G.IPLT ;DEFAULT PLOTTER TIME
|
||
XP INPOIP,1 ;OPERATOR INTERVENTION PARAMETER
|
||
XP INPLOG,G.ILOG ;BATCH /OUTPUT: DEFAULT
|
||
XP INPCEN,5 ;START NODE STREAMS AT CENTRAL STATION
|
||
XP INPREM,0 ;START NODE STREAMS AT REMOTE STATION
|
||
|
||
; DEFINE SPOOLING SYSTEM PARAMETERS
|
||
|
||
XP IDLMIN,G.IMIN ;MINUTES DEMAND SPOOLERS STAY IDLE
|
||
XP SPLPRI,G.DPRI ;PRIORITY FOR SPOOLED REQUESTS
|
||
XP MXUPRI,G.SPRI ;MAXIMUM USER PRIORITY
|
||
|
||
XP MXUNIT,^D127 ;MAXIMUM UNIT NUMBER
|
||
IFG <INPMAX-1>-MXUNIT,<XP MXUNIT,<INPMAX-1>> ;LEAVE ROOM FOR ALL BATCH STREAMS
|
||
|
||
XP FRMNOR,G.DNOR ;NAME OF "NORMAL" FORMS
|
||
XP FRMUNI,G.DNUC ;NUMBER OF UNIQUE CHARACTERS IN THE NAME
|
||
XP FLEACT,G.FLEA ;FORMS LIMIT EXCEEDED ACTION
|
||
|
||
FRMSK1==MASK.(6*FRMUNI,6*FRMUNI-1) ;ANDX, LOAD MASK
|
||
FRMSK2==MASK.(^D36-6*FRMUNI,^D35) ;TXZ STYLE MASK
|
||
|
||
XP LPTBAN,G.LBAN ;DEFAULT NUMBER OF BANNER PAGES
|
||
XP LPTTRL,G.LTRL ;DEFAULT NUMBER OF TRAILER PAGES
|
||
XP LPTHDR,G.LHDR ;DEFAULT NUMBER OF HEADER PAGES
|
||
XP LPTDIV,G.LPTD ;DIVISOR FOR CNVRTNG DSK BLKS TO PAGES
|
||
XP LPTMUL,G.LPTM ;MULTIPR FOR CNVRTNG DSK BLKS TO PAGES
|
||
ND LPTARF,^D10 ;10 PAGES PER MINUTE (600 LPM)
|
||
ND LPTKTL,^D15 ;KSYS THRESHOLD LIMIT
|
||
|
||
XP CDPDIV,G.CDPD ;DIVISOR FOR CNVRTNG DSK BLKS TO CARDS
|
||
XP CDPMUL,G.CDPM ;MULTIPR FOR CNVRTNG DSK BLKS TO CARDS
|
||
ND CDPARF,^D300 ;300 CARDS PER MINUTE (CP10)
|
||
ND CDPKTL,^D60 ;KSYS THRESHOLD LIMIT
|
||
|
||
XP PTPDIV,G.PTPD ;DIVISOR FOR CNVRTNG DSK BLKS TO FEET
|
||
XP PTPMUL,G.PTPM ;MULTIPR FOR CNVRTNG DSK BLKS TO FEET
|
||
ND PTPARF,^D25 ;25 FEET PER MINUTE (PC09)
|
||
ND PTPKTL,^D60 ;KSYS THRESHOLD LIMIT
|
||
|
||
XP PLTDIV,G.PLTD ;DIVISOR FOR CNVRTNG DSK BLKS TO FEET
|
||
XP PLTMUL,G.PLTM ;MULTIPR FOR CNVRTNG DSK BLKS TO FEET
|
||
ND PLTARF,^D1 ;1 MINUTE PER MINUTE (200 STP/MIN XY10)
|
||
ND PLTKTL,^D60 ;KSYS THRESHOLD LIMIT
|
||
|
||
;FAILSOFT SYSTEM PARAMETERS
|
||
|
||
XP FSSSTR,G.QSTR ;FILE-STRUCTURE FOR MASTER QUEUES
|
||
|
||
;MDA SYSTEM PARAMETERS
|
||
|
||
TOPS10<
|
||
XP DEFLBT,DEFLBT ;DEFAULT LABEL TYPE
|
||
XP DEF7TK,DEF7TK ;DEFAULT DENSITY FOR 7 TRACK
|
||
XP DEF9TK,DEF9TK ;DEFAULT DENSITY FOR 9 TRACK
|
||
XP DEFTRK,DEFTRK ;DEFAULT TRACK TYPE
|
||
XP NPRTBL,NPRTLB ;BLP FOR 1=ALL USERS, 0=PRIV USERS
|
||
XP PRMSTR,0 ;PERMANENT STRUCTURES 0=OFF, 1=ON
|
||
;NEVER TURN ON PERMANENT STRUCTURES
|
||
>
|
||
TOPS20< XP NPRTBL,NPRTLB > ;BLP FOR 1=ALL USERS, 0=PRIV USERS
|
||
|
||
;FAL-STREAM PARAMETERS
|
||
|
||
XP FALNTY,G.FNTY ;DEFAULT NETWORK TYPE FOR FAL-STREAM
|
||
|
||
;NETWORK QUEUE CONTROL
|
||
XP QNMLEN,10 ;LENGTH OF QUEUE NAME IN WORDS
|
||
SUBTTL Changable System Parameters
|
||
|
||
SYSPRM EQLMSZ,^D10,^D10 ;EQ LIMIT WORD BLOCK LENGTH
|
||
SYSPRM EQCKSZ,^D10,^D10 ;EQ CHECKPOINT BLOCK LENGTH
|
||
SYSPRM EQNMSZ,2,10 ;.EQOWN SIZE IN WORDS
|
||
SYSPRM VSNLEN,10,2 ;VOLUME SET NAME LENGTH IN WORDS
|
||
SYSPRM RMKLEN,10,2 ;REMARK STRING LENGTH IN WORDS
|
||
SYSPRM STSSIZ,21,21 ;SIZE OF STATUS AREA IN OBJ AND CHKPNT
|
||
SYSPRM TIMONA,3,3 ;MINUTES TO WAIT FOR OBJECT NOT AVAIL
|
||
SYSPRM OBPRSZ,17,17 ;OBJECT BLOCK PARAMETER LENGTH
|
||
SYSPRM CHRSIZ,4,4 ;LENGTH OF CHARACTERISTICS STRING
|
||
SYSPRM FRMSIZ,4,4 ;LENGTH OF LONG FORMS NAME
|
||
SYSPRM LPTNLN,14,14 ;LAT SERVER/SERVICE/PORT NAME
|
||
|
||
SUBTTL RDB -- Request Descriptor Block
|
||
|
||
;THE REQUEST DESCRIPTOR BLOCK IS THE DATA-STRUCTURE USED TO REPRESENT
|
||
; A REQUEST OR SET OF REQUESTS. IT CONSISTS OF A JOBNAME WITH
|
||
; WILDCARDS AND A POSITIVE MASK, A SEQUENCE NUMBER (WHICH IF 0
|
||
; IMPLIES ALL JOBS WHICH FIT THE REST OF THE CRITERIA), AND AN
|
||
; OPERATING SYSTEM DEPENDENT OWNER SPECIFIER WITH WILDCARDS.
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! SPECIFIED JOB NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! JOB NAME MASK !
|
||
; !-------------------------------------------------------!
|
||
; ! EXTERNAL SEQUENCE NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! REQUEST ID NUMBER !
|
||
; !-------------------------------------------------------!
|
||
;
|
||
; ----- TOPS10 -----
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! OWNER IDENTIFICATION (PPN) !
|
||
; !-------------------------------------------------------!
|
||
; ! OWNER ID MASK !
|
||
; !-------------------------------------------------------!
|
||
;
|
||
; ----- TOPS20 -----
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; / SPECIFICATION OF REQUEST OWNER /
|
||
; / /
|
||
; / /
|
||
; ! !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.RDBJB:! BLOCK 1 ;JOB NAME (SIXBIT)
|
||
.RDBJM:! BLOCK 1 ;JOB NAME MASK
|
||
.RDBES:! BLOCK 1 ;EXTERNAL SEQUENCE NUMBER
|
||
.RDBRQ:! BLOCK 1 ;REQUEST ID NUMBER
|
||
|
||
TOPS10 <
|
||
.RDBOI:! BLOCK 1 ;OWNER ID
|
||
.RDBOM:! BLOCK 1 ;OWNER ID MASK
|
||
RDBSIZ:!
|
||
.RDBVS:! BLOCK 10 ;ASCIZ VOL SET NAME FOR MOUNT REQUESTS
|
||
RDBMSZ:!
|
||
> ;END TOPS10 CONDITIONAL
|
||
|
||
TOPS20 <
|
||
.RDBOW:! BLOCK 10 ;REQUEST OWNER SPEC
|
||
.RDBVS:!
|
||
RDBSIZ:!
|
||
> ;END TOPS20 CONDITIONAL
|
||
|
||
DEPHASE
|
||
|
||
SUBTTL ROB -- Requested Object Block
|
||
|
||
;The ROB is used in any context where an object and
|
||
; some attributes (or a particular object) must be specified.
|
||
|
||
; !=======================================================!
|
||
; ! OBJECT TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! DEVICE ATTRIBUTES ! PHYSICAL UNIT NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! NODE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! CUSTOMER DEFINED ATTRIBUTES !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.ROBTY:! BLOCK 1 ;OBJECT TYPE
|
||
.ROBAT:! BLOCK 1 ;ATTRIBUTES (DEC)
|
||
|
||
RO.ATR==-1,,0 ;OBJECT ATTRIBUTES
|
||
RO.UNI==0,,-1 ;PHYSICAL UNIT NUMBER
|
||
|
||
;Note: When adding new attribute, check PRCDAT to be sure attribute
|
||
; is accounted for.
|
||
|
||
DEFINE ATTRIB,< ;;DECLARE THE VALID ATTRIBUTES
|
||
LSTOF.
|
||
X <Invalid>,%INVLD,0 ;;INVALID FOR ALL
|
||
X <Lower>,%LOWER,.OTLPT ;;LOWER CASE
|
||
X <Upper>,%UPPER,.OTLPT ;;UPPERCASE
|
||
X <Physical>,%PHYCL,<.OTLPT,.OTPTP,.OTCDP,.OTPLT>
|
||
X <Generic>,%GENRC,-1 ;;GENERIC (VALID FOR ALL)
|
||
X <Sitgo>,%SITGO,.OTBAT ;;SITGO REQUEST
|
||
X <Input>,%NQINP,.OTNQC ;;NET QUEUE CTL INPUT STREAM
|
||
X <Output>,%NQOUT,.OTNQC ;;NET QUEUE CTL OUTPUT STREAM
|
||
X <IBM batch>,%IBMBT,.OTBAT ;;[1466] IBM BATCH (IBMSPL)
|
||
LSTON.> ;End of ATTRIB definition
|
||
|
||
DEFINE X(TXT,SYM,OBJ) <
|
||
SYM==ZZ
|
||
%ATMAX==ZZ ;DECLARE THE MAXIMUM VALUE
|
||
ZZ==ZZ+1>
|
||
|
||
ZZ==0
|
||
ATTRIB ;DECLARE THE SYMBOL VALUES
|
||
|
||
.ROBND:! BLOCK 1 ;NODE NAME
|
||
.ROBUT:! BLOCK 1 ;SIXBIT UNIT TYPE
|
||
.ROBUA:! BLOCK 1 ;CUSTOMER DEFINED ATTRIBUTES
|
||
|
||
ROBSIZ:!
|
||
|
||
DEPHASE
|
||
SUBTTL DIB -- Dependency Information Block
|
||
|
||
;Each job has a Dependency List associated with it. Each entry in the
|
||
; list is a DIB which describes one dependency which the job has.
|
||
|
||
PHASE 0
|
||
|
||
.DIBDS:! BLOCK 1 ;DEPENDENCY STATUS
|
||
DI.SAT==1B0 ;SATISFIED LAST PASS (FOR LIST MOSTLY)
|
||
DI.TYP==0,,-1 ;DEPENDENCY TYPE
|
||
|
||
.DIBDT:! BLOCK 1 ;DEPENDENCY DATA
|
||
|
||
DIBSIZ:!
|
||
|
||
DEPHASE
|
||
|
||
|
||
;Currently defined dependencies
|
||
|
||
; Symbol Value Data
|
||
; ------ ----- -------------------------------
|
||
|
||
.DTSTR== 1 ;Adr of STR queue entry for structure
|
||
SUBTTL QH -- Queue Header Definitions
|
||
|
||
; !=======================================================!
|
||
; ! QUEUE NAME ! FLAGS ! QUEUE TYPE !
|
||
; ! 3 SIXBIT CHARACTERS ! ! !
|
||
; !-------------------------------------------------------!
|
||
; ! POINTER TO LAST ! POINTER TO FIRST !
|
||
; ! ENTRY IN THIS QUEUE ! ENTRY IN THIS QUEUE !
|
||
; !-------------------------------------------------------!
|
||
; ! BASE OF SCHEDULING ! SIZE OF AN ! !
|
||
; ! AND LINKING ALGORITHM ! ENTRY ! !
|
||
; !-------------------------------------------------------!
|
||
; ! LIST FLAG (LIQxxx) !
|
||
; !-------------------------------------------------------!
|
||
; ! OBJECT TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! LISTING ROUTINE ADDRESS !
|
||
; !-------------------------------------------------------!
|
||
; ! SUMMARY ROUTINE ADDRESS !
|
||
; !-------------------------------------------------------!
|
||
; ! ASCIZ LISTING QUEUE NAME ADDRESS !
|
||
; !-------------------------------------------------------!
|
||
; ! ASCIZ SUMMARY "QUANTITY" NAME ADDRESS !
|
||
; !-------------------------------------------------------!
|
||
; ! ASCIZ SUMMARY "QUANTITY" TYPE ADDRESS !
|
||
; !-------------------------------------------------------!
|
||
; ! ASCIZ NOTIFICATION TEXT ADDRESS !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.QHTYP:! BLOCK 1 ;QUEUE TYPE WORD
|
||
QH.NAM==-1,,0 ;3 CHARACTER QUE NAME
|
||
QH.FLG==777B26 ;FLAGS
|
||
QH.VAR==1B18 ;ENTRY SIZE IS VARIABLE
|
||
QH.INV==1B19 ;QUEUE IS INVISIBLE
|
||
QH.DIS==1B20 ;QUEUE IS DISABLED
|
||
QH.IKS==1B21 ;QUEUE IS IMMUNE TO KSYS
|
||
QH.OAV==1B22 ;OBJECT ALWAYS VISIBLE (DESPITE QUEUE SETTING)
|
||
QH.TYP==777B35 ;QUEUE TYPE
|
||
.QHTQS==0 ;INTERNAL TO QUASAR
|
||
.QHTOU==1 ;AN OUTPUT QUEUE
|
||
.QHTIP==2 ;AN INPUT QUEUE
|
||
.QHTMD==3 ;MOUNTABLE DEVICE QUEUE
|
||
.QHFRR==4 ;FREE RUNNING DEVICE QUEUE
|
||
.QHTAR==5 ;ARCHIVE SYSTEM QUEUE
|
||
.QHTEV==6 ;EVENT QUEUE
|
||
|
||
.QHLNK:! BLOCK 1 ;LINK WORD
|
||
QH.PTL==-1,,0 ;POINTER TO LAST ENTRY
|
||
QH.PTF==0,,-1 ;POINTER TO FIRST ENTRY
|
||
|
||
.QHPAG:! BLOCK 1 ;STORAGE INFORMATION
|
||
QH.SCH==-1,,0 ;SCHEDULER ENTRY VECTOR
|
||
SCHLNK==0 ; LINK IN
|
||
SCHSCH==1 ; SCHEDULE
|
||
SCHDEF==2 ; FILL IN DEFAULTS FOR CREATE
|
||
SCHMOD==3 ; PERFORM QUEUE DEPENDENT MODIFY
|
||
SCHRJI==4 ; RELEASE JOB-OBJECT INTERLOCK
|
||
SCHFJB==5 ; FIND A JOB FOR AN OBJECT
|
||
|
||
QH.SIZ==777B26 ;SIZE OF EACH ENTRY
|
||
|
||
.QHLIS:! BLOCK 1 ;LIST FLAG (LIQxxx)
|
||
.QHOBJ:! BLOCK 1 ;ASSOCIATED OBJECT TYPE
|
||
.QHDEP:! BLOCK 1 ;LISTING ROUTINE
|
||
.QHSUM:! BLOCK 1 ;SUMMARY ROUTINE
|
||
.QHLQN:! BLOCK 1 ;ASCIZ LISTING QUEUE NAME
|
||
.QHSQN:! BLOCK 1 ;ASCIZ SUMMARY "QUANTITY" NAME
|
||
.QHSQT:! BLOCK 1 ;ASCIZ SUMMARY "QUANTITY" TYPE
|
||
.QHNOT:! BLOCK 1 ;ASCIZ NOTIFICATION TEXT
|
||
|
||
QHSIZE:! ;SIZE OF A QUEUE HEADER
|
||
|
||
DEPHASE
|
||
SUBTTL EV - Timed event block definitions
|
||
|
||
|
||
;All the event blocks are kept on a linked list, whose handle
|
||
; is stored in G$EVENT. This list is maintained sorted by
|
||
; event time, and thus the first entry in the list contains the
|
||
; nearest wakeup time. Users may put any amount of data on the
|
||
; end of the event block.
|
||
|
||
; !=======================================================!
|
||
; ! ! ENTRY TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! UDT AT WHICH TO SIGNAL THE EVENT !
|
||
; !-------------------------------------------------------!
|
||
; ! ROUTINE TO CALL WHEN THE TIMER GOES OFF !
|
||
; !-------------------------------------------------------!
|
||
; ! OPTIONAL DATA !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.EVTYP:! BLOCK 1 ;ENTRY TYPE WORD
|
||
EV.TYP==777B35 ;FIELD CONTAINING THE TYPE CODE
|
||
%EVCHK==1 ;CHECKPOINT REQUEST
|
||
%EVNOT==2 ;FILE ARCHIVE RETRIEVAL NOTIFICATION
|
||
%EVLCK==3 ;FILE STRUCTURE UN/LOCK REQUEST
|
||
%EVIGN==4 ;IGNORE OBJECT REQUEST
|
||
%EVAFT==5 ;/AFTER REQUEST
|
||
%EVNLC==6 ;LOCKED STR COUNTDOWN EVENT
|
||
|
||
.EVUDT:! BLOCK 1 ;UNIVERSAL DATE/TIME FOR WAKEUP
|
||
|
||
.EVRTN:! BLOCK 1 ;ROUTINE TO CALL AT WAKEUP
|
||
;ROUTINE GETS CALLED WITH ADRS OF
|
||
;THIS EVENT BLOCK IN S1
|
||
|
||
.EVMSZ:! ;MINIMUM SIZE OF A BLOCK
|
||
|
||
DEPHASE
|
||
SUBTTL QE -- Queue Entry Definitions
|
||
|
||
; !=======================================================!
|
||
; ! LINK TO PREVIOUS ! LINK TO NEXT !
|
||
; ! 0 IF THIS IS THE FIRST ! 0 IF THIS IS THE FIRST !
|
||
; !=======================================================!
|
||
; ! CREATION TIME OF ENTRY (INTERNAL DATE/TIME FORMAT) !
|
||
; !-------------------------------------------------------!
|
||
; ! POINTER TO OBJECT QUEUE ENTRY FOR THIS REQ !
|
||
; !-------------------------------------------------------!
|
||
; ! INTERNAL TASK NAME !
|
||
; !-------------------------------------------------------!
|
||
; / /
|
||
; / REQUESTED OBJECT BLOCK /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; / /
|
||
; / JOB INFORMATION BLOCK /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! ! DEPENDENCY LIST NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! ENTRANCE PRIORITY !
|
||
; !-------------------------------------------------------!
|
||
; ! THE PROTECTION FIELD ! !
|
||
; !-------------------------------------------------------!
|
||
; ! SPARE !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; ! REQUEST LIMIT INFORMATION !
|
||
; ! CONTENTS ARE QUEUE DEPENDENT !
|
||
; ! 5 WORDS !
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! NOTIFY ID !
|
||
; !-------------------------------------------------------!
|
||
; ! BATCH JOB NUMBER ! USER'S JOB NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! DISK PAGE ADDRESS ! !
|
||
; !-------------------------------------------------------!
|
||
;
|
||
; ! ----- TOPS 20 ----- !
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! OWNER (LOGGED IN USER) !
|
||
; ! (10 WORDS) !
|
||
; !-------------------------------------------------------!
|
||
; ! CREATOR'S CONNECTED DIRECTORY !
|
||
; ! (12 WORDS) !
|
||
; !=======================================================!
|
||
PHASE 0
|
||
|
||
.QELNK:! BLOCK 1 ;LINK WORD
|
||
QE.PTP==-1,,0 ;POINTER TO PREVIOUS ENTRY
|
||
QE.PTN==0,,-1 ;POINTER TO NEXT ENTRY
|
||
|
||
QEHSIZ:! ;SIZE OF FIXED QUEUE-ENTRY-HEADER
|
||
|
||
.QEVSZ:! BLOCK 1 ;SIZE OF EXTENSION AREA (QH.VAR QUEUES ONLY)
|
||
QE.VSZ==0,,-1 ;EXTENSION SIZE (BEYOND QH.SIZ)
|
||
|
||
QEHVSZ:! ;SIZE OF VARIABLE QUEUE-ENTRY-HEADER (QH.VAR)
|
||
|
||
DEPHASE ;END OF QUEUE HEADER DEFINITION
|
||
|
||
PHASE QEHSIZ ;START QE-SPECIFIC DEFINITION
|
||
; (QE IS IN A FIXED-LENGTH QUEUE)
|
||
|
||
.QECRE:! BLOCK 1 ;INTERNAL CREATION TIME OF THIS ENTRY
|
||
.QEOBJ:! BLOCK 1 ;POINTER TO OBJECT SERVICING THIS REQUEST
|
||
.QEITN:! BLOCK 1 ;INTERNAL TASK NAME
|
||
QE.AVO==770000,,00 ;ACCT VALIDATION OBJECT TYPE (-10 ONLY)
|
||
QE.AVI==007777,,-1 ;ACCT VALIDATION ITN (-10 ONLY)
|
||
.QEROB:! BLOCK ROBSIZ ;REQUESTED OBJECT BLOCK
|
||
.QEJBB:! BLOCK JIBSIZ ;JOB INFORMATION BLOCK
|
||
.QEDIN:! BLOCK 1 ;DEPENDENCY INFORMATION
|
||
QE.DLN==0,,-1 ;DEPENDENCY LIST NUMBER
|
||
.QEIPR:! BLOCK 1 ;ENTRANCE PRIORITY FOR THIS ENTRY
|
||
.QEPRT:! BLOCK 1 ;REQUEST PROTECTION
|
||
QE.PRO==-1,,0 ;THE PROTECTION FIELD
|
||
.QENQC:! BLOCK 1 ;NETWORK QUEUE CONTROL
|
||
QE.STR==1B0 ;SPOOLING TO REMOTE IN PROGRESS
|
||
.QEQNM:! BLOCK QNMLEN ;REMOTE QUEUE NAME
|
||
.QELIM:! BLOCK EQLMSZ ;LIMITS WORDS
|
||
.QENID:! BLOCK 1 ;/NOTIFY ID (LOGIN TIME, PID, DIRECTRY NBR)
|
||
.QEJBN:! BLOCK 1 ;JOB NUMBERS (For /NOTIFY)
|
||
QE.UJN==0,,-1 ;USERS JOB NUMBER (ORIGINAL JOB NUMBER)
|
||
QE.BJN==-1,,0 ;BATCH JOB NUMBER
|
||
.QESTN:! BLOCK 1 ;REMOTE INFORMATION
|
||
QE.DPA==-1,,0 ;DISK PAGE ADDRESS
|
||
.QEMDR:! BLOCK 1 ;REQUESTS MDR ADDRESS
|
||
.QEACT:! BLOCK 10 ;ACCOUNT STRING (POSSIBLY DIFFERENT FROM .EQACT)
|
||
TOPS20 <
|
||
.QEOWN:! BLOCK 10 ;REQUEST OWNER
|
||
.QECON:! BLOCK 12 ;CONNECTED DIRECTORY
|
||
> ;END TOPS20
|
||
|
||
QNTSIZ:! ;SIZE OF THE QUEUE ENTRY
|
||
SUBTTL JOB INFORMATION BLOCK (.QEJBB) DESCRIPTION
|
||
|
||
|
||
|
||
|
||
.QEJOB==.QEJBB+JIB.JN ;EXTERNAL JOB NAME
|
||
.QESEQ==.QEJBB+JIB.SQ ;EXTERNAL VALUES
|
||
QE.SEQ==777700,,0 ;EXTERNAL SEQUENCE NUMBER
|
||
QE.ALR==1B17 ;ALLOCATION REQUESTED
|
||
QE.WAL==1B18 ;BATCH REQUEST WAITING FOR ALLOCATION
|
||
QE.WAM==1B19 ;BATCH REQUEST WAITING FOR A MOUNT
|
||
QE.ACT==3B21 ;REQUEST REQUIRES ACCOUNT VALIDATION
|
||
%VALID==0 ;ACCOUNT STRING IS VALID
|
||
%VALRQ==1 ;ACCOUNT VALIDATION IS REQUIRED
|
||
%VALPD==2 ;ACCOUNT VALIDATION HAS BEEN REQUESTED
|
||
QE.IAS==1B22 ;REQUEST CONTAINS INVALID ACCT STRING
|
||
QE.NOT==3B24 ;JOB REQUESTED /NOTIFY
|
||
%NOTTY==1 ;NOTIFY VIA USERS TTY
|
||
%NOTML==2 ;NOTIFY USER VIA MAIL
|
||
%NOTJB==3 ;NOTIFY USERS JOB
|
||
QE.JBC==1B25 ;JOB HAS BEEN CHECKPOINTED
|
||
QE.HBO==1B26 ;JOB HELD BY OPERATOR
|
||
QE.PRV==1B27 ;REQUEST CREATOR WAS PRIVILEGED
|
||
QE.SPL==1B28 ;THIS REQUEST CONTAINS SPOOLED FILES
|
||
QE.RDE==1B29 ;THIS REQUEST DOESN'T EXIST (CLEAN-UP)
|
||
QE.PRI==77B35 ;EXTERNAL PRIORITY
|
||
.QEOID==.QEJBB+JIB.US ;OWNER IDENTIFIER
|
||
.QERID==.QEJBB+JIB.ID ;REQUEST ID.
|
||
TOPS10 <
|
||
.QEUSR==.QEJBB+JIB.NM ;USER'S NAME (2 WORDS)
|
||
>
|
||
|
||
DEPHASE
|
||
|
||
SUBTTL OBJ -- Object Queue
|
||
|
||
;For each object on the system, known to QUASAR, an entry in the OBJ queue
|
||
; is made. This queue is used for scheduling and for interfacing with
|
||
; the operator control.
|
||
|
||
; !=======================================================!
|
||
; ! Object type code !
|
||
; !-------------------------------------------------------!
|
||
; ! Unit number of this type !
|
||
; !-------------------------------------------------------!
|
||
; ! Node name in SIXBIT !
|
||
; !-------------------------------------------------------!
|
||
; ! PID which has object setup !
|
||
; !-------------------------------------------------------!
|
||
; ! ITN of request currently on OBJect !
|
||
; !-------------------------------------------------------!
|
||
; !SCHEDULER STATE INFORMATION! QUEUE HEADER FOR OBJECT !
|
||
; !-------------------------------------------------------!
|
||
; ! OBJect Timer Word !
|
||
; !-------------------------------------------------------!
|
||
; ! OBJect Attributes (DEC defined) !
|
||
; !-------------------------------------------------------!
|
||
; ! OBJect Attributes (Customer defined) !
|
||
; !-------------------------------------------------------!
|
||
; \ 5 Word Object specific parameter \
|
||
; \ area \
|
||
; !-------------------------------------------------------!
|
||
; ! CURRENT DEVICE STATUS CODE !
|
||
; ! (FILLED IN BY QUASAR, UPDATED BY SPOOLER) !
|
||
; !-------------------------------------------------------!
|
||
; \ Current status, expressed \
|
||
; \ in as an ASCIZ string \
|
||
; !=======================================================!
|
||
|
||
;Define values for processor types to associate with the objects below.
|
||
|
||
%ONCE==0 ;Started once by QUASAR (at QUASAR startup time)
|
||
; Does not logout when idle
|
||
%STCMD==1 ;Started on START command from OPR
|
||
; Logout when all streams shutdown via OPR
|
||
%DEMND==2 ;Started on demand (job for a stream)
|
||
; Logout when all streams idle for x mins.
|
||
|
||
;Define a macro that defines the program name and processor type for
|
||
; a given object.
|
||
;
|
||
; P1 object type(s) (.OTxxx)
|
||
; P2 program name
|
||
; P3 processor type (defined above)
|
||
; P4 object attribute(s)
|
||
; P5 dependencies (ANF10, DECNET, DN60)
|
||
; P6 text string(s) to be sent down FRCLIN at spooler startup
|
||
|
||
DEFINE PRCDAT,<
|
||
X BAT,BATCON,%DEMND,%GENRC,,<SET HPQ 0,SET DSKPRI 0>
|
||
X LPT,LPTSPL,%DEMND,<%GENRC,%LOWER,%UPPER,%PHYCL>
|
||
X <PTP,CDP,PLT>,SPROUT,%DEMND,%GENRC
|
||
X RDR,CDRIVE,%STCMD,%GENRC
|
||
X BIN,SPRINT,%DEMND,%GENRC
|
||
X FAL,FAL,%STCMD,%GENRC,<ANF10,DECNET>
|
||
X BAT,IBMSPL,%STCMD,%IBMBT,DN60
|
||
IFN FTDQS,<
|
||
X NQC,NEBULA,%ONCE,<%NQOUT,%NQINP>,DECNET
|
||
>
|
||
REPEAT 0,<
|
||
X FOO,FOOSPL,%DEMND,%GENRC,,<SET HPQ 15,SET DSKPRI 1>
|
||
>
|
||
>
|
||
|
||
;Define a macro to be used by object processors to determine their
|
||
; respective object processor type.
|
||
;
|
||
; NAM is the processor's name (eg. LPTSPL)
|
||
; SYM is the symbol that will be assigned object processor type
|
||
|
||
DEFINE SOPTYP (NAM,SYM), <
|
||
XLIST
|
||
|
||
DEFINE X (OTYP,PNAM,PTYP,PATR,PDEP,PTXT), <
|
||
PRCTYP (PNAM,PTYP)
|
||
>;;END X
|
||
|
||
..CNT==0
|
||
.XCREF ..CNT
|
||
|
||
DEFINE PRCTYP (PN,PT), <
|
||
IFIDN <NAM><PN>, <
|
||
IFG ..CNT-0, < ;;MAKE SURE ONLY ONE ENTRY PER PROCESSOR
|
||
IF1,<
|
||
PRINTX ?More than one entry in PRCDAT for same processor
|
||
>
|
||
>;;END IFG
|
||
|
||
'SYM=='PT ;;SET PROCESSOR TYPE
|
||
..CNT==..CNT+1 ;;COUNT THEM
|
||
>;;END IFIDN
|
||
>;;END PRCTYP
|
||
|
||
PRCDAT ;;INVOKE THIS MESS
|
||
|
||
PURGE ..CNT
|
||
LIST
|
||
>;;END SOPTYP
|
||
|
||
;Define a macro which will allow a mapping between an object type
|
||
; and various object-type specific data like the queue in
|
||
; which jobs for that object reside, initial object parameters
|
||
; etc.
|
||
;
|
||
;Format for each line is:
|
||
; X obj,que,<p1,p2,p3,p4,p5>
|
||
;
|
||
;where obj is the object type specified as the XXX in .OTXXX
|
||
; que is the queue in which jobs reside for this object
|
||
; p1 - p5 are the initial contents of the 5 parameter
|
||
; words when an object entry is created.
|
||
; These are a single macro argument.
|
||
|
||
DEFINE MAPOBJ,<
|
||
X BAT,INP,<<1,,77>,<0,,^D600>,0,<INPOIP,,0>,<1,,^D512>>
|
||
X LPT,LPT,<<1,,77>,<1,,^D500>,<FRMNOR>,<FLEACT,,0>,0>
|
||
X PTP,PTP,<<1,,77>,<1,,^D500>,<FRMNOR>,<FLEACT,,0>,0>
|
||
X CDP,CDP,<<1,,77>,<1,,^D500>,<FRMNOR>,<FLEACT,,0>,0>
|
||
X PLT,PLT,<<1,,77>,<1,,^D30>,<FRMNOR>,<FLEACT,,0>,0>
|
||
X RDR,RDR,<0,0,0,0,0>
|
||
X BIN,BIN,<0,0,0,0,0>
|
||
X DBM,DBM,<0,0,0,0,0>
|
||
X EVT,EVT,<0,0,0,0,0>
|
||
X FAL,FAL,<<FALNTY>,0,0,0,0>
|
||
X NQC,QNM,<<%NQOUT>,0,0,0,0>
|
||
|
||
TOPS20 <
|
||
X RET,RET,<0,0,0,0,0>
|
||
X NOT,NOT,<0,0,0,0,0>
|
||
> ;END TOPS20
|
||
|
||
> ;END DEFINE MAPOBJ
|
||
|
||
;OBJ definitions are on the following page
|
||
|
||
PHASE QEHSIZ ;APPEND TO QUEUE ENTRY HEADER
|
||
|
||
OBJTYP:! BLOCK 1 ;OBJECT TYPE
|
||
OBJUNI:! BLOCK 1 ;UNIT NUMBER OF THIS TYPE
|
||
OBJNOD:! BLOCK 1 ;NODE THAT THIS UNIT IS ON
|
||
OBJPID:! BLOCK 1 ;PID WHICH HAS THIS OBJ SETUP
|
||
OBJITN:! BLOCK 1 ;ITN OF CURRENT REQUEST ON OBJECT
|
||
OBJSCH:! BLOCK 1 ;SCHEDULER STATE INFORMATION
|
||
OBSSTA==1B0 ;OBJECT IS STARTED
|
||
OBSSUP==1B1 ;OBJECT IS SETUP
|
||
OBSBUS==1B2 ;OBJECT IS BUSY
|
||
OBSSIP==1B3 ;SETUP IN PROGRESS
|
||
OBSIGN==1B4 ;IGNORE THIS FOR A WHILE
|
||
OBSDAA==1B5 ;DEVICE (DEC) ATTRIBUTES AVAILABLE
|
||
OBSSEJ==1B6 ;SHUTDOWN AT END-OF-JOB
|
||
OBSINV==1B7 ;OBJECT IS INVISIBLE
|
||
OBSINT==1B8 ;DO AN INTERNAL SHTDWN WHEN QUEUE EMPTYS
|
||
OBSHUT==1B9 ;OBJECT IS INTERNALLY SHUTDOWN
|
||
OBSFRR==1B10 ;A FREE RUNNING DEVICE.
|
||
OBSSTP==1B11 ;STOPPED BY THE OPERATOR
|
||
OBSSER==1B12 ;STOP AFTER EVERY REQUEST
|
||
OBSSPL==1B13 ;OBJECT IS SPOOLING TO TAPE
|
||
OBSATR==1B14 ;DEVICE ATTRIBUTES SET BY PROCESSOR
|
||
OBSFRM==1B15 ;FORMS CHANGE SCHEDULED
|
||
OBSFCH==1B16 ;[1163] FORMS CHANGE IN PROGRESS
|
||
OBSQUH==0,,-1 ;ADDRESS OF QUEUE HEADER FOR OBJECT
|
||
OBJRID:! BLOCK 1 ;[NXT] REQUEST-ID TO SCHEDULE NEXT
|
||
OBJDAT:! BLOCK 1 ;DEC-DEFINED ATTRIBUTES
|
||
; RO.ATR==-1,,0 ; OBJECT ATTRIBUTES
|
||
OBJCAT:! BLOCK 1 ;CUSTOMER-DEFINED ATTRIBUTES
|
||
OBJPRM:! BLOCK OBPRSZ ;DEPENDENT PARAMETERS
|
||
OBJSTS:! BLOCK 1 ;CURRENT DEVICE STATUS CODE
|
||
;FILLED IN BY QUASAR, UPDTED BY SPOOLER
|
||
OBJST1:! BLOCK STSSIZ ;CURRENT JOB STATUS IN ASCIZ
|
||
;UPDATED BY THE SPOOLER
|
||
|
||
OBJSIZ:! ;SIZE OF AN OBJ QUEUE ENTRY
|
||
|
||
|
||
;DEFINITIONS OF WORDS WITHIN THE OBJPRM BLOCK
|
||
|
||
;COMMON MASKS
|
||
OBPMIN==-1,,0 ;MINIMUM VALUE
|
||
OBPMAX==0,,-1 ;MAXIMUM VALUE
|
||
|
||
;OUTPUT PARAMETERS (PRINTERS, PAPERTAPE, CARDPUNCH, PLOTTER)
|
||
|
||
.OOPRI==0 ;MIN AND MAX EXTERNAL PRIORITY
|
||
.OOLIM==1 ;MIN AND MAX OUTPUT LIMITS
|
||
.OOFRM==2 ;FORMS TYPE
|
||
.OOFLG==3 ;OUTPUT FLAGS
|
||
.OFLEA==-1,,0 ;FORMS LIMIT EXCEEDED ACTION
|
||
OF.LP2==3B20 ;LP20 SIMULATION
|
||
.OFLDF==0 ;DEFAULTED BY DRIVER
|
||
.OFLNO==1 ;NO
|
||
.OFLYE==2 ;YES
|
||
.OOTAP==4 ;SIXBIT DEVICE FOR SPOOLING TO TAPE
|
||
.OOUNT==5 ;SIXBIT UNIT TYPE
|
||
.OOMTA==6 ;MAGTAPE CHARACTERISTICS SET BY OPR
|
||
.OOVSN==7 ;VOLUME-SET NAME
|
||
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
;BATCH-STREAM PARAMETERS
|
||
|
||
.OBPRI==0 ;MIN AND MAX EXTERNAL PRIORITY
|
||
.OBTIM==1 ;MIN AND MAX RUNTIME LIMITS
|
||
.OBFLG==3 ;BATCH STREAM FLAGS
|
||
.OPRIN==-1,,0 ;OPERATOR INTERVENTION FLAG
|
||
.OPINY==1 ;ALLOW OPERATOR INTERVENTION JOBS
|
||
.OPINN==2 ;NO OPERATOR INTERVENTION JOBS
|
||
.OPINS==3 ;ALLOW IF SCHED # 400
|
||
.OBCOR==4 ;MIN AND MAX CORE LIMITS
|
||
|
||
;Retrieve-stream parameters
|
||
|
||
.OBSTM==0 ;Time stamp and flag
|
||
.OBTAP==1 ;Tape ID
|
||
.OBSSN==2 ;Saveset,,tape file #
|
||
OB.SSN==-1,,0 ;Saveset
|
||
OB.TFN==0,,-1 ;Tape file number
|
||
|
||
;FAL-STREAM parameters
|
||
|
||
.OBNTY==0 ;NETWORK-TYPE
|
||
.OBCON==1 ;ELAPSED CONNECT TIME
|
||
.OBBYT==2 ;BYTES TRANSFERRED
|
||
.OBNDN==3 ;CONNECTED NODE NAME (SIXBIT)
|
||
|
||
;Network Queue Controller parameters
|
||
|
||
.ONNOD==0 ;CONNECTED NODE NAME (SIXBIT)
|
||
.ONCON==1 ;ELAPSED CONNECT TIME (SECONDS)
|
||
.ONLNK==2 ;LINK (NETWORK) TYPE
|
||
.ONBYT==3 ;BYTES TRANSFERRED
|
||
|
||
|
||
;MAGTAPE BITS
|
||
OB.MRL==3B3 ;MULTI-REEL VOLUME-SET
|
||
.OBMRD==0 ;DEFAULT
|
||
.OBMRN==1 ;NO
|
||
.OBMRY==2 ;YES
|
||
OB.MDI==3B5 ;MAGTAPE DIRECTORY
|
||
.OBMDD==0 ;DEFAULT
|
||
.OBMDN==1 ;NO
|
||
.OBMDY==2 ;YES
|
||
OB.MTK==3B7 ;TRACKS
|
||
; .TMDRD==0 ;DEFAULT
|
||
; .TMDR9==1 ;9-TRACK
|
||
; .TMDR7==2 ;7-TRACK
|
||
OB.MPR==3B9 ;PARITY
|
||
.OBMPD==0 ;DEFAULT
|
||
.OBMPO==1 ;ODD
|
||
.OBMPE==2 ;EVEN
|
||
OB.MDN==7B12 ;DENSITY
|
||
OB.MLV==1B13 ;LABEL TYPE FIELD VALID
|
||
OB.MLT==17B17 ;LABEL TYPE
|
||
|
||
|
||
;OBJECT ATTRIBUTES (DEC)
|
||
;THESE ATTRIBUTES ARE DEFINED IN SHORT CREATE MESSAGE
|
||
|
||
|
||
;OBSOLETE OBJECT ATTRIBUTES
|
||
|
||
RO.PHY==1B0 ;PHYSICAL UNIT SPECIFIED
|
||
OBDLLC==1B1 ;LOWERCASE PRINTER
|
||
OBDLUC==1B2 ;UPPERCASE PRINTER
|
||
|
||
|
||
DEFINE STATUS,<
|
||
LSTOF.
|
||
X <Invalid>,%INVLD,100
|
||
X <Idle>,%IDLE,0
|
||
X <Active>,%ACTIV,0
|
||
X <Stopped>,%STOPD,0
|
||
X <Not Started>,%NSTRT,0
|
||
X <Not Available>,%NAVAL,0
|
||
X <No PTYs>,%NPTYS,.OTBAT
|
||
X <Offline>,%OFLNE,<.OTLPT,.OTPTP,.OTCDP,.OTPLT,.OTRDR>
|
||
X <System Full>,%SFULL,.OTBAT
|
||
X <Shutting Down>,%SHTDN,0
|
||
X <Aborting>,%CNCLG,0
|
||
X <Opr Resp Wait>,%OREWT,0
|
||
X <Aligning Forms>,%ALIGN,.OTLPT
|
||
X <>,%RESET,0
|
||
X <Reading>,%READN,.OTRDR
|
||
X <Requeing>,%REQUE,0
|
||
X <Shutting Down>,%SHUTD,0
|
||
X <Opr Output Wait>,%OPRWT,.OTLPT
|
||
X <Stop is Pending>,%STPPN,0
|
||
X <No processor>,%NOPRC,0
|
||
X <Changing Forms>,%FRMCH,<.OTLPT,.OTPLT,.OTPTP,.OTCDP>
|
||
X <Connecting>,%CNECT,<.OTNQC,.OTFAL>
|
||
X <Mount wait>,%MWAIT,0
|
||
X <Inactive>,%INACT,0
|
||
LSTON.> ;END STATUS MACRO
|
||
|
||
|
||
ZZ==0 ;START WITH VALUE OF 0
|
||
DEFINE X(A,SYM,VAL),<
|
||
SYM==ZZ
|
||
%STMAX==ZZ ;;DECLARE MAXIMUM VALUE
|
||
ZZ==ZZ+1>
|
||
|
||
STATUS ;DECLARE THE SYMBOL VALUES
|
||
|
||
SUBTTL PSB -- Processor Status Block
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ The Queue Entry Header \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! Process ID (PID) !
|
||
; !-------------------------------------------------------!
|
||
; ! Program Name !
|
||
; !-------------------------------------------------------!
|
||
; ! Current number of jobs ! Maximum number of jobs !
|
||
; !-------------------------------------------------------!
|
||
; ! Flags ! Number of OBJect types !
|
||
; !-------------------------------------------------------!
|
||
; ! UDT set by QUASAR when processor should be running !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ List of object types \
|
||
; \ \
|
||
; \ Maximum of 5 types \
|
||
; ! !
|
||
; !=======================================================!
|
||
|
||
|
||
PHASE QEHSIZ ;APPEND TO THE QUEUE ENTRY HEADER
|
||
PSBPID:! BLOCK 1 ;PROGRAM'S PID
|
||
PSBNAM:! BLOCK 1 ;PROGRAM NAME
|
||
PSBLIM:! BLOCK 1 ;CURRENT AND MAX NUMBER OF JOBS
|
||
PSLCUR==-1,,0 ;CURRENT NUMBER OF JOBS
|
||
PSLMAX==0,,-1 ;MAXIMUM NUMBER OF JOBS
|
||
PSBFLG:! BLOCK 1 ;FLAGS AND NUMBER OF OBJ TYPES
|
||
PSFCNT==000777,,0 ;NUMBER OF TIMES TRIED TO STARTUP
|
||
PSFSTS==777000,,0 ;STATUS OF PROCESSOR
|
||
PS.RUN==0 ;RUNNING
|
||
PS.WAT==1 ;WAITING FOR HELLO MESSAGE
|
||
PS.FIR==2 ;PROCESSOR IS TO BE FIRED UP
|
||
PS.KSY==3 ;SPECIAL BATCON STATUS AT KSYS TIME
|
||
PSFNOT==0,,-1 ;NUMBER OF OBJECT TYPES
|
||
PSBUDT:! BLOCK 1 ;UDT WHEN PROCESSOR BETTER BE THERE
|
||
PSBOBJ:! BLOCK OBPRSZ ;LIST OF OBJECTS (UP TO OBPRSZ)
|
||
|
||
PSBSIZ:! ;SIZE OF A PSB
|
||
|
||
DEPHASE
|
||
SUBTTL SPL -- Spool Queue Definition
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE QUEUE ENTRY HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ REQUESTED OBJECT BLOCK \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; ! JOB NUMBER ! RETRIEVAL POINTER !
|
||
; !-------------------------------------------------------!
|
||
; ! FORMS TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! AFTER PARAMETER !
|
||
; !-------------------------------------------------------!
|
||
; ! NOTE FIELD !
|
||
; ! (2 WORDS) !
|
||
; !-------------------------------------------------------!
|
||
; ! ! REQUEST LENGTH !
|
||
; !=======================================================!
|
||
|
||
PHASE QEHSIZ ;APPEND TO THE QUEUE ENTRY HEADER
|
||
|
||
SPLOID:! BLOCK 1 ;OWNER'S ID
|
||
SPLROB:! BLOCK ROBSIZ ;REQUESTED OBJECT BLOCK
|
||
SPLJOB:! BLOCK 1 ;JOB INFORMATION
|
||
SPYJOB==-1,,0 ;THE JOB NUMBER
|
||
SPYDPA==0,,-1 ;THE RETRIEVAL POINTER
|
||
|
||
SPLFRM:! BLOCK 1 ;FORMS TYPE
|
||
SPLAFT:! BLOCK 1 ;AFTER PARAMETER
|
||
SPLNOT:! BLOCK 2 ;NOTE FIELD
|
||
SPLRQZ:! BLOCK 1 ;SIZE OF CURRENT REQUEST
|
||
SPYLEN==0,,-1 ;THE LENGTH (FROM .MSTYP)
|
||
|
||
SPLSIZ:! ;SIZE OF THE SPOOL QUEUE ENTRIES
|
||
|
||
DEPHASE
|
||
|
||
;DURING Q$FSPL, THE SPL QUEUE IS SCANNED TO COMPRESS MULTIPLE SPOOL REQUESTS INTO A
|
||
; SINGLE REQUEST. THE FOLLOWING DECISIONS ARE MADE WITH THE INPUT BEING
|
||
; THE CURRENT SPOOL MESSAGE FROM THE MONITOR AND THAT QUEUE AND STATION TESTS
|
||
; HAVE SUCCEEDED.
|
||
|
||
; INPUT CURRENT QUEUE ACTION
|
||
|
||
; STN. GENERIC STN. GENERIC APPEND
|
||
; REAL DEVICE STN. GENERIC APPEND AND CHANGE TO REAL DEVICE
|
||
; LL:/LU: STN. GENERIC APPEND AND CHANGE TO LL: OR LU:
|
||
|
||
; STN. GENERIC REAL DEVICE APPEND
|
||
; REAL DEVICE REAL DEVICE APPEND IF DEVICES MATCH
|
||
; LL:/LU: REAL DEVICE NEVER APPEND
|
||
|
||
; STN. GENERIC LL:/LU: APPEND
|
||
; REAL DEVICE LL:/LU: NEVER APPEND
|
||
; LL:/LU: LL:/LU: APPEND IF BOTH FOR LL: OR FOR LU:
|
||
SUBTTL STR -- Structure Queue Definition
|
||
|
||
PHASE QEHSIZ ;APPEND TO QUEUE ENTRY HEADER
|
||
|
||
IFN FTUUOS,<
|
||
STRNAM:! BLOCK 2 ;STRUCTURE NAME
|
||
> ;END IFN FTUUOS
|
||
|
||
IFN FTJSYS,<
|
||
STRNAM:! BLOCK ^D16 ;STRUCTURE NAME (TOPS-20) MAX 79 CHARS
|
||
> ;END IFN FTJSYS
|
||
|
||
STRSTS:! BLOCK 1 ;STRUCTURE STATUS
|
||
STSSSV==1B0 ;STRUCTURE STATUS VALID
|
||
STSONL==1B1 ;STRUCTURE IS ONLINE
|
||
|
||
STRSIZ:! ;SIZE OF THE STR QUEUE ENTRY
|
||
|
||
DEPHASE
|
||
SUBTTL NETWORK DATA BASE STRUCTURE
|
||
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE QUEUE ENTRY HEADER /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT NODE (NETWORK) NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! NODE (NETWORK) NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! ONLINE/OFFLINE STATUS !
|
||
; !-------------------------------------------------------!
|
||
; ! ROUTE ENTRY NAME !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ ASCIZ NETWORK NODE NAME \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; ! CLEAR TO SEND DELAY !
|
||
; !-------------------------------------------------------!
|
||
; ! RECORDS PER MESSAGE !
|
||
; !-------------------------------------------------------!
|
||
; ! BYTES PER MESSAGE !
|
||
; !-------------------------------------------------------!
|
||
; ! SILO WARNING LEVEL !
|
||
; !-------------------------------------------------------!
|
||
; ! NODE PORT NUMBER ! NODE LINE NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! PORT/LINE HANDLE (FOR DN60 FRONT END) !
|
||
; !=======================================================!
|
||
|
||
TOPS10 <
|
||
; MACRO TO DEFINE THE LIST OF ALL POSSIBLE ANF-10 NETWORK OBJECT TYPES
|
||
DEFINE ANFOBJ,<
|
||
X (BAT,.TYTTY)
|
||
X (LPT,.TYLPT)
|
||
X (PTP,.TYPTP)
|
||
X (CDP,.TYCDP)
|
||
X (PLT,.TYPLT)
|
||
X (RDR,.TYCDR)
|
||
> ;END DEFINE ANFOBJ
|
||
> ;END TOPS10
|
||
|
||
PHASE QEHSIZ
|
||
|
||
TOPS20< NETCOL:! > ;-20 COLLATING SEQ BY NAME
|
||
TOPS10< NETLOC:! > ;-10 NOT COLLATING SEQ
|
||
NETNAM:! BLOCK 1 ;SIXBIT NODE NAME
|
||
|
||
TOPS10< NETCOL:! > ;-10 COLLATING SEQ BY NUMBER
|
||
TOPS20< NETLOC:! > ;-20 NOT COLLATING SEQ
|
||
NETNBR:! BLOCK 1 ;NODE NUMBER
|
||
|
||
NETSTS:! BLOCK 1 ;FLAG WORD
|
||
NT.FLG==777700,,0 ;NETWORK FLAG BITS
|
||
NETNSV==1B0 ; ONLINE/OFFLINE STATUS BIT IS VALID
|
||
NETONL==1B1 ; ONLINE
|
||
NETADD==1B2 ; THIS NODE ADDED LAST PASS
|
||
NETIBM==1B3 ; NODE IS DN60 DRIVEN
|
||
NETSHT==1B4 ; NETWORK SHUTDOWN IS IN PROGRESS
|
||
NETSGN==1B5 ; NODE REQUIRES SIGNON PROCESSING
|
||
NETNUP==1B6 ; NODE WAS ONLINE SOMETIME
|
||
NETPRO==1B7 ; Proto-actual is online
|
||
NETNQC==1B8 ; REMOTE NET QUEUE CONTROLLER
|
||
IFN FTDQS,<NETSRV==1B8> ; NODE IS A SERVER
|
||
NETLAT==1B9 ;Node is a LAT SERVER
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
NT.TYP==70,,0 ;NETWORK TYPE
|
||
DF.DEC==0 ; 'DEC' NODE
|
||
DF.378==1 ; 3780 NODE
|
||
DF.278==2 ; 2780 NODE
|
||
DF.HSP==3 ; HASP NODE
|
||
DF.LAT==5 ;LAT-SERVER
|
||
NT.MOD==7,,0 ;NETWORK MODE
|
||
DF.TRM==1 ; TERMINATION MODE
|
||
DF.EMU==2 ; EMULATION MODE
|
||
DF.PRO==3 ; Proto mode
|
||
NT.TOU==700000 ;PROTOCOL TIMEOUT CATAGORY
|
||
ST.PRI==1 ; PRIMARY
|
||
ST.SEC==2 ; SECONDARY
|
||
NT.DTR==070000 ;DATA TERMINAL READY
|
||
ST.ON==1 ; ON
|
||
ST.OFF==2 ; OFF
|
||
NT.TRA==007000 ;TRANSPARENCY
|
||
; ST.ON==1 ; ON
|
||
; ST.OFF==2 ; OFF
|
||
NT.XTA==000777 ;EXTRA BITS
|
||
|
||
NETASC:! BLOCK 3 ;ASCIZ NETWORK NODE NAME FOR RAMDOM OUTPUT
|
||
NETCLM:! BLOCK 3 ;ASCIZ NETWORK NODE NAME FOR COLUMNIZED OUTPUT
|
||
NETCSD:! BLOCK 1 ;CLEAR TO SEND DELAY
|
||
NETRPM:! BLOCK 1 ;RECORDS PER MESSAGE
|
||
NETBPM:! BLOCK 1 ;BYTES PER MESSAGE
|
||
NETSWL:! BLOCK 1 ;SILO WARNING LEVEL
|
||
NETPTL:! BLOCK 1 ;PORT,,LINE NUMBER
|
||
NT.PRT==-1,,0 ;NODE PORT NUMBER
|
||
NT.LIN==0,,-1 ;NODE LINE NUMBER
|
||
NETIDN:! BLOCK 1 ;PORT/LINE HANDLE (FOR DN60 FRONT END)
|
||
NETLNM:! BLOCK LPTNLN ;LAT SERVER/SERVICE/PORT
|
||
|
||
TOPS10 <
|
||
NETOBJ:! ;START OF OBJECT COUNT LIST
|
||
DEFINE X (OBJ,TYP),<NET'OBJ:! BLOCK 1>
|
||
ANFOBJ
|
||
NETOBL==.-NETOBJ ;NUMBER OF ANF-10 NETWORK DEVICES
|
||
> ;END TOPS10
|
||
|
||
NETSIZ:!
|
||
|
||
DEPHASE
|
||
SUBTTL ROUTE TABLE ENTRY DESCRIPTION
|
||
|
||
; !=======================================================!
|
||
; ! SOURCE OBJECT TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! SOURCE UNIT NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! SOURCE NODE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! DESTINATION OBJECT TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! DESTINATION UNIT NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! DESTINATION NODE NAME !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
RTEOB1:! BLOCK OBJ.SZ ;SOURCE OBJECT BLOCK
|
||
RTEOB2:! BLOCK OBJ.SZ ;DESTINATION OBJECT BLOCK
|
||
RTELEN:! ;TABLE ENTRY LENGTH
|
||
DEPHASE
|
||
|
||
SUBTTL PID -- [SYSTEM]INFO Queue of Names ands PIDs
|
||
|
||
IFN FTINFO,< ;DEFINE [SYSTEM]INFO'S PID QUEUE
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE VARIABLE QUEUE ENTRY HEADER (QH.VAR) \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! THE PID ASSIGNED !
|
||
; !-------------------------------------------------------!
|
||
; ! LAST WHO TO TELL ! FIRST WHO TO TELL !
|
||
; !-------------------------------------------------------!
|
||
; ! LENGTH OF NAME ! LAST KNOWN OWNER !
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE NAME CHOSEN BY THE CALLER \
|
||
; \ ASCIZ FORMAT \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
PHASE QEHVSZ ;APPEND TO THE VARIABLE QUEUE ENTRY HEADER
|
||
|
||
PIDPID:! BLOCK 1 ;THE PID ASSIGNED
|
||
PIDLNK:! BLOCK 1 ;LINK INFORMATION
|
||
PID.LT==QH.PTL ;TAIL LINK FOR WHO TO TELL AT DROP OF PID
|
||
PID.LH==QH.PTF ;HEAD LINK FOR WHO TO TELL AT DROP OF PID
|
||
PIDJOB:! BLOCK 1 ;JOB INFORMATION
|
||
PID.LN==-1,,0 ;NUMBER OF CHARACTERS IN THE NAME
|
||
PID.CX==777B26 ;CTX NUMBER OF OWNER
|
||
PID.JB==777B35 ;JOB NUMBER OF OWNER
|
||
PID.JC==PID.CX!PID.JB ;JCH NUMBER OF OWNER
|
||
|
||
PIDNAM:! ;THE NAME PROPER
|
||
;NUMBER OF WORDS DEPENDS ON G$MPS
|
||
PIDSIZ:! ;LENGTH OF PID QUEUE MINUS DATA
|
||
|
||
DEPHASE
|
||
|
||
> ;END OF IFN FTINFO
|
||
SUBTTL IPC -- QSRIPC resend queue format
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE VARIABLE QUEUE ENTRY HEADER (QH.VAR) \
|
||
; \ \
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE SAB TO SEND (COPY OF G$SAB AT SEND) \
|
||
; \ \
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE PACKET TO SEND \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
PHASE QEHVSZ ;THIS IS A QH.VAR QUEUE
|
||
|
||
RS.CNT:! BLOCK 1 ;RESEND COUNT (FOR EXPIRATION CHECK)
|
||
RS.SAB:! BLOCK SAB.SZ ;SAB USED FOR THE SEND
|
||
RS.MSG:! ;START OF THE MESSAGE (ONLY IF PACKET MODE)
|
||
|
||
IPCSIZ:! ;MINIMUM SIZE OF IPC QUEUE ENTRY
|
||
|
||
DEPHASE
|
||
SUBTTL ODB -- Object type Data Block format
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE VARIABLE QUEUE ENTRY HEADER (QH.VAR) \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! OBJECT TYPE (.OTXXX) !
|
||
; !=======================================================!
|
||
; ! NUMBER OF ARG BLOCKS IN DATA AREA !
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ VARIABLE LENGTH DATA COMMON TO OBJECT \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
Comment \
|
||
|
||
Object type data are parameters and such that are common to all
|
||
objects of the same type and are needed by all processors of the
|
||
objects, i.e. all .OTLPTs, no matter how many LPTSPLs are running
|
||
to process print requests. In other words, data that is common to
|
||
units, streams, etc. of the same object type, not settable on a
|
||
per unit or per stream basis.
|
||
|
||
Object type data are stored in ODB queue entries. ODB queue entries
|
||
are variable length (see ODB format definition). Each entry contains
|
||
the object type (.OTxxx) the data pertains to and a variable length
|
||
data following. The data area should be made of 1 or more "arg"
|
||
blocks, e.g. arg header word followed by data, header word containing
|
||
arg type and length of block. \
|
||
|
||
PHASE QEHVSZ ;THIS IS A QH.VAR QUEUE
|
||
|
||
ODB.OT:! BLOCK 1 ;OBJECT TYPE (.OTXXX)
|
||
ODB.AC:! BLOCK 1 ;NUMBER OF ARG BLOCKS IN DATA AREA
|
||
ODB.DA:! ;START OF OBJECT TYPE DATA
|
||
ODBSIZ:! ;MINIMUM SIZE OF ENTRY
|
||
|
||
DEPHASE
|
||
SUBTTL QNM -- Queue Name Data Block format
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE QUEUE ENTRY HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! QUEUE NAME IN 8-BIT ASCII !
|
||
; !-------------------------------------------------------!
|
||
; ! REQUESTED OBJECT BLOCK !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAGS !
|
||
; !=======================================================!
|
||
|
||
PHASE QEHSIZ
|
||
|
||
QNM.QN:! BLOCK QNMLEN ;REMOTE QUEUE NAME
|
||
|
||
QNM.RO:! BLOCK ROBSIZ ;REQUESTED OBJECT BLOCK
|
||
|
||
QNM.FL:! BLOCK 1 ;FLAGS
|
||
QN.LCL==1B0 ;LOCAL QUEUE
|
||
|
||
QNMSIZ:! ;SIZE OF ENTRY
|
||
SUBTTL CSM -- Canonical SPOOL Message
|
||
|
||
; !=======================================================!
|
||
; ! JOB NUMBER ! STATION # ! FLAGS !
|
||
; !-------------------------------------------------------!
|
||
; ! OWNER'S ID !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ REQUESTED OBJECT BLOCK \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; ! ENTERED (GTJFN'ED) FILENAME !
|
||
; !-------------------------------------------------------!
|
||
; ! SIZE OF THE FILE !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAGS FOR .FPINF OF INCLUDED FILE !
|
||
; !-------------------------------------------------------!
|
||
; ! FORMS TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! OUTPUT LIMIT !
|
||
; !-------------------------------------------------------!
|
||
; ! AFTER PARAMETER FOR JOB !
|
||
; !-------------------------------------------------------!
|
||
; ! NOTE FIELD !
|
||
; ! (2 WORDS) !
|
||
; !-------------------------------------------------------!
|
||
; ! ! ADDRESS OF THE FD !
|
||
; !=======================================================!
|
||
;
|
||
; ! ----- TOPS 10 ----- !
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! USER'S NAME IN SIXBIT !
|
||
; ! (2 WORDS) !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ ASCIZ ACCOUNT STRING \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
|
||
PHASE 0
|
||
|
||
CSM.JB:! BLOCK 1 ;JOB INFORMATION
|
||
CS.JOB==-1,,0 ;JOB NUMBER
|
||
CS.LOC==777000 ;NODE NUMBER (20-ONLY)
|
||
CS.LOC==777000 ;STATION NUMBER.
|
||
CS.FLG==000777 ;FLAGS
|
||
CS.DFR==1B27 ;DEFERRED MODE SPOOLING
|
||
|
||
CSM.OI:! BLOCK 1 ;OWNER'S ID
|
||
CSM.RO:! BLOCK ROBSIZ ;REQUESTED OBJECT
|
||
CSM.EN:! BLOCK 1 ;ENTER'ED (GTJFN'ED) FILENAME
|
||
CSM.FS:! BLOCK 1 ;SIZE OF THE FILE
|
||
CSM.FP:! BLOCK 1 ;FLAGS FOR .FPINF OF INCLUDED FILE
|
||
CSM.FM:! BLOCK 1 ;FORMS TYPE
|
||
CSM.LM:! BLOCK 1 ;OUTPUT LIMIT
|
||
CSM.AF:! BLOCK 1 ;AFTER PARAMETER FOR JOB
|
||
CSM.NT:! BLOCK 2 ;NOTE FIELD
|
||
CSM.FD:! BLOCK 1 ;FILE DESCRIPTOR INFORMATION
|
||
CS.FDA==0,,-1 ;ADDRESS OF THE FD TO INCLUDE
|
||
|
||
TOPS10 <
|
||
CSM.US:! BLOCK 2 ;USER NAME (2 WORDS)
|
||
CSM.AC:! BLOCK 10 ;ASCIZ ACCOUNT STRING
|
||
> ;END TOPS10
|
||
|
||
CSMSIZ:! ;LENGTH OF THE CANONICAL SPOOL MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL CLM -- Canonical LOGOUT Message
|
||
|
||
; !=======================================================!
|
||
; ! FUNCTION CODE !
|
||
; !-------------------------------------------------------!
|
||
; ! JOB NUMBER ! FLAG SETTINGS !
|
||
; !=======================================================!
|
||
|
||
|
||
PHASE 0
|
||
|
||
CLM.FC:! BLOCK 1 ;FUNCTION CODE - CONTAINS:
|
||
; .IPCSL IF FROM MONITOR
|
||
; .QIFNC IF INTERNAL
|
||
CLM.JB:! BLOCK 1 ;JOB INFORMATION
|
||
CL.JOB==-1,,0 ;JOB NUMBER
|
||
CL.BAT==1B18 ;JOB IS A BATCH JOB
|
||
CL.BQE==0,,-1 ;THIS FIELD CONTAINS THE ADDRESS
|
||
; OF THE BATCH JOB REQUEST (.QExxx)
|
||
; IF IT IS AN INTERNAL CALL
|
||
|
||
|
||
CLMSIZ:! ;LENGTH OF THE CANONICAL LOGOUT MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL The Messages and their respective codes
|
||
|
||
;THE FOLLOWING PAGES CONTAIN THE FORMAT OF THE VARIOUS MESSAGES WHICH
|
||
; ARE SENT TO OR BY QUASAR TO VARIOUS SYSTEM COMPONENTS.
|
||
|
||
;EXTERNAL OPERATIONS
|
||
|
||
.QOHEL==1 ;HELLO - ESTABLISH CONTACT
|
||
.QOREL==2 ;RELEASE - FINISHED A REQUEST
|
||
.QOCHE==3 ;CHECKPOINT - FAILSOFT A REQUEST
|
||
.QOREQ==4 ;REQUEUE - RETURN A REQUEST
|
||
.QONEX==5 ;NEXTJOB - REQUEST GIVEN TO A COMPONENT
|
||
.QOABO==6 ;ABORT - STOP PROCESSING THAT REQUEST
|
||
.QOCRE==7 ;CREATE - MAKE A REQUEST
|
||
.QOLIS==10 ;LIST - GET A CROSS SECTION OF THE QUEUES
|
||
.QOMOD==11 ;MODIFY - CHANGE THE PARAMETERS OF A REQUEST
|
||
.QOKIL==12 ;KILL - REMOVE A REQUEST
|
||
.QOLAN==13 ;ANSWER MESSAGE TO LIST REQUEST
|
||
; 14 ;FUNCTION 14 OBSOLETE TEXT MSG (.QOOBS)
|
||
.QORCK==15 ;CHECKPOINT-REQUEST MESSAGE
|
||
.QODFR==16 ;DEFER MESSAGE
|
||
.QOROU==17 ;ROUTING CHANGE
|
||
.QOCOU==20 ;COUNT MESSAGE
|
||
.QOCAN==21 ;COUNT ANSWER MESSAGE
|
||
.QOSUP==22 ;SETUP MESSAGE
|
||
.QORSU==23 ;RESPONSE-TO-SETUP MESSAGE
|
||
; 24 ;FUNCTION 24 OBSOLETE OPR ACTION MSG (.QOOAC)
|
||
.QOHBO==25 ;HOLD/RELEASE MESSAGE
|
||
; 26 ;MONITOR SPOOL MESSAGE
|
||
; 27 ;MONITOR LOGOUT MESSAGE
|
||
|
||
.QOMNT==30 ;TAPE MOUNT REQUEST (USER TO QUASAR)
|
||
.QOSTU==31 ;DEVICE STATUS UPDATE MESSAGE
|
||
.QOMTR==32 ;TAPE MOUNT RELEASE MSG (SAME AS .QOREL)
|
||
.QOMTC==33 ;TAPE MOUNT CHKPNT MSG (SAME AS .QOCHE)
|
||
.QOMTA==34 ;TAPE MOUNT ABORT MSG (QUASAR TO MTCON)
|
||
.QOMAT==35 ;TAPE MOUNT ATTRIBUTES REQUEST
|
||
.QONWA==36 ;NODE-WENT-AWAY NOTIFICATION MESSAGE
|
||
.QOCQE==37 ;CREATE QUEUE ENTRY (SHORT CREATE MSG)
|
||
.QOREC==40 ;TAPE RECOGNIZE MESSAGE (QUASAR TO TAPE LABELER)
|
||
.QOTST==41 ;TAPE STATUS MESSAGE (TAPE LABELLER TO QUASAR)
|
||
.QOUNL==42 ;TAPE UNLOAD MESSAGE (QUASAR TO TAPE LABELLER)
|
||
.QOVMN==43 ;TAPE VOLUME IN USE (REASSIGNED)
|
||
; (QUASAR TO TAPE LABELLER)
|
||
.QOVDM==44 ;TAPE VOLUME DEASSIGNED (QUASAR TO TAPE LAB)
|
||
.QOVSR==45 ;VOLUME SWITCH REQUEST (TAPE LAB TO QUASAR)
|
||
.QOVSD==46 ;VOLUME SWITCH DIRECTIVE (QUASAR TO TAPE LAB)
|
||
.QOREW==47 ;TAPE REWIND MESSAGE (QUASAR 2 TAPE LABELER)
|
||
.QORCT==50 ;REQUEST FOR SYSTEM CATALOG INFO
|
||
.QOCAT==51 ;ANSWER TO SYSTEM CATALOG INFO REQUEST
|
||
.QOBLD==52 ;BUILD A STRUCTURE (QUASAR 2 TAPE LABELER)
|
||
.QODSM==53 ;DISMOUNT A STRUCTURE (QUASAR 2 TAPE LABELER)
|
||
.QOACK==54 ;MDA ACK MESSAGE (TAPE LABELER TO QUASAR)
|
||
.QOASL==55 ;ADD A STR TO A USERS SEARCH LIST (QUA 2 LBLR)
|
||
.QODVS==56 ;DISMOUNT/DEALLOCATE A VOL SET (USER 2 QUASAR)
|
||
.QOLAC==57 ;LIST SOME ALLOCATIONS
|
||
.QOALC==60 ;BATCH ALLOCATION PROCESSOR MESSAGE
|
||
.QOPRM==61 ;ANSWER TO ABOVE (A MOUNT MESSAGE)
|
||
.QOIDN==62 ;TAPE INITIALIZATION DONE
|
||
.QOFCH==63 ;LPTSPL FORMS CHANGE MESSAGE
|
||
.QOIBM==64 ;IBMCOM STATISTICS MESSAGE
|
||
.QOGFR==65 ;TOPS20 [SYSTEM]GOPHER
|
||
.QOKSY==66 ;KSYS MESSAGE (QUASAR TO BATCON)
|
||
.QOATO==67 ;PROCESS AUTO-FILE (QUASAR TO ORION)
|
||
.QOOLC==70 ;OPERATOR LOG FILE CLOSURE (QUASAR TO ORION)
|
||
.QOFAS==71 ;FAL STATUS UPDATE MSG (FAL TO QUASAR)
|
||
.QOEQR==72 ;EQ REQUEST (PRIV'ED USER TO QUASAR)
|
||
.QOEQA==73 ;EQ ANSWER (QUASAR TO PRIV'ED USER)
|
||
.QOODB==74 ;OBJECT TYPE DATA MSG (QUASAR TO PROCESSOR)
|
||
.QOBLR==75 ;BINARY QUEUE LIST REQUEST (USER TO QUASAR)
|
||
.QOBLA==76 ;BINARY QUEUE LIST ANSWER (QUASAR TO USER)
|
||
|
||
;INTERNAL OPERATIONS
|
||
|
||
.QIFNC==1B18 ;IF BIT 18 IS SET, THE CALL IS INTERNAL
|
||
; AND THE REQUEST MAY BE INTERPRETED
|
||
; DIFFERENTLY THAN EXTERNAL CALLS
|
||
.QIRET==1B19 ;If bit 18 is set, this is a
|
||
;monitor archive request, so
|
||
;dont bomb it if queue entry
|
||
;is disabled.
|
||
|
||
SUBTTL The HELLO Message -- Function 1
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ The Message Header \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! Program Name !
|
||
; !-------------------------------------------------------!
|
||
; ! QUASAR Internal Version ! Flags !
|
||
; !-------------------------------------------------------!
|
||
; ! Number of OBJect Types ! Max no. concurrent jobs !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ List of object types \
|
||
; \ \
|
||
; \ From 1 to 5 object types allowed \
|
||
; ! !
|
||
; !=======================================================!
|
||
|
||
PHASE MSHSIZ ;APPEND TO THE MESSAGE HEADER
|
||
|
||
HEL.NM:! BLOCK 1 ;PROGRAM NAME
|
||
HEL.FL:! BLOCK 1 ;INTERNAL VERSION AND FLAGS
|
||
HEFVER==-1,,0 ;INTERNAL VERSION NUMBER (%%.QSR)
|
||
HEFFLG==0,,-1 ;MASK FOR FLAGS
|
||
HEFBYE==1B18 ;PROCESSOR SAYING "GOOD BYE"
|
||
HEL.NO:! BLOCK 1 ;NUMBER OF OBJ TYPES AND MAX NO JOBS
|
||
HENNOT==-1,,0 ;NUMBER OF OBJECT TYPES
|
||
HENMAX==0,,-1 ;MAXIMUM NUMBER OF JOBS
|
||
HEL.OB:! BLOCK OBPRSZ ;LIST OF OBJECTS (UP TO OBPRSZ)
|
||
HELOBJ==0,,-1 ;OBJECT TYPE
|
||
HELATR==-1,,0 ;DEVICE ATTRIBUTES
|
||
|
||
HEL.SZ:! ;SIZE OF THE HELLO MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL The RELEASE Message -- Function 2
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! INTERNAL TASK NAME !
|
||
; !=======================================================!
|
||
|
||
; EXTRA INFORMATION IS RETURNED BY BATCON DURING ITS RELEASE MESSAGE
|
||
|
||
; !=======================================================!
|
||
; ! FLAG SETTINGS ! THE JOB NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; / /
|
||
; / STANDARD FD AREA DESCRIBING THE LOG FILE /
|
||
; / THE LENGTH IS DERIVED FROM THE RELEASE MESSAGE SIZE /
|
||
; / /
|
||
; !=======================================================!
|
||
|
||
PHASE MSHSIZ
|
||
|
||
REL.IT:! BLOCK 1 ;INTERNAL TASK NAME
|
||
REL.FL:! BLOCK 1 ;FLAG WORD
|
||
RF.DEC==777777B17 ;LF FOR DEC
|
||
RF.ABO==1B0 ;JOB ABORTED (OUTPUT) OR FATAL ERROR (INPUT)
|
||
RF.CST==777777B35 ;RH FOR WSM
|
||
REL.TX:! BLOCK STSSIZ ;RELEASE MESSAGE TEXT
|
||
|
||
REL.SZ:! ;SIZE OF THE RELEASE MESSAGE
|
||
|
||
REL.BJ:! BLOCK 1 ;BATCH JOB INFORMATION
|
||
RL.DLG==1B0 ;DELETE THE LOG FILE AFTER PRINTING
|
||
RL.SPL==1B1 ;LOG FILE IS SPOOLED
|
||
RL.JOB==0,,-1 ;THE JOB NUMBER
|
||
|
||
REL.FD:! BLOCK FDXSIZ ;RESERVE SPACE FOR THE MAXIMUM FD RETURNED
|
||
|
||
REL.BL:! ;MAXIMUM LENGTH OF A BATCON RELEASE
|
||
|
||
DEPHASE
|
||
SUBTTL The CHECKPOINT and REQUEUE messages -- Functions 3 and 4
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! INTERNAL TASK NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; / CHECKPOINT/REQUEUE INFORMATION /
|
||
; / /
|
||
; / (5 WORDS) /
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! AFTER TIMER (REQ) !
|
||
; !=======================================================!
|
||
|
||
PHASE MSHSIZ
|
||
|
||
REQ.IT:! BLOCK 1 ;INTERNAL TASK NAME
|
||
REQ.FL:! BLOCK 1 ;REQUEUE FLAGS
|
||
RQ.HBO==1B0 ;HOLD BY OPR
|
||
RQ.RLC==1B1 ;RESTART AT LAST CHECKPOINT
|
||
;I.E. DONT UPDATE CHECKPOINT INFO
|
||
RQ.TIM==777 ;TIME IN MINUTES TO WAIT BEFORE RESCHEDULING
|
||
REQ.IN:! BLOCK EQCKSZ ;CHECKPOINTING INFORMATION
|
||
|
||
REQ.SZ:!
|
||
|
||
DEPHASE
|
||
|
||
PHASE MSHSIZ
|
||
|
||
CHE.IT:! BLOCK 1 ;INTERNAL TASK NAME
|
||
CHE.FL:! BLOCK 1 ;FLAG WORD
|
||
CH.FCH==1B0 ;DO A CHECKPOINT
|
||
CH.FST==1B1 ;UPDATE STATUS
|
||
CH.JBN==0,,-1 ;BATCH JOB NUMBER
|
||
|
||
CHE.MS:! ;MINIMUM SIZE OF CHECKPOINT MESSAGE
|
||
|
||
CHE.IN:! BLOCK EQCKSZ ;CHECKPOINT INFORMATION
|
||
CHE.ST:! BLOCK STSSIZ ;SPOOLER STATUS
|
||
|
||
CHE.SZ:!
|
||
|
||
DEPHASE
|
||
;Definition of the request limit words for each object type
|
||
|
||
DEFINE DEFLIM(NAME,WORD,SIZE,POS),<
|
||
RADIX 5+5
|
||
IF1,<IFDEF L.'NAME,<PRINTX Mult. defined limit parameter NAME>>
|
||
IFL <36-SIZE>,<PRINTX Illegal size for limit NAME>
|
||
IFL <35-POS>,<PRINTX Illegal position for limit NAME>
|
||
IFLE <EQLMSZ-WORD>,<PRINTX Illegal word for limit NAME>
|
||
L.'NAME==<BYTE (18) WORD (9) SIZE,POS>
|
||
RADIX 4+4
|
||
> ;END DEFINE DEFLIM
|
||
|
||
;Batch job parameters
|
||
DEFLIM UNIQ,0,2,1 ;/UNIQUE
|
||
DEFLIM REST,0,2,3 ;/RESTART
|
||
DEFLIM OINT,0,2,5 ;/OPRINT (OPR INTERVENTION)
|
||
DEFLIM OUTP,0,3,8 ;/OUTPUT
|
||
DEFLIM BSPR,0,9,17 ;(SPARE BITS FOR INPUT DEPENDENCY)
|
||
DEFLIM DEPN,0,18,35 ;/DEPENDENCY
|
||
DEFLIM CORE,1,18,17 ;/CORE
|
||
DEFLIM TIME,1,18,35 ;/TIME
|
||
DEFLIM SLPT,2,18,17 ;SPOOLED LPT LIMIT
|
||
DEFLIM SCDP,2,18,35 ;SPOOLED CDP LIMIT
|
||
DEFLIM SPTP,3,18,17 ;SPOOLED PTP LIMIT
|
||
DEFLIM SPLT,3,18,35 ;SPOOLED PLT LIMIT
|
||
DEFLIM ONOD,4,36,35 ;BATCH OUTPUT DESTINATION NODE
|
||
DEFLIM BLOG,5,2,1 ;/BATLOG
|
||
DEFLIM DLOG,5,1,2 ;DEFAULT LOG FILE NEEDED
|
||
DEFLIM OPTN,6,36,35 ;/BATOPN
|
||
|
||
;Output job parameters
|
||
DEFLIM FORM,0,36,35 ;FORMS
|
||
DEFLIM NBLK,1,18,17 ;NUMBER OF BLOCKS
|
||
DEFLIM OLIM,1,18,35 ;OUTPUT LIMIT
|
||
DEFLIM NOT1,2,36,35 ;FIRST HALF OF NOTE
|
||
DEFLIM NOT2,3,36,35 ;SECOND HALF OF NOTE
|
||
DEFLIM FLEA,4,2,1 ;FORMS-LIMIT-EXCEEDED ACTION (SET BY OPR)
|
||
|
||
;Batch input parameters
|
||
DEFLIM CJOB,1,18,17 ;NUMBER OF JOBS
|
||
DEFLIM CTIM,2,36,35 ;START TIME
|
||
DEFLIM CNOD,3,36,35 ;NODE AT WHICH READER IS LOCATED
|
||
|
||
;Event queue parameters
|
||
DEFLIM FAIL,00,01,00 ;FAILSOFT ENTRY
|
||
DEFLIM ACTV,00,01,01 ;ACTIVE
|
||
DEFLIM INVS,00,01,02 ;INVISIBLE ENTRY
|
||
DEFLIM REQT,00,01,03 ;REQUEUE TIME ALREAY SET UP
|
||
DEFLIM NOFS,00,01,04 ;DON'T FAILSOFT ENTRY
|
||
DEFLIM TYPE,00,18,35 ;TYPE CODE (SEE EVENTS MACRO)
|
||
DEFLIM REPT,01,36,35 ;REPEAT TIMES (DAY,DAILY,WEEKLY, ETC.)
|
||
DEFLIM TEXT,02,36,35 ;ADDRESS OF REASON TEXT BLOCK
|
||
DEFLIM FILE,03,36,35 ;ADDRESS OF FILE DESCRIPTOR
|
||
DEFLIM SWIT,04,36,35 ;DEPENDENT EVENT SWITCHES
|
||
|
||
TOPS20 <
|
||
;Archive tape parameters
|
||
DEFLIM TDTD,0,36,35 ;DUMPER timestamp
|
||
DEFLIM TUFT,0,1,0 ;Use 1st tape rather than 2nd if on
|
||
DEFLIM TDAT,0,35,35 ;Actual time stamp
|
||
DEFLIM TID1,1,36,35 ;Tape 1 ID
|
||
DEFLIM TTN1,2,36,35 ;Saveset and tape file #
|
||
DEFLIM TTS1,2,18,17 ; Saveset 1
|
||
DEFLIM TTF1,2,18,35 ;Tape file # 1
|
||
DEFLIM TID2,3,36,35 ;Tape 2 ID
|
||
DEFLIM TTN2,4,36,35 ;Saveset and tape file # 2
|
||
DEFLIM TTS2,4,18,17 ;Saveset 2
|
||
DEFLIM TTF2,4,18,35 ;Tape file # 2
|
||
> ;END TOPS20 CONDITIONAL
|
||
|
||
DEFINE GETLIM(AC,BLOCK,NAME),<
|
||
IFNDEF L.'NAME,<PRINTX Undefined limit parameter NAME>
|
||
..Z==BLOCK
|
||
..O==<L.'NAME&777777000000>_-^D18
|
||
..Z==..Z+..O
|
||
..S==<L.'NAME&777000>_-^D9
|
||
..P==<L.'NAME&777>
|
||
..P==^D35-..P
|
||
..Z==..Z+<..S>B11+<..P>B5
|
||
LDB AC,[EXP ..Z]
|
||
> ;END DEFINE GETLIM
|
||
|
||
DEFINE STOLIM(AC,BLOCK,NAME),<
|
||
IFNDEF L.'NAME,<PRINTX Undefined limit parameter NAME>
|
||
..Z==BLOCK
|
||
..O==<L.'NAME&777777000000>_-^D18
|
||
..Z==..Z+..O
|
||
..S==<L.'NAME&777000>_-^D9
|
||
..P==<L.'NAME&777>
|
||
..P==^D35-..P
|
||
..Z==..Z+<..S>B11+<..P>B5
|
||
DPB AC,[EXP ..Z]
|
||
> ;END DEFINE STOLIM
|
||
|
||
DEFINE WIDLIM(NAME),<<L.'NAME&777000>_-^D9>
|
||
|
||
DEFINE MAXLIM(NAME),<<1_<WIDLIM(NAME)>>-1>
|
||
SUBTTL The NEXTJOB and CREATE Messages -- Functions 5 and 7
|
||
|
||
|
||
; The NEXTJOB Message, Function 5, is the message which instructs a
|
||
; known component to process a job. The CREATE Message, Function 7, is
|
||
; sent to QUASAR by an unknown component as a request to create a job in
|
||
; one of the external queues. Both of these messages are in the form of
|
||
; the External Queue Entry (EQ).
|
||
;
|
||
; The External Queue Entry (EQ) consists of a header section followed by
|
||
; a list of file-specifications.
|
||
;
|
||
; The header section has three (3) parts:
|
||
;
|
||
; 1. The operating system independent header which is required and
|
||
; is the same on both operating systems.
|
||
;
|
||
; 2. The operating system dependent header which immediately
|
||
; follows the operating system independent header. It is
|
||
; required and is different for each operating system.
|
||
;
|
||
; The above parts comprise the minimum header size EQHSIZ.
|
||
;
|
||
;
|
||
; 3. The operating system dependent optional parameters which when
|
||
; present immediately follow the operating system dependent
|
||
; part of the header.
|
||
;
|
||
;
|
||
; The length of the entire header for a given request is stored in the
|
||
; header in .EQLEN<EQ.LOH>.
|
||
;
|
||
; Following the header sections is a list of one or more
|
||
; file-specifications. Each file-spec consists of a File-Parameter area
|
||
; (FP) followed by the standard File Descriptor area (FD).
|
||
SUBTTL EQ -- The External Queue Entry
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE MESSAGE HEADER \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! INTERNAL TASK NAME (ITN) !
|
||
; !-------------------------------------------------------!
|
||
; ! INTERNAL REQUEST VERSION ! LENGTH OF HEADER !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ REQUESTED OBJECT BLOCK \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ JOB INFORMATION BLOCK \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; ! REQUEST PROTECTION CODE !NUMBER OF FILES IN REQUEST !
|
||
; !-------------------------------------------------------!
|
||
; ! SPARE EQ FIELD !
|
||
; !-------------------------------------------------------!
|
||
; ! AFTER PARAMETER (INTERNAL DATE/TIME FORMAT) !
|
||
; !-------------------------------------------------------!
|
||
; ! SPARE !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ REQUEST LIMIT INFORMATION \
|
||
; \ CONTENTS ARE QUEUE DEPENDENT \
|
||
; \ 5 WORDS \
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ REQUEST CHECKPOINT INFORMATION \
|
||
; \ MAINTAINED BY KNOWN COMPONENTS \
|
||
; \ EQCKSZ WORDS \
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ ACCOUNT STRING \
|
||
; \ \
|
||
; \ 8 WORDS \
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; ! THE LAST FEW WORDS OF THE "EQ" HEADER !
|
||
; ! ARE OPERATING SYSTEM DEPENDENT AS FOLLOWS !
|
||
;
|
||
;
|
||
; ! ----- TOPS 10 ----- !
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! USER NAME IN SIXBIT !
|
||
; ! (2 WORDS) !
|
||
; !=======================================================!
|
||
; ! !
|
||
; \ PATH SPECIFICATION \
|
||
; \ (OPTIONAL) \
|
||
; \ SIX WORDS \
|
||
; ! !
|
||
; !=======================================================!
|
||
;
|
||
; ! ----- TOPS 20 ----- !
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ REQUEST OWNER SPECIFICATION \
|
||
; \ \
|
||
; \ (10 WORDS) \
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ CONNECTED DIRECTORY OF REQUEST CREATOR \
|
||
; \ \
|
||
; \ (12 WORDS) \
|
||
; ! !
|
||
; !=======================================================!
|
||
; ! SPOOLED INPUT SET HANDLE !
|
||
; !=======================================================!
|
||
PHASE MSHSIZ
|
||
|
||
.EQITN:! BLOCK 1 ;INTERNAL TASK NAME
|
||
.EQLEN:! BLOCK 1 ;LENGTH WORD
|
||
EQ.VRS==-1,,0 ;VERSION NUMBER OF REQUEST (%%.QSR)
|
||
EQ.LOH==0,,-1 ;LENGTH OF THE HEADER ( e.g. EQHSIZ)
|
||
|
||
.EQROB:! BLOCK ROBSIZ ;REQUESTED OBJECT BLOCK
|
||
.EQJBB:! BLOCK JIBSIZ ;JOB INFORMATION BLOCK
|
||
.EQSPC:! BLOCK 1 ;FILE SPECIFICATION WORD
|
||
EQ.PRO==-1,,0 ;REQUEST PROTECTION
|
||
EQ.NUM==0,,-1 ;NUMBER OF FILES IN THE REQUEST
|
||
|
||
TOPS20< BLOCK 1 ;SPARE (TOPS20 ONLY) >
|
||
.EQAFT:! BLOCK 1 ;AFTER PARAMETER (INTERNAL FORMAT)
|
||
|
||
.EQLIM:! BLOCK EQLMSZ ;NOTE THAT EQLMSZ IS DEFINED IN
|
||
;THE OVERALL STRUCTURE DEFINITION
|
||
.EQCHK:! BLOCK EQCKSZ ;CHECKPOINT/REQUEUE INFORMATION
|
||
|
||
.EQACT:! BLOCK 10 ;ACCOUNT STRING
|
||
|
||
.EQUSR:! BLOCK 12 ;39 CHR 8-BIT ASCIZ /USER:"TEXT"
|
||
|
||
.EQBOX:! BLOCK 12 ;39 CHR 8-BIT ASCIZ /DISTRIBUTION:"TEXT"
|
||
|
||
.EQDEP:! ;ANOTHER NAME FOR THIS
|
||
.EQTXT:! BLOCK STSSIZ ;REASON TEXT FOR EVENT QUEUES
|
||
|
||
.EQCST:! BLOCK ^D10 ;CUSTOMER USE ONLY
|
||
|
||
.EQDEC:! BLOCK ^D20 ;FOR DEC USE ONLY
|
||
|
||
EQISIZ:!
|
||
|
||
;END OF OPERATING SYSTEM INDEPENDENT HEADER - MORE OF CREATE MESSAGE FOLLOWS
|
||
|
||
;THIS IS THE JOB INFORMATION BLOCK STRUCTURE DESCRIPTION
|
||
|
||
.EQJOB==.EQJBB+JIB.JN ;JOB NAME (SIXBIT)
|
||
.EQSEQ==.EQJBB+JIB.SQ ;EXTERNAL VALUES
|
||
EQ.SEQ==777700,,0 ;EXTERNAL SEQUENCE NUMBER
|
||
EQ.CHG==1B16 ;[1161] PRIORITY WAS CHANGED BY QUASAR
|
||
EQ.ALR==1B17 ;ALLOCATION REQUESTED
|
||
EQ.WAL==1B18 ;BATCH REQUEST WAITING FOR ALLOCATION
|
||
EQ.WAM==1B19 ;BATCH REQUEST WAITING FOR A MOUNT
|
||
EQ.ACT==3B21 ;REQUEST REQUIRES ACCOUNT VALIDATION
|
||
%VALID==0 ;ACCOUNT STRING IS VALID
|
||
%VALRQ==1 ;ACCOUNT VALIDATION IS REQUIRED
|
||
%VALPD==2 ;ACCOUNT VALIDATION HAS BEEN REQUESTED
|
||
EQ.IAS==1B22 ;REQUEST CONTAINS AN INVALID ACCT STRING
|
||
EQ.NOT==3B24 ;JOB REQUESTED /NOTIFY
|
||
EQ.JBC==1B25 ;JOB HAS BEEN CHECKPOINTED
|
||
EQ.HBO==1B26 ;JOB HELD BY OPERATOR
|
||
EQ.PRV==1B27 ;REQUEST CREATOR WAS PRIVILEGED
|
||
EQ.SPL==1B28 ;REQUEST CONTAINS SPOOLED FILES
|
||
EQ.RDE==1B29 ;THIS REQUEST DOESN'T EXIST (CLEAN-UP)
|
||
EQ.PRI==77B35 ;EXTERNAL PRIORITY
|
||
.EQOID==.EQJBB+JIB.US ;-10(PPN), -20(USER NUMBER)
|
||
.EQRID==.EQJBB+JIB.ID ;REQUEST ID
|
||
TOPS10 <
|
||
.EQOWN==.EQJBB+JIB.NM ;TOPS-10 USER NAME IN SIXBIT (2 WORDS)
|
||
>
|
||
;BEGINNING OF OPERATING SYSTEM DEPENDENT HEADER
|
||
|
||
|
||
TOPS20 <
|
||
.EQOWN:! BLOCK EQNMSZ ;EXTERNAL OWNER SPECIFICATION
|
||
.EQCON:! BLOCK 12 ;CONNECTED DIRECTORY
|
||
> ;END TOPS20 CONDITIONAL
|
||
|
||
|
||
;END OF OPERATING SYSTEM DEPENDENT HEADER
|
||
|
||
|
||
;BEGINNING OF OPERATING SYSTEM DEPENDENT OPTIONAL PARAMETERS
|
||
|
||
TOPS10 < ;MAKE ROOM FOR THE INPUT QUEUE PATH SPEC
|
||
.EQPAT:! BLOCK 6 ;PATH
|
||
.EQPSZ:! ;SIZE OF HEADER WITH PATH
|
||
> ;END TOPS10 CONDITIONAL
|
||
|
||
TOPS20 <
|
||
.EQSIS:! BLOCK 1 ;HANDLE FOR SPOOLED INPUT SET
|
||
> ;END TOPS20 CONDITIONAL
|
||
|
||
EQHSIZ:! ;TO DEFINE THE EQ HEADER SIZE
|
||
|
||
|
||
EQXSIZ:! ;MAXIMUM "DEFINED" SIZE OF AN EQ
|
||
;THIS MAXIMUM SHOULD NOT BE ENFORCED SINCE
|
||
; VARIOUS USER APPLICATIONS MAY PASS MORE
|
||
|
||
.CREF FTDQS ;SHOW THE CONDITIONAL WHICH ISN'T USED HERE
|
||
.EQQNM==.EQDEP ;WHERE QUEUE NAME STRING IS STORED
|
||
.EQCHR==.EQQNM+QNMLEN ;WHERE CHARACTERISTICS STRING IS STORED
|
||
.EQFRM==.EQCHR+CHRSIZ ;WHERE LONG FORMS NAME STRING IS STORED
|
||
|
||
DEPHASE
|
||
; !=======================================================!
|
||
; ! LENGTH OF FILE-PARAM AREA ! !
|
||
; !-------------------------------------------------------!
|
||
; !FILE FMT !PAPR FMT!SPACING ! FLAGS ! COPIES !
|
||
; !-------------------------------------------------------!
|
||
; ! STARTING INFORMATION (CUSP DEPENDENT) !
|
||
; !-------------------------------------------------------!
|
||
; ! /REPORT WORD 1 !
|
||
; !-------------------------------------------------------!
|
||
; ! /REPORT WORD 2 !
|
||
; !-------------------------------------------------------!
|
||
; !RCRD FMT! ! RECORD LGTH !
|
||
; !-------------------------------------------------------!
|
||
; ! RECORD COUNT !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.FPLEN:! BLOCK 1 ;SIZE WORD
|
||
FP.LEN==-1,,0 ;SIZE OF THE FP
|
||
|
||
PHASE 1 ;OUTPUT QUEUES
|
||
|
||
.FPINF:! BLOCK 1 ;FILE PARAMETER INFORMATION
|
||
FP.FFF==77B5 ;FILE FORMAT
|
||
.FPFAS==1 ;ASCII
|
||
.FPFFO==2 ;FORTRAN
|
||
.FPFCO==3 ;COBOL
|
||
.FPFAI==4 ;AUGMENTED IMAGE (FOR BIN QUEUE)
|
||
.FPFSA==5 ;STREAM ASCII (FOR BIN QUEUE)
|
||
.FPF11==6 ;ELEVEN
|
||
.FPFIM==7 ;IMAGE (FOR XFR QUEUE)
|
||
.FPF8B==10 ;8 BIT ASCII FILE
|
||
.FPMAX==.FPF8B ;MAX FP VALUE DEFINED
|
||
|
||
FP.FPF==77B11 ;PAPER FORMAT (SEE THE NEXT PAGE)
|
||
FP.FSP==77B17 ;SPACING CODE
|
||
FP.DEL==1B18 ;ON = DELETE THIS FILE
|
||
FP.FLG==1B19 ;THIS IS THE LOG FILE
|
||
FP.NFH==1B20 ;NO FILE HEADERS
|
||
FP.SPL==1B21 ;THIS IS A SPOOLED FILE
|
||
FP.PCR==1B22 ;SPOOLED CARD READER FILE
|
||
FP.REN==1B23 ;/DISPOSE:RENAME FILE
|
||
FP.XXX==7B26 ;EXTRA FLAG BITS
|
||
FP.FCY==777B35 ;COPY COUNT
|
||
|
||
.FPFST:! BLOCK 1 ;STARTING POINT INFORMATION
|
||
.FPFR1:! BLOCK 1 ;/REPORT WORD 1
|
||
.FPFR2:! BLOCK 1 ;/REPORT WORD 2
|
||
|
||
TOPS10<
|
||
.FPONM:! BLOCK 1 ;ORIGINAL FILE NAME IF /DISP:REN
|
||
.FPOXT:! BLOCK 1 ;ORIGINAL EXTENSION IF /DISP:REN
|
||
>
|
||
FPMSIZ:! ;MINUMUM FP AREA SIZE
|
||
FNMLTH==^D30/4+1 ;LENGHT OF FONT NAME IN WORDS
|
||
.FPFNM:! BLOCK FNMLTH ;SPACE FOR A FONT NAME
|
||
|
||
FPXSIZ:! ;MAXIMUM FP AREA SIZE
|
||
|
||
PHASE 1 ;BIN QUEUE
|
||
|
||
.FPINF:! BLOCK 1 ;FP INFORMATION (SEE NEXT PAGE)
|
||
FP.RCF==77B5 ;RECORD FORMAT
|
||
FP.RCL==777B35 ;RECORD LENGTH (FOR FIXED FORMAT)
|
||
.FPRCD:! BLOCK 1 ;RECORD COUNT
|
||
|
||
DEPHASE
|
||
;PAPER FORMATS FOR LPT QUEUE (/PRINT)
|
||
%FPLAR==1 ;ARROW FORMAT
|
||
%FPLAS==2 ;ASCII FORMAT
|
||
%FPLOC==3 ;OCTAL FORMAT
|
||
%FPLSU==4 ;SUPPRESS FORMAT
|
||
%FPGRF==5 ;FILE HAS GRAPHICS COMMANDS
|
||
|
||
|
||
;PAPER FORMATS FOR PTP QUEUE (/TAPE)
|
||
%FPTAS==1 ;ASCII FORMAT
|
||
%FPTIM==2 ;IMAGE FORMAT
|
||
%FPTIB==3 ;IMAGE BINARY FORMAT
|
||
%FPTBI==4 ;BINARY FORMAT
|
||
|
||
|
||
;PAPER FORMATS FOR CDP QUEUE (/PUNCH)
|
||
%FPCAS==1 ;ASCII FORMAT
|
||
%FPCBC==2 ;026 (BCD) FORMAT
|
||
%FPCBI==3 ;BINARY FORMAT
|
||
%FPCIM==5 ;IMAGE FORMAT
|
||
|
||
|
||
;PAPER FORMAT FOR PLT QUEUE (/PLOT)
|
||
%FPPIM==1 ;IMAGE FORMAT
|
||
%FPPAS==2 ;ASCII FORMAT
|
||
%FPPBI==3 ;BINARY FORMAT
|
||
|
||
;VALUES FOR .EQLM1<EQ.OUT> (/OUTPUT FIELD)
|
||
%EQONL==1 ;NO LOG
|
||
%EQOLG==2 ;LOG FILE ALWAYS
|
||
%EQOLE==3 ;LOG FILE ON ERROR ONLY
|
||
|
||
;VALUES FOR .EQLM1<EQ.UNI> (/UNIQUE FIELD)
|
||
%EQUNO==1 ;/UNIQUE:NO
|
||
%EQUYE==2 ;/UNIQUE:YES
|
||
|
||
;VALUES FOR .EQLM1<EQ.RST> (/RESTART FIELD)
|
||
%EQRNO==1 ;/RESTART:NO
|
||
%EQRYE==2 ;/RESTART:YES
|
||
|
||
;VALUES FOR .EQLIM WORD 6 (BATCH ONLY) (/BATLOG: FIELD)
|
||
%BAPND==1 ;APPEND OUTPUT LOG
|
||
%BSCDE==2 ;SUPERSEDE OUTPUT LOG
|
||
%BSPOL==3 ;SPOOL OUTPUT LOG
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
|
||
;DEFINITIONS FOR XFR QUE FP
|
||
|
||
FP.RFM==FP.FPF ;RECORD FORMAT INSTEAD OF PAPER FORMAT
|
||
FP.MRS==FP.FCY ;MAXIMUM RECORD SIZE INSTEAD OF COPIES
|
||
|
||
;VALUES FOR RECORD FORMAT (FP.RFM)
|
||
|
||
%FPXFI==1 ;FIXED LENGTH RECORDS
|
||
%FPXVA==2 ;VARIABLE LENGTH RECORDS
|
||
|
||
;VALUE FOR FILE RETREIVAL .EQLM1<EQ.UFT>
|
||
|
||
%EQUFT==1B0 ;USE FIRST TAPE NOT SECOND IF LIT
|
||
|
||
|
||
|
||
SUBTTL The ABORT Message -- Function 6
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! INTERNAL TASK NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! OBJECT TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! UNIT NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! NODE !
|
||
; !-------------------------------------------------------!
|
||
; ! REASON CODE !
|
||
; !-------------------------------------------------------!
|
||
; ! ID OF PERSON REQUESTING THE CANCEL !
|
||
; !=======================================================!
|
||
|
||
PHASE MSHSIZ
|
||
|
||
ABO.IT:! BLOCK 1 ;INTERNAL TASK NAME
|
||
ABO.TY:! BLOCK 1 ;OBJECT TYPE
|
||
ABO.UN:! BLOCK 1 ;UNIT NUMBER
|
||
ABO.NO:! BLOCK 1 ;NODE
|
||
ABO.CD:! BLOCK 1 ;CODE INDICATING CAUSE OF MESSAGE
|
||
ABOUSR==1 ; BY USER REQUEST
|
||
ABO.ID:! BLOCK 1 ;ID OF PERSON REQUESTING THE KILL
|
||
|
||
ABO.SZ:! ;SIZE OF THE ABORT MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL The LIST Message -- Function 10
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
; ! ARGUMENT COUNT !
|
||
; !=======================================================!
|
||
|
||
; ARGUMENT DATA BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! LENGTH OF ARGUMENT BLOCK ! TYPE OF ARGUMENT !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ DATA FOR THE ARGUMENT \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
;THE FLAG WORD (.OFLAG) CAN HAVE THE FOLLOWING BITS LIT:
|
||
|
||
LS.FST==1B1 ;YOU WANT A QUICK QUEUES LISTING.
|
||
LS.ALL==1B2 ;YOU WANT TO SEE EVERYTHING !!!
|
||
LS.SUM==1B3 ;YOU WANT TO SEE ONLY A SUMMARY
|
||
LS.RMT==1B35 ;YOU WANT TO SEE REMOTE QUEUES TOO
|
||
|
||
|
||
;THE LIST QUEUES MESSAGE CONTAINS 2 BLOCKS.
|
||
|
||
.LSQUE==0 ;THE QUEUES YOU WANT TO LIST.
|
||
.LSUSR==1 ;THE USER ID FOR THE QUEUE ENTRYS YOU WANT.
|
||
.LSUSM==2 ;THE USER ID MASK (FOR .LSUSR)
|
||
.LSJOB==3 ;THE JOB NAME YOU WANT TO LIST
|
||
.LSJBM==4 ;THE JOB NAME MASK (FOR .LSJOB)
|
||
.LSUNT==5 ;THE UNIT NUMBER YOU WANT TO LIST
|
||
.LSDND==6 ;THE DESTINATION NODE (WHERE OUTPUT GOES)
|
||
.LSPND==7 ;THE PROCESSING NODE (WHERE BATCH JOBS RUN)
|
||
.LSUTY==10 ;THE SIXBIT UNIT TYPE
|
||
.LSPID==11 ;THE PID OF THE REQUESTOR (ONLY SUPPLIED BY
|
||
; QUASAR TO THE NETWORK QUEUE CONTROLLER)
|
||
.LSQNM==12 ;THE NETWORK QUEUE NAME TO BE LISTED
|
||
; .ORNOD ;THE NODE WHOSE QUEUE ENTRIES YOU WANT
|
||
|
||
;THE .LSQUE BLOCK AND ITS POSSIBLE VALUES IS DEFINED BELOW.
|
||
|
||
LIQBAT==1B0 ;LIST THE BATCH QUEUE
|
||
LIQLPT==1B1 ;LIST THE PRINTER QUEUE
|
||
LIQCDP==1B2 ;LIST THE CARD-PUNCH QUEUE
|
||
LIQPTP==1B3 ;LIST THE PAPER-TAPE PUNCH QUEUE
|
||
LIQPLT==1B4 ;LIST THE PLOTTER QUEUE
|
||
LIQMNT==1B6 ;LIST THE TAPE MOUNT QUEUE
|
||
LIQRET==1B7 ;LIST THE RETRIEVAL QUEUE
|
||
LIQALC==1B8 ;LIST THE JOBS ALLOCATION
|
||
LIQEVT==1B9 ;LIST THE EVENT QUEUE
|
||
|
||
LIQOUT==LIQLPT+LIQCDP+LIQPTP+LIQPLT ;LIST ALL OUTPUT QUEUES.
|
||
|
||
LIQALL==LIQOUT+LIQBAT+LIQRET+LIQMNT+LIQEVT ;LIST ALL THE QUEUES
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
|
||
; !=======================================================!
|
||
; ! 2 ! .LSQUE !
|
||
; !-------------------------------------------------------!
|
||
; ! THE QUEUE(S) YOU WANT TO LIST !
|
||
; !=======================================================!
|
||
|
||
;THE .LSUSR BLOCK IS DEFINED BELOW.
|
||
|
||
; !=======================================================!
|
||
; ! 2 ! .LSUSR !
|
||
; !-------------------------------------------------------!
|
||
; ! THE USER ID (PPN ON THE -10) OF THE !
|
||
; ! QUEUE ENTRYS YOU WANT !
|
||
; !=======================================================!
|
||
|
||
;THE .ORNOD BLOCK IS DEFINED BELOW
|
||
|
||
; !=======================================================!
|
||
; ! 2 ! .ORNOD !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT NODE NAME or OCTAL NODE # !
|
||
; !=======================================================!
|
||
|
||
|
||
SUBTTL The MODIFY Message -- Function 11
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! QUEUE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ REQUEST DESCRIPTOR BLOCK (RDB) \
|
||
; \ \
|
||
; \ TO DESCRIBE MODIFY REQUEST \
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
|
||
; THE FOLLOWING BLOCK IS DUPLICATED FOR EACH "GROUP" TO BE MODIFIED
|
||
; THE LENGTH OF THE BLOCK IS DEPENDENT ON THE GROUP.
|
||
; IF AN ELEMENT IS NOT TO BE CHANGED, SPECIFY -1 AS THE VALUE.
|
||
|
||
; ELEMENTS ARE POSITIONAL WITHIN A GROUP AND NO ENDING INDICATION IS NECESSARY
|
||
; AS THE VARIOUS LENGTH FIELDS DETERMINE THE NEXT OR END OF THE MESSAGE
|
||
|
||
; FOR DESCRIPTIONS OF THE GROUP ELEMENTS AND POSITIONS THE READER IS DIRECTED TO:
|
||
; QSRQUE - MAJMOD FOR MAJOR REQUEST GROUP 0
|
||
; QSRSCH - MODIFIERS FOR QUEUE DEPENDENT GROUP 1
|
||
|
||
; !=======================================================!
|
||
; ! GROUP NUMBER ! WORD COUNT !
|
||
; !=======================================================!
|
||
PHASE MSHSIZ
|
||
|
||
MOD.OT:! BLOCK 1 ;OBJECT TYPE
|
||
|
||
MOD.RQ:! BLOCK RDBSIZ ;REQUEST DESCRIPTOR BLOCK
|
||
|
||
MOD.SZ:! ;MINIMUM SIZE OF A MODIFY REQUEST
|
||
MOD.FG:! ;FIRST GROUP WORD IN MODIFY REQUEST
|
||
|
||
PHASE 0 ;RELATIVE OFFSET
|
||
|
||
MOD.GN:! BLOCK 1 ;GROUP WORD
|
||
MODGPN==-1,,0 ;THE GROUP NUMBER
|
||
.GPMAJ==0 ;MAJOR PARAMETERS (AFTER, PRIORITY, etc...)
|
||
.GPQUE==1 ;QUEUE DEPENDENT (FORMS, TIME LIMIT, etc...)
|
||
|
||
MODGLN==0,,-1 ;THE NUMBER OF ELEMENTS (INCLUDING THIS WORD)
|
||
MOD.GE:! ;THE FIRST GROUP ELEMENT TO BE MODIFIED
|
||
DEPHASE
|
||
|
||
|
||
;IF MODIFYING /DEPENDENCY COUNT FOR INPUT QUEUES, 3 FORMS ARE RECOGNIZED
|
||
|
||
.MODAB==0 ;NEW VALUE IS ABSOLUTE CHANGE
|
||
.MODPL==1 ;NEW VALUE IS ADDITIVE
|
||
.MODMI==2 ;NEW VALUE IS SUBTRACTIVE
|
||
SUBTTL The KILL Message -- Function 12
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! QUEUE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ REQUEST DESCRIPTOR BLOCK (RDB) \
|
||
; \ \
|
||
; \ TO DESCRIBE KILL REQUEST \
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
|
||
PHASE MSHSIZ
|
||
|
||
KIL.OT:! BLOCK 1 ;OBJECT TYPE
|
||
|
||
KIL.RQ:! BLOCK RDBSIZ ;REQUEST DESCRIPTOR BLOCK
|
||
|
||
KIL.SZ:! ;SIZE OF KILL ENTRY
|
||
DEPHASE
|
||
SUBTTL THE LIST ANSWER MESSAGE.
|
||
|
||
;THE LIST ANSWER MESSAGE IS CONSTRUCTED AS FOLLOWS:
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE MESSAGE HEADER \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
; ! ARGUMENT COUNT !
|
||
; !=======================================================!
|
||
; ! HEADER LENGTH ! HEADER BLOCK TYPE (.WTTYP) !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ THE MESSAGE HEADER \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; ! ANSWER LENGTH ! ANSWER BLOCK TYPE (.WTTXT) !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ THE QUEUES LISTING IN ASCIZ \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
|
||
;THE FLAG WORD CAN CONTAIN THE FOLLOWING BITS:
|
||
|
||
WT.MOR==WT.MOR ;MORE DISPLAY PAGES COMMING.
|
||
;THIS IS ORIGINALLY DEFINED IN ORNMAC.
|
||
|
||
SUBTTL The REQUEST FOR CHECKPOINT Message -- Function 15
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! INTERNAL TASK NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! OBJECT TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! UNIT NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! NODE !
|
||
; !=======================================================!
|
||
|
||
PHASE MSHSIZ
|
||
|
||
RCK.IT:! BLOCK 1 ;THE ITN
|
||
RCK.TY:! BLOCK 1 ;THE OBJECT TYPE
|
||
RCK.UN:! BLOCK 1 ;THE UNIT NUMBER
|
||
RCK.NO:! BLOCK 1 ;THE NODE
|
||
|
||
RCK.SZ:! ;THE SIZE OF THE REQUEST FOR CHECKPOINT MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL The DEFER Message -- Function 16
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! QUEUE NAME FOR THE REQUEST (0 IF ALL) !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAGS ! FUNCTION ! JOB NUMBER !
|
||
; !=======================================================!
|
||
|
||
PHASE MSHSIZ
|
||
|
||
DFR.OT:! BLOCK 1 ;THE OBJECT TYPE ( 0 IF ALL)
|
||
DFR.JB:! BLOCK 1 ;JOB INFORMATION
|
||
DF.FNC==777B17 ;THE FUNCTION REQUESTED
|
||
.DFREL==0 ;RELEASE ALL DEFERRED FILES
|
||
.DFKIL==1 ;KILL ALL DEFERRED FILES
|
||
|
||
DF.JOB==0,,-1 ;THE JOB NUMBER
|
||
|
||
DFR.SZ:! ;SIZE OF THE DEFER MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL Event Counters
|
||
|
||
;QUASAR MAINTAINS A SET OF EVENT COUNTERS FOR VARIOUS EVENTS THAT
|
||
; MIGHT BE OF INTEREST. THESE COUNTERS ARE PRIMARILY FOR THE
|
||
; USE OF SOFTWARE DEVELOPMENT PEOPLE TO HELP KEEP A HANDLE ON
|
||
; WHAT IS REALLY HAPPENING INSIDE OF QUASAR.
|
||
;
|
||
;TWO MESSAGES EXIST TO HANDLE THESE COUNTERS:
|
||
; COUNT FUNCTION 20 SENT TO REQUEST CURRENT COUNTS
|
||
; CNTANSWER FUNCTION 21 SENT AS RESPONSE TO COUNT MESSAGE
|
||
|
||
;FOLLOWING ARE THE MACROS USED TO MANIPULATE THE COUNTERS:
|
||
|
||
DEFINE X(A,B),<
|
||
LSTOF.
|
||
INTERN $$'A
|
||
$$'A==$$
|
||
IFIDN <MNXT><A>,<$$==$$+.OTMAX>
|
||
$$==$$+1
|
||
LSTON.> ;END DEFINE X
|
||
|
||
DEFINE $COUNT(A),<
|
||
IFNDEF $$'A,<
|
||
PRINTX UNDEFINED COUNTER A USED
|
||
>
|
||
IFNDEF G$ITEM,<EXTERN G$ITEM>
|
||
AOS G$ITEM+$$'A
|
||
> ;END DEFINE $COUNT
|
||
|
||
DEFINE $SITEM(AC,A),<
|
||
IFNDEF $$'A,<
|
||
PRINTX UNDEFINED COUNTER A USED
|
||
>
|
||
IFNDEF G$ITEM,<EXTERN G$ITEM>
|
||
STORE AC,G$ITEM+$$'A
|
||
> ;END DEFINE $SITEM
|
||
|
||
|
||
;THE COUNTERS ARE DEFINED ON THE NEXT PAGE
|
||
;THE COUNTERS
|
||
|
||
DEFINE $ITEM,<
|
||
LSTOF.
|
||
X (ICNT,Number of items in record)
|
||
X (NOW,Current time of day)
|
||
X (STAR,QUASAR's start time)
|
||
X (QJOB,QUASAR's job number)
|
||
X (IPCI,Total number of IPCF interrupts received)
|
||
X (RIPC,IPCF messages received)
|
||
X (SIPC,IPCF messages sent)
|
||
X (IPCF,IPCF send failures)
|
||
X (IPCU,Unrecoverable IPCF send failures)
|
||
X (MREL,RELEASE messages received)
|
||
X (MCHK,CHECKPOINT messages received)
|
||
X (MREQ,REQUEUE messages received)
|
||
X (MNXT,Total NEXTJOB messages sent by type)
|
||
X (MLST,LIST messages received)
|
||
X (NLAP,LISTANSWER pages sent)
|
||
X (SCRE,Successful creates done)
|
||
X (MMOD,MODIFY messages received)
|
||
X (MKIL,KILL messages received)
|
||
X (MDEF,DEFER messages received)
|
||
X (ISPL,Immediate SPOOL messages received)
|
||
X (DSPL,Deferred SPOOL messages received)
|
||
X (MCAN,COUNTANSWER messages sent)
|
||
X (SLCD,Scheduler loop countdowns)
|
||
X (DEAD,MDA deadlock avoidance calls)
|
||
X (DFAL,MDA deadlock avoidance failures)
|
||
X (VSWM,Volume switch tape mount)
|
||
X (TAPM,Tape mount)
|
||
X (STRM,Physical structure mount)
|
||
X (USTM,User structure mount)
|
||
X (GENM,Generic mount)
|
||
X (TINP,Termination batch requests)
|
||
X (TOUT,Termination print requests)
|
||
X (TCNI,Termination console input)
|
||
X (TCNO,Termination console output)
|
||
X (EINP,Emulation batch requests)
|
||
X (EOUT,Emulation print requests)
|
||
X (ECNI,Emulation console input)
|
||
X (ECNO,Emulation console output)
|
||
X (IPCE,Resend queue expirations)
|
||
X (DTAM,DECtape mounts)
|
||
LSTON.> ;END DEFINE $ITEM
|
||
|
||
$$=0 ;START CLEAN
|
||
$ITEM ;NOW CALL IT
|
||
|
||
NITEMS=$$ ;TOTAL NUMBER OF ITEMS
|
||
SUBTTL The COUNT Message -- Function 20
|
||
|
||
PHASE MSHSIZ
|
||
|
||
COU.SZ:! ;SIZE OF COUNT MESSAGE
|
||
DEPHASE
|
||
SUBTTL The COUNTANSWER Message -- Function 21
|
||
|
||
PHASE MSHSIZ
|
||
|
||
CAN.BL:! BLOCK NITEMS ;BLOCK OF ITEMS
|
||
|
||
CAN.SZ:! ;SIZE OF COUNTANSWER MESSAGE
|
||
DEPHASE
|
||
SUBTTL The SETUP/SHUTDOWN Message -- Function 22
|
||
|
||
;The SETUP message is sent to cause a component to service an object for
|
||
; which we have a job.. The SHUTDOWN message is sent to cause a
|
||
; component to give up control of a object.
|
||
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ The Message Header \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! Flags !
|
||
; !-------------------------------------------------------!
|
||
; ! Type of OBJect to set up !
|
||
; !-------------------------------------------------------!
|
||
; ! Unit number of OBJect to set up !
|
||
; !-------------------------------------------------------!
|
||
; ! Node to set up OBJect at !
|
||
; !-------------------------------------------------------!
|
||
; ! Port Number ! Line Number !
|
||
; !-------------------------------------------------------!
|
||
; ! Network Status Bits !
|
||
; !-------------------------------------------------------!
|
||
; ! Port/Line Handle !
|
||
; !=======================================================!
|
||
|
||
|
||
PHASE MSHSIZ ;START WITH STD. MESSAGE HEADER
|
||
|
||
SUP.FL:! BLOCK 1 ;FLAGS
|
||
SUFSHT==1B0 ;SHUTDOWN INSTEAD OF SETUP
|
||
SUFLAT==1B1 ;BIT FOR LAT SERVICE
|
||
IFN FTDQS,<
|
||
SUFSRV==1B2 ;BIT FOR SERVER STREAM
|
||
>; END IFN FTDQS
|
||
SUFLP2==3B5 ;LP20 SIMULATION
|
||
SUP.TY:! BLOCK 1 ;TYPE OF OBJECT TO SET UP FOR
|
||
SUP.UN:! BLOCK 1 ;UNIT NUMBER, OF THIS TYPE, TO SET UP
|
||
SUP.NO:! BLOCK 1 ;SIXBIT NODE AT WHICH TO SET UP OBJ
|
||
SUP.UT:! BLOCK 1 ;SIXBIT UNIT TYPE (I.E. 'LN01', ETC.)
|
||
SUP.CN:! BLOCK 7 ;DEVICE CONDITIONS/CHARACTERISTICS
|
||
;SET BY THE OPERATOR
|
||
SUP.ST:! BLOCK 1 ;NETWORK ('NETSTS') STATUS/FLAG BITS
|
||
SUP.MT:! BLOCK 1 ;MAGTAPE CHARACTERISTICS
|
||
SUP.VS:! BLOCK VSNLEN ;MAGTAPE VOLUME-SET NAME
|
||
SUP.LN:! BLOCK LPTNLN ;LAT SERVER/SERVICE/PORT
|
||
|
||
SUP.SZ:! ;SIZE OF THE SETUP MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL The RESPONSE-TO-SETUP Message -- Function 23
|
||
|
||
;The RESPONSE-TO-SETUP message is sent to QUASAR by a known component
|
||
; after the component receives a SETUP message for an object.
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ The Message Header \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! The OBJect Type !
|
||
; !-------------------------------------------------------!
|
||
; ! The OBJect Unit Number !
|
||
; !-------------------------------------------------------!
|
||
; ! The NODE at which the OBJect Resides !
|
||
; !-------------------------------------------------------!
|
||
; ! The RESPONSE Code !
|
||
; !-------------------------------------------------------!
|
||
; ! RESPONSE REASON !
|
||
; !-------------------------------------------------------!
|
||
; ! The DEC Device Attributes !
|
||
; !-------------------------------------------------------!
|
||
; ! Prototype Node Name !
|
||
; !-------------------------------------------------------!
|
||
; ! Attribute Flags !
|
||
; !=======================================================!
|
||
|
||
PHASE MSHSIZ ;STANDARD MESSAGE HEADER
|
||
|
||
RSU.TY:! BLOCK 1 ;OBJECT TYPE
|
||
RSU.UN:! BLOCK 1 ;UNIT NUMBER
|
||
RSU.NO:! BLOCK 1 ;NODE
|
||
RSU.CO:! BLOCK 1 ;RESPONSE CODE
|
||
%RSUOK==0 ;SETUP OK
|
||
%RSUNA==1 ;OBJECT NOT AVAILABLE (TRY AGAIN LATER)
|
||
%RSUDE==2 ;OBJECT DOESNT EXIST (DONT TRY AGAIN)
|
||
%RSUNC==3 ;OBJECT PORT/LINE NOT CONDITIONED
|
||
RSU.CD:! BLOCK 1 ;RESPONSE REASON
|
||
;SEE OBJECT STATUS CODES IN OBJECT
|
||
; QUEUE DESCRIPTION
|
||
RSU.DA:! BLOCK 1 ;DEC DEVICE ATTRIBUTES
|
||
RSU.UT:! BLOCK 1 ;SIXBIT UNIT TYPE
|
||
RSU.PN:! BLOCK 1 ;PROTOTYPE NODE NAME (SIXBIT)
|
||
RSU.FL:! BLOCK 1 ;EXTRA ATTRIBUTE FLAGS
|
||
|
||
RSU.SZ:!
|
||
|
||
DEPHASE
|
||
SUBTTL The HOLD/RELEASE Message -- Function 25
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE MESSAGE HEADER \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! THE OBJECT QUEUE !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAGS !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ REQUEST DESCRIPTOR BLOCK \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
|
||
PHASE MSHSIZ ;STANDARD MESSAGE HEADER
|
||
|
||
HBO.OT:! BLOCK 1 ;OBJECT TYPE (QUEUE)
|
||
HBO.FL:! BLOCK 1 ;FLAGS
|
||
HB.FRL==1B0 ;RELEASE FLAG
|
||
HBO.RQ:! BLOCK RDBSIZ ;THE RDB SPECIFIED
|
||
|
||
HBO.SZ:! ;SIZE OF THE HBO MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL The SPOOL Message - Function 26 (sent by IPCC)
|
||
|
||
IFN FTUUOS,<
|
||
; !=======================================================!
|
||
; ! LENGTH ! FUNCTION 26 - SPOOL !
|
||
; !-------------------------------------------------------!
|
||
; ! ! JOB NUMBER ! JBTLOC(J) ! FLAGS !
|
||
; !-------------------------------------------------------!
|
||
; ! USERS NAME !
|
||
; ! 2 SIXBIT WORDS !
|
||
; !-------------------------------------------------------!
|
||
; ! DEVICE INIT'ED BY THE USER !
|
||
; !-------------------------------------------------------!
|
||
; ! STRUCTURE CONTAINING THE FILE !
|
||
; !-------------------------------------------------------!
|
||
; ! MONITOR GENERATED FILE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! ENTERED FILE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! FILE SIZE !
|
||
; !-------------------------------------------------------!
|
||
; ! FILE EXTENSION ! !
|
||
; !-------------------------------------------------------!
|
||
; ! NUMBER OF COPIES !
|
||
; !-------------------------------------------------------!
|
||
; ! FORMS NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! OUTPUT LIMIT !
|
||
; !-------------------------------------------------------!
|
||
; !SFL! FLAGS !DEV TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! DEVICE ATTRIBUTES !
|
||
; !-------------------------------------------------------!
|
||
; ! NODE !
|
||
; !-------------------------------------------------------!
|
||
; ! AFTER PARAMETER !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ ASCIZ ACCOUNT STRING \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
SPL.HD:! BLOCK 1 ;THE HEADER FROM IPCC
|
||
SPL.JB:! BLOCK 1 ;USERS JOB NUMBER
|
||
SP.STR==177000,,0 ;BATCH STREAM NUMBER
|
||
SP.JOB==777,,0 ;THE JOB NUMBER CLOSING THE SPOOLED FILE
|
||
SP.LOC==777B26 ;CURRENT REMOTE STATION (.LOCATE n)
|
||
SP.BAT==1B27 ;THIS IS FOR A BATCH JOB
|
||
SP.DFR==1B28 ;DEFERRED MODE SPOOLING
|
||
|
||
SPL.US:! BLOCK 2 ;THE USERS NAME (2 SIXBIT WORDS)
|
||
SPL.DV:! BLOCK 1 ;DEVICE INIT'ed BY THE USER (e.g. LPT0:)
|
||
SPL.ST:! BLOCK 1 ;STRUCTURE CONTAINING THIS FILE
|
||
SPL.FN:! BLOCK 1 ;MONITOR GENERATED FILE NAME
|
||
SPL.EN:! BLOCK 1 ;ENTERED FILE NAME
|
||
SPL.FS:! BLOCK 1 ;FILE SIZE (IN BLOCKS)
|
||
SPL.EX:! BLOCK 1 ;FILE EXTENSION
|
||
SP.EXT==-1,,0 ;IN LEFT HALF
|
||
SPL.CP:! BLOCK 1 ;# COPIES
|
||
SPL.FM:! BLOCK 1 ;FORMS NAME
|
||
SPL.LM:! BLOCK 1 ;OUTPUT LIMIT
|
||
SPL.SF:! BLOCK 1 ;SPOOLING FLAGS
|
||
SP.FLG==3B2 ;SPOOLING FLAG LOCATION
|
||
.SPDFD==1 ;DEFERED SPOOLING
|
||
.SPDFI==2 ;IMMEDIATE SPOOLING
|
||
SP.TYP==77 ;TYPE OF EDVICE
|
||
SPL.DA:! BLOCK 1 ;DEVICE ATTRIBUTES
|
||
SPL.ND:! BLOCK 1 ;NODE
|
||
SPL.AF:! BLOCK 1 ;AFTER PARM
|
||
BLOCK 2 ;SPARE SPOOLED PARAMETER WORDS
|
||
SPL.AC:! BLOCK 10 ;ASCIZ ACCOUNT STRING
|
||
|
||
SPL.SZ:! ;SIZE OF THE SPOOL MESSAGE
|
||
DEPHASE
|
||
|
||
> ;END IFN FTUUOS
|
||
|
||
IFN FTJSYS,<
|
||
|
||
; !=======================================================!
|
||
; ! FUNCTION 26 - SPOOL !
|
||
; !-------------------------------------------------------!
|
||
; ! # HEADER WORDS ! JOB NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAGS ! STATION NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! PROGRAM NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! BYTE SIZE ! NUMBER OF PAGES IN FILE !
|
||
; !-------------------------------------------------------!
|
||
; ! BYTE COUNT WHICH WOULD ADDRESS EOF !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; / FILESPEC FOR SPOOLED FILE /
|
||
; ! !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
SPL.HD:! BLOCK 1 ;HEADER FROM IPCC
|
||
SPL.JB:! BLOCK 1 ;JOB INFORMATION
|
||
SP.NHW==-1,,0 ;NUMBER OF HEADER WORDS
|
||
SP.JOB==0,,-1 ;JOB NUMBER
|
||
SPL.FL:! BLOCK 1 ;FLAGS
|
||
SP.BAT==1B0 ;JOB MAKE REQUEST IS A BATCH JOB
|
||
SP.DFR==1B1 ;REQUEST IS DEFERED
|
||
SP.LOC==0,,-1 ;STATION NUMBER
|
||
SPL.PG:! BLOCK 1 ;NAME OF PROGRAM WRITING FILE
|
||
SPL.BV:! BLOCK 1 ;CONTENTS OF FDBBYV
|
||
SP.SIZ==0,,-1 ;NUMBER OF PAGES IN FILE
|
||
SPL.EF:! BLOCK 1 ;BYTE COUNT WHICH ADDRESSES TO EOF
|
||
SPL.FI:! ;BEGINNING OF FILESPEC FOR SPOOLED FILE
|
||
|
||
SPL.SZ:! ;SPOOL MSG SIZE
|
||
|
||
DEPHASE
|
||
|
||
> ;END IFN FTJSYS
|
||
SUBTTL The LOGOUT Message - Function 27 (sent by IPCC)
|
||
|
||
IFN FTUUOS,<
|
||
|
||
; !=======================================================!
|
||
; ! LENGTH ! FUNCTION 27 - LOGOUT !
|
||
; !-------------------------------------------------------!
|
||
; ! ! JOB NUMBER ! JBTLOC(J) ! FLAGS !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
LGO.HD:! BLOCK 1 ;THE HEADER FROM IPCC
|
||
LGO.JB:! BLOCK 1 ;USERS JOB NUMBER
|
||
LG.STR==177000,,0 ;BATCH STREAM NUMBER
|
||
LG.JOB==777,,0 ;THE JOB NUMBER
|
||
LG.LOC==777B26 ;THE CURRENT LOCATION
|
||
LG.BAT==1B27 ;THIS IS A BATCH JOB
|
||
LG.DFR==1B28 ;DEFERRED MODE SPOOLING
|
||
LG.BSS==1B29 ;BATCH STREAM NUMBER SET
|
||
|
||
LGO.SZ:! ;SIZE OF THE LOGOUT MESSAGE
|
||
|
||
DEPHASE
|
||
|
||
> ;END IFN FTUUOS
|
||
|
||
IFN FTJSYS,<
|
||
|
||
; !=======================================================!
|
||
; ! FUNCTION 27 - LOGOUT !
|
||
; !-------------------------------------------------------!
|
||
; ! NO. OF HEADER WORDS ! JOB NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAGS ! STATION NUMBER !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
LGO.HD:! BLOCK 1 ;HEADER FROM IPCC
|
||
LGO.JB:! BLOCK 1 ;JOB INFORMATION
|
||
LG.NHW==-1,,0 ;NUMBER OF HEADER WORDS
|
||
LG.JOB==0,,-1 ;JOB NUMBER
|
||
|
||
LGO.FL:! BLOCK 1 ;FLAG WORD
|
||
LG.BAT==1B0 ;THIS WAS A BATCH JOB
|
||
LG.DFR==1B1 ;DEFERRED MODE SPOOLING
|
||
LG.LOC==0,,-1 ;JOBS STATION NUMBER
|
||
|
||
LGO.SZ:! ;SIZE OF THE LOGOUT MESSAGE
|
||
|
||
DEPHASE
|
||
|
||
> ;END IFN FTJSYS
|
||
|
||
SUBTTL MONITOR LOGIN MESSAGE PROCESSOR
|
||
|
||
|
||
TOPS10 <
|
||
PHASE 0
|
||
|
||
LGN.HD:! BLOCK 1 ;MESSAGE HEADER (LEN,,TYPE)
|
||
LGN.JB:! BLOCK 1 ;JOB DATA (SAME AS LGO.JB)
|
||
LGN.US:! BLOCK 2 ;SIXBIT USER NAME
|
||
LGN.PV:! BLOCK 1 ;USER PRIV WORD
|
||
LGN.TT:! BLOCK 1 ;USER TTY NUMBER (SIXBIT/TTYxxx/)
|
||
|
||
DEPHASE
|
||
|
||
> ;END TOPS10 CONDITIONAL
|
||
|
||
|
||
|
||
SUBTTL TAPE ONLINE MESSAGE Function 31 (sent by IPCC)
|
||
|
||
|
||
TOPS10 <
|
||
|
||
; !=======================================================!
|
||
; ! Length ! Function code !
|
||
; !-------------------------------------------------------!
|
||
; ! Device Name (Sixbit) !
|
||
; !-------------------------------------------------------!
|
||
; ! !Device Type !
|
||
; !=======================================================!
|
||
|
||
|
||
PHASE 0
|
||
|
||
.TONHD:! BLOCK 1 ;TAPE ONLINE MESSAGE HEADER
|
||
.TONDV:! BLOCK 1 ;TAPE ONLINE DEVICE
|
||
.TONST:! BLOCK 1 ;TAPE ONLINE DEVICE TYPE
|
||
TON.TY==77 ;DEVICE TYPE
|
||
|
||
DEPHASE
|
||
>
|
||
|
||
SUBTTL THE DEVICE STATUS UPDATE MESSAGE - FUNCTION 31
|
||
|
||
|
||
; !====================================================== !
|
||
; \ \
|
||
; \ THE MESSAGE HEADER \
|
||
; \ \
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE REQUESTED OBJECT BLOCK \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! THE DEVICE STATUS CODE !
|
||
; !=======================================================!
|
||
|
||
|
||
PHASE MSHSIZ ;STANDARD MESSAGE HEADER
|
||
|
||
STU.RB:! BLOCK OBJ.SZ ;THE OBJECT BLOCK YOU WANT
|
||
STU.CD:! BLOCK 1 ;THE DEVICE STATUS CODE
|
||
|
||
STU.SZ:!
|
||
|
||
;OPTIONAL DATA WHICH MAY BE INCLUDED IN THE STATUS MESSAGE
|
||
|
||
STU.PR:! BLOCK OBPRSZ ;DEPENDENT PARAMETERS
|
||
STU.ST:! BLOCK STSSIZ ;CURRENT JOB STATUS IN ASCIZ
|
||
|
||
STU.MX:! ;MAXIMUM SIZE
|
||
|
||
DEPHASE
|
||
|
||
SUBTTL TAPE DEASSIGN/DISMOUNT MESSAGE (IPCC FUNCTION 34)
|
||
|
||
|
||
; !=======================================================!
|
||
; ! LENGTH ! 34 !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT DEVICE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! DEVICE TYPE !
|
||
; !-------------------------------------------------------!
|
||
; ! JOB NUMBER !
|
||
; !=======================================================!
|
||
|
||
|
||
; This message consists of at least three words of common
|
||
; deassign data. For DECtapes and magtapes, additional
|
||
; words follow containing device specific data. These
|
||
; words begin at .TDMIN (the minimum length of the deassign
|
||
; message) and occupy only as many words as are required to
|
||
; contain data to be storred in the "MOUNT" (dismount) IPCF
|
||
; message sent to the Accounting Daemon.
|
||
|
||
PHASE 0 ;[1165] COMMON DEASSIGN DATA
|
||
|
||
.TDHDR:! BLOCK 1 ;HEADER
|
||
.TDDEV:! BLOCK 1 ;SIXBIT DEVICE NAME
|
||
.TDDVT:! BLOCK 1 ;DEVICE TYPE
|
||
TDD.DV==777777 ;[1234] DEVICE TYPE
|
||
TDD.FL==777777,,0 ;[1234] FLAGS SET BY MONITOR
|
||
TD.VSW==400000 ;[1234] VOLUME SWITCH STATS
|
||
|
||
.TDJBN:! BLOCK 1 ;USER JOB NUMBER
|
||
.TDMIN:! ;[1165] MINIMUM SIZE OF MESSAGE
|
||
|
||
DEPHASE ;[1165] END COMMON DEASSIGN DATA
|
||
|
||
|
||
PHASE .TDMIN ;[1165] DECTAPE SPECIFIC DATA
|
||
|
||
.TDDTR:! BLOCK 1 ;[1165] READS
|
||
.TDDTW:! BLOCK 1 ;[1165] WRITES
|
||
|
||
DEPHASE ;[1165] END DECTAPE SPECIFIC DATA
|
||
|
||
|
||
PHASE .TDMIN ;[1165] MAGTAPE SPECIFIC DATA
|
||
|
||
.TDCRD:! BLOCK 1 ;[1165] # CHARS READ SINCE UNLOAD
|
||
.TDCWR:! BLOCK 1 ;[1165] # CHARS WRITTEN SINCE UNLOAD
|
||
.TDSRE:! BLOCK 1 ;[1165] SOFT READ ERRORS
|
||
.TDHRE:! BLOCK 1 ;[1165] HARD READ ERRORS
|
||
.TDSWE:! BLOCK 1 ;[1165] SOFT WRITE ERRORS
|
||
.TDHWE:! BLOCK 1 ;[1165] HARD WRITE ERRORS
|
||
|
||
DEPHASE ;[1165] END MAGTAPE SPECIFIC DATA
|
||
SUBTTL Job reset message (IPCC function 37)
|
||
|
||
|
||
; !=======================================================!
|
||
; ! 2 ! 37 !
|
||
; !-------------------------------------------------------!
|
||
; ! Job number !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.RSTHD:! BLOCK 1 ;MESSAGE HEADER
|
||
.RSTJB:! BLOCK 1 ;JOB NUMBER
|
||
|
||
DEPHASE
|
||
SUBTTL Disk unit ATTACH/DETACH Message (IPCC FCN 42/43)
|
||
|
||
; !=======================================================!
|
||
; ! 4 ! 42/43 !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT UNIT NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! PRIMARY PORT !
|
||
; !-------------------------------------------------------!
|
||
; ! SECONDARY PORT !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.ATTHD:! BLOCK 1 ;MESSAGE HEADER
|
||
.ATTUN:! BLOCK 1 ;AFFECTED UNIT NAME
|
||
.ATTPR:! BLOCK 1 ;NEW PRIMARY PORT
|
||
.ATTSC:! BLOCK 1 ;NEW SECONDARY PORT OR 0
|
||
|
||
DEPHASE
|
||
SUBTTL Disk unit XCHANGE Message (IPCC function 44)
|
||
|
||
; !=======================================================!
|
||
; ! 3 ! .IPCXC (44) !
|
||
; !-------------------------------------------------------!
|
||
; ! First unit name in SIXBIT !
|
||
; !-------------------------------------------------------!
|
||
; ! Second unit name in SIXBIT !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.XCHHD:! BLOCK 1 ;MESSAGE HEADER
|
||
.XCHU1:! BLOCK 1 ;FIRST UNIT NAME IN SIXBIT
|
||
.XCHU2:! BLOCK 1 ;SECOND UNIT NAME IN SIXBIT
|
||
|
||
DEPHASE
|
||
SUBTTL Structure removal message (IPCC function 45)
|
||
|
||
|
||
; !=======================================================!
|
||
; ! 2 ! .IPCRM (45) !
|
||
; !-------------------------------------------------------!
|
||
; ! Structure name in SIXBIT !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.REMHD:! BLOCK 1 ;MESSAGE HEADER
|
||
.REMSN:! BLOCK 1 ;STRUCTURE NAME IN SIXBIT
|
||
|
||
DEPHASE
|
||
SUBTTL Magtape unit accessible message (IPCC function 46)
|
||
|
||
|
||
; !=======================================================!
|
||
; ! 2 ! .IPCMT (45) !
|
||
; !-------------------------------------------------------!
|
||
; ! Magtape unit name in SIXBIT !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.MTAHD:! BLOCK 1 ;MESSAGE HEADER
|
||
.MTAUN:! BLOCK 1 ;MAGTAPE UNIT NAME IN SIXBIT
|
||
|
||
DEPHASE
|
||
SUBTTL NODE-WENT-AWAY NOTIFICATION MESSAGE (FUNCTION 36)
|
||
|
||
|
||
|
||
; !=======================================================!
|
||
; ! !
|
||
; ! MESSAGE HEADER !
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
; ! ARGUMENT COUNT !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
; THE ONLY BLOCK DEFINED FOR THIS MESSAGE IS .OROBJ
|
||
; IT DEFINES THE NODE WHICH WENT OFFLINE
|
||
|
||
; The .OFLAG word will contain a port,,line # if the node was
|
||
; an IBM remote. It will be zero otherwise.
|
||
|
||
; Also: If the %ONLINE bit is lit in .MSFLG then this msg
|
||
; is a Node-Online Message
|
||
|
||
%ONLINE==1B3 ;MAKE THIS A NODE ONLINE MESSAGE
|
||
|
||
SUBTTL .QOCQE - CREATE QUEUE ENTRY MESSAGE (FUNCTION 37)
|
||
|
||
; !=======================================================!
|
||
; ! !
|
||
; ! MESSAGE HEADER !
|
||
; ! !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
; ! ARGUMENT COUNT !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
;THE MESSAGE BLOCK TYPES ARE:
|
||
|
||
.QCFIL==10 ;FILE SPEC BLOCK
|
||
|
||
;This block is the Standard Galaxy FD with .QCFIL put in
|
||
;the right half of the .FDLEN word.
|
||
|
||
.QCCOP==11 ;NUMBER OF COPIES BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCCOP !
|
||
; !-------------------------------------------------------!
|
||
; ! THE NUMBER OF COPIES OF THE FILE TO !
|
||
; ! BE OUTPUT !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCFRM==12 ;FORMS TYPE BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCFRM !
|
||
; !-------------------------------------------------------!
|
||
; ! THE FORMS TYPE YOU WANT (SIXBIT) !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCPTP==13 ;FILE FORMAT BLOCK (ASCII, FORTRAN, ETC)
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCPTP !
|
||
; !-------------------------------------------------------!
|
||
; ! THE FILE FORMAT TYPE (SEE .FPINF - FP.FFF) !
|
||
; !-------------------------------------------------------!
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
.QCODP==14 ;/DISP: OUTPUT DISPOSITION BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCODP !
|
||
; !-------------------------------------------------------!
|
||
; ! OUTPUT FILE DISPOSITION %PRESERVE or %DELETE !
|
||
; !-------------------------------------------------------!
|
||
|
||
%PRESERVE==0 ;DONT DELETE FILE AFTER PROCESSING
|
||
%DELETE==1 ;DELETE FILE AFTER PROCESSING
|
||
%RENAME==2 ;RENAME THE FILE INTO DSK:[3,3]
|
||
|
||
.QCUNT==15 ;UNIT TYPE (/UNIT:, /LOWER, /UPPER)
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCUNT !
|
||
; !-------------------------------------------------------!
|
||
; ! DEVICE ATTRUBUTES ( %LOWER,%UPPER,%GENRC,%PHYCL) !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCAFT==16 ;/AFTER BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCAFT !
|
||
; !-------------------------------------------------------!
|
||
; ! /AFTER TIME (IN UDT FORMAT) !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCLIM==17 ;LIMIT BLOCK (/TIME:, /PAGES:, ETC)
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCLIM !
|
||
; !-------------------------------------------------------!
|
||
; ! LIMIT BLOCK (# OF PAGES,ETC or TIME IN SECS) !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCUNI==20 ;/UNIQUE BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCUNI !
|
||
; !-------------------------------------------------------!
|
||
; ! /UNIQUE: VALUE (%EQUNO or %EQUYE) !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCRES==21 ;/RESTART BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCRES !
|
||
; !-------------------------------------------------------!
|
||
; ! /RESTART: VALUE (%EQRNO or %EQRNY) !
|
||
; !-------------------------------------------------------!
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
.QCLOG==22 ;/OUTPUT: (LOG,NOLOG,ERROR)
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCLOG !
|
||
; !-------------------------------------------------------!
|
||
; ! /OUTPUT: VALUE (%EQONL or %EQOLG or %EQOLE) !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCACT==23 ;/ACCOUNT: ACCOUNT STRING BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH ! .QCACT !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ USERS ACCOUNT STRING IN ASCIZ \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCQUE==24 ;QUEUE TYPE BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCQUE !
|
||
; !-------------------------------------------------------!
|
||
; ! QUEUE TYPE (SEE GLXMAC OBJ.TY FIELD) !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCNOD==25 ;/NODE: DESTINATION NODE BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCNOD !
|
||
; !-------------------------------------------------------!
|
||
; ! DESTINATION NODE NUMBER OR SIXBIT NODE NAME !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCNAM==26 ;USERS NAME BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH ! .QCNAM !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ USERS NAME (ASCIZ ON -20, SIXBIT ON THE -10) \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
|
||
.QCOID==27 ;USERS NUMBER BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCOID !
|
||
; !-------------------------------------------------------!
|
||
; ! USERS ID (36 BIT USER ID ON -20, PPN ON -10) !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.QCNOT==30 ;/NOTIFY BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCNOT !
|
||
; !-------------------------------------------------------!
|
||
; ! /NOTIFY VALUE (%NOTTY, %NOTML, %NOTJB) !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.QCBLT==31 ;/BATLOG: BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCBLT !
|
||
; !-------------------------------------------------------!
|
||
; ! /BATLOG VALUE (%BAPND or %BSCDE or %BSPOL) !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.QCJBN==32 ;JOB NAME
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCJBN !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT JOB NAME !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.QCCDI==33 ;CONNECTED DIRECTORY BLOCK
|
||
|
||
TOPS20 <
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCCDI !
|
||
; !-------------------------------------------------------!
|
||
; ! 36 BIT CONNECTED DIRECTORY NUMBER !
|
||
; !-------------------------------------------------------!
|
||
>
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
|
||
TOPS10 <
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH 2-6 ! .QCCDI !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ USER PATH BLOCK \
|
||
; \ UP TO 6 WORDS \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
>
|
||
|
||
.QCNTE==34 ;/NOTE: BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH 1-2 ! .QCNTE !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ 1 TO 12 SIXBIT CHARACTERS \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.QCBGN==35 ;/BEGIN: BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCBGN !
|
||
; !-------------------------------------------------------!
|
||
; ! BEGINNING PAGE NUMBER FOR STARTING OUTPUT !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.QCPRI==36 ;/PRIORITY: BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCPRI !
|
||
; !-------------------------------------------------------!
|
||
; ! PRIORITY (1 TO 20 OR 1 TO 77) !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCFRR==37 ;FREE RUNNING DEVICE LIMIT BLOCK (IE DBMS)
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! LENGTH 1 - EQLMSZ ! .QCFRR !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ 1 TO EQLMSZ LIMIT WORDS \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCAST==60 ;OPERATOR INTERVENTION BLOCK (BATCH)
|
||
;/ASSIST: SWITCH FUNCTIONALITY
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCAST !
|
||
; !-------------------------------------------------------!
|
||
; ! /ASSIST:YES .OPINY==1, /ASSIST:NO .OPINN==2 !
|
||
; !-------------------------------------------------------!
|
||
|
||
.QCPRC==61 ;IBMCOM PROCESSING NODE BLOCK
|
||
;/PROCESSING SWITCH FUNCTIONALITY
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK LENGTH (2) ! .QCPRC !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT NODE NAME OR OCTAL NUMBER !
|
||
; !-------------------------------------------------------!
|
||
|
||
SUBTTL RECOGNIZE MESSAGE (FUNCTION .QOREC - 40)
|
||
|
||
TOPS10<
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / MESSAGE HEADER /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK COUNT (1) !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
;THE ONLY BLOCK DEFINED IS .RECDV WHICH CONTAINS THE
|
||
;SIXBIT DEVICE NAME
|
||
|
||
.RECDV==3 ;DEFINE THE DEVICE NAME BLOCK TYPE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .RECDV !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT DEVICE NAME !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.RECDN:! BLOCK 1 ;SIXBIT DEVICE NAME
|
||
.RECSZ:! ;SIZE OF THE BLOCK
|
||
|
||
DEPHASE
|
||
|
||
>;END TOPS10
|
||
|
||
SUBTTL Tape status message (.QOTST functions 41)
|
||
|
||
TOPS10<
|
||
; !=======================================================!
|
||
; / EXPANDED GALAXY MESSAGE HEADER /
|
||
; !-------------------------------------------------------!
|
||
|
||
;There are 3 blocks defined for this message: .TLSTA & .DSSTA
|
||
; and .STSTS.
|
||
|
||
;The Device Status Block (.STSTS)
|
||
|
||
.STSTS==10 ;UNIT STATUS BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 3 ! .STSTS !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT DEVICE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! DEVICE STATUS BITS !
|
||
; !-------------------------------------------------------!
|
||
|
||
PHASE 0
|
||
|
||
.STUNT:! BLOCK 1 ;UNIT NAME IN SIXBIT
|
||
.STFLG:! BLOCK 1 ;UNIT STATUS BITS (DEVICE DEPENDENT)
|
||
ST.OFL==1B0 ;ON IF UNIT IS OFF-LINE
|
||
ST.LOK==1B1 ;ON IF UNIT IS WRITE-LOCKED
|
||
TS.DEN==77B8 ;ACTUAL DENSITY OF TAPE (SEE UUOSYM)
|
||
TS.LAB==77B14 ;TAPE LABEL TYPE (SEE UUOSYM)
|
||
.STLEN:! ;UNIT STATUS BLOCK LENGTH
|
||
|
||
DEPHASE
|
||
|
||
|
||
;The magtape volume status block (.TLSTA)
|
||
|
||
.TLSTA==12 ;MAGTAPE STATUS BLOCK TYPE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .TLSTA !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT VOLUME ID !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.TLVOL:! BLOCK 1 ;SIXBIT VOLUME ID
|
||
.TLSIZ:! ;MAGTAPE STATUS BLOCK SIZE
|
||
DEPHASE
|
||
|
||
|
||
;The DECtape volume status block (.DLSTA)
|
||
|
||
.DLSTA==13 ;DECTAPE STATUS BLOCK TYPE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .DLSTA !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT REELID !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
|
||
.DLRID:! BLOCK 1 ;SIXBIT REELID
|
||
.DLSIZ:! ;DECTAPE STATUS BLOCK SIZE
|
||
DEPHASE
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
|
||
;The disk structure status block (.DSSTA)
|
||
|
||
.DSSTA==14 ;DISK STATUS BLOCK TYPE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 6 ! .DSSTA !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT HOME BLOCK ID !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT NEXT VOL ID !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT PREVIOUS VOL ID !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT STRUCTURE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! OWNER PPN !
|
||
; !=======================================================!
|
||
|
||
PHASE 0
|
||
.DSHID:! BLOCK 1 ;HOME BLOCK ID IN SIXBIT
|
||
.DSNXV:! BLOCK 1 ;NEXT VOLUME IN STRUCTURE IN SIXBIT
|
||
.DSLUN:! BLOCK 1 ;LOGICAL UNIT NUMBER
|
||
.DSSNM:! BLOCK 1 ;STRUCTURE NAME IN SIXBIT
|
||
.DSPPN:! BLOCK 1 ;OWNER PPN
|
||
.DSSIZ:! ;DISK STATUS BLOCK SIZE
|
||
DEPHASE
|
||
>;END TOPS10
|
||
|
||
SUBTTL TAPE DRIVE UNLOAD MESSAGE (FUNCTION .QOUNL - 42)
|
||
|
||
;ALSO TAPE DRIVE REWIND MESSAGE (FUNCTION .QOREW - 47)
|
||
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / MESSAGE HEADER /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK COUNT (1) !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
;THE ONLY BLOCK DEFINED IS .RECDV WHICH CONTAINS THE
|
||
;SIXBIT DEVICE NAME
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .RECDV !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT DEVICE NAME !
|
||
; !=======================================================!
|
||
SUBTTL Volume Mounted message to tape labeller (.QOVMN = 43)
|
||
|
||
TOPS10<
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / MESSAGE HEADER /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK COUNT (2) !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
|
||
;ONE BLOCK IS .RECDV WHICH CONTAINS THE
|
||
;SIXBIT DEVICE NAME
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .RECDV !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT DEVICE NAME !
|
||
; !=======================================================!
|
||
|
||
;THERE IS ONE VOLUME (SET) BLOCK ATTACHED TO THE MESSAGE
|
||
;THIS BLOCK DESCRIBE THE INITIAL VOLUME BEING GIVEN TO THE
|
||
;USER AND THE FIRST VOLUME IN THE VOLUME SET
|
||
|
||
.VOLMN==4 ;BLOCK TYPE FOR THE VOLUME BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT VOLUME ID FOR MOUNTED VOLUME !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT VOLUME ID FOR FIRST VOLUME IN SET !
|
||
; !-------------------------------------------------------!
|
||
; !LABEL TYPE!WLOCK!JOB #! !
|
||
; !-------------------------------------------------------!
|
||
|
||
PHASE 0 ;DEFINE THE CONTENTS OF THE BLOCK
|
||
|
||
.VMNIV:! BLOCK 1 ;SIXBIT NAME OF INITIAL VOLUME
|
||
.VMNFV:! BLOCK 1 ;SIXBIT NAME OF FIRST VOL IN SET
|
||
.VMNIN:! BLOCK 1 ;INFORMATION ABOUT THE VOL SET
|
||
VI.LTY==77B5 ;LABEL TYPE
|
||
VI.WLK==1B6 ;WRITE LOCKED IF 1
|
||
VI.JOB==777B17 ;JOB NUMBER OF REQUESTOR
|
||
.VMNSZ:! ;SIZE OF THE BLOCK (WITHOUT HEADER)
|
||
|
||
>;END TOPS10
|
||
SUBTTL Volume dismounted message to tape labeller (.QOVDM = 44)
|
||
|
||
TOPS10<
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / MESSAGE HEADER /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK COUNT (1) !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
|
||
;THE ONLY BLOCK DEFINED IS .RECDV WHICH CONTAINS THE
|
||
;SIXBIT DEVICE NAME
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .RECDV !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT DEVICE NAME !
|
||
; !=======================================================!
|
||
>;END TOPS10
|
||
SUBTTL Volume switch request from tape labeller (.QOVSR = 45)
|
||
|
||
TOPS10<
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / MESSAGE HEADER /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK COUNT (2) !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
|
||
;ONE BLOCK IS A .RECDV BLOCK WHICH HAS THE
|
||
;SIXBIT DEVICE NAME OF THE DRIVE NEEDING A NEW VOLUME
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .RECDV !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT DEVICE NAME !
|
||
; !=======================================================!
|
||
|
||
;THE OTHER BLOCK DESCRIBES WHICH VOLUME OF THE SET IS
|
||
;NEEDED BY THE USER ON THAT DRIVE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .RLVOL !
|
||
; !-------------------------------------------------------!
|
||
; !WRT! RELATIVE VOLUME CODE !
|
||
; !=======================================================!
|
||
|
||
.RLVOL==4
|
||
|
||
PHASE 0
|
||
|
||
.RLVCD:! BLOCK 1 ;SPACE FOR THE RELATIVE VOLUME CODE
|
||
%VWRT==1B0 ;WANT TO USE 'NEXT' VOLUME FOR WRITING
|
||
RLV.CD==7 ;WHERE THE CODE GOES
|
||
%RLNXT==1 ;GET THE NEXT VOLUME
|
||
%RLPRV==2 ;GET THE PREVIOUS VOLUME
|
||
%RLFIR==3 ;GET THE FIRST VOLUME OF THE SET
|
||
%RLABO==4 ;[1162] PULSAR ABORTING VOL SWITCH
|
||
|
||
.RLVSZ:! ;SIZE OF THIS BLOCK
|
||
|
||
DEPHASE
|
||
|
||
>;END TOPS10
|
||
SUBTTL Volume Switch Directive From MDA to Tape Labeler (.QOVSD - 46)
|
||
|
||
TOPS10<
|
||
|
||
;This message is sent by MDA in response to a volume switch request
|
||
; message from the tape labeller. It directs the labeller
|
||
; to continue the labelling process on the same drive
|
||
; or on another drive which the OPR/MDA has chosen
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / MESSAGE HEADER /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK COUNT (1) !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
|
||
;Flags for this message
|
||
|
||
%VEOF==1B0 ;There are no more volumes in the set
|
||
;give EOF to the requestor
|
||
%VABT==1B1 ;OPR has aborted the volume
|
||
;switch request
|
||
%VTMV==1B2 ;Too many volumes in the
|
||
;volume set
|
||
|
||
;There are two blocks passed on this message
|
||
;One is the Volume set directive block which describes
|
||
;the two drives being swapped, and the other is a Volume
|
||
;info block describing the new volume in use, its label type,
|
||
;and its write enable/lock status
|
||
|
||
|
||
.VSDBL==12 ;VOLUME SET DIRECTIVE BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 4 ! .VSDBL !
|
||
; !-------------------------------------------------------!
|
||
; ! INITIAL DRIVE NAME IN SIXBIT !
|
||
; !-------------------------------------------------------!
|
||
; ! CURRENT DRIVE NAME IN SIXBIT !
|
||
; !-------------------------------------------------------!
|
||
; ! CURRENT VOLUME NAME !
|
||
; !=======================================================!
|
||
|
||
|
||
PHASE 0
|
||
|
||
.VSDID:! BLOCK 1 ;INITIAL DRIVE NAME
|
||
.VSDCD:! BLOCK 1 ;CURRENT DRIVE NAME
|
||
|
||
VSDLEN:! ;BLOCK LENGTH
|
||
|
||
DEPHASE
|
||
|
||
>;END TOPS10
|
||
SUBTTL Request for System Catalog Information (.QORCT)
|
||
|
||
;This message is sent to the Tape Labeler Requesting information
|
||
;from the System Catalog (STRLST for now).
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ Standard Galaxy Header \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
;There is one block defined for this message, .RCTVS
|
||
|
||
.RCTVS==12 ;Asciz Volume Set Name
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! Length ! .RCTVS !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ Volume Set Name in Asciz \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
PHASE 0
|
||
.RCTAV: BLOCK 1 ;VOLUME SET NAME
|
||
.RCTLN: ;MINIMUM BLOCK LENGTH
|
||
DEPHASE
|
||
SUBTTL Catalog information message (.QOCAT)
|
||
|
||
; This message is sent from the system catalog to QUASAR
|
||
; in response to a .QORCT message.
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ Standard Galaxy Header \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
; This message consists of at least two argument blocks.
|
||
; The first is the .RCTVS block, which tells the
|
||
; volume set being "looked up" in the catalog.
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! Length ! .RCTVS !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ Volume Set Name in Asciz \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
; The second is the .CVSFS block, which describes
|
||
; the information in the catalog about the volume set
|
||
; asked for. This second block is the last block if
|
||
; the catalog contains no information about the volume set
|
||
; (in this case, the error bit is on)
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! Length ! .CVSFS !
|
||
; !-------------------------------------------------------!
|
||
; ! ! # of volumes !
|
||
; !-------------------------------------------------------!
|
||
; ! Owner's PPN !
|
||
; !-------------------------------------------------------!
|
||
; \ Owner's name \
|
||
; \ (SIXBIT) \
|
||
; !-------------------------------------------------------!
|
||
|
||
.CVSFS==.RCTVS+1 ;Block type
|
||
|
||
PHASE 0 ;At end of Block header
|
||
.CVSNV:! BLOCK 1 ;# of volumes
|
||
CVS.NV==RHMASK ;Number of volumes
|
||
;(# of .CVLPR blocks following)
|
||
.CVSOW:! BLOCK 1 ;PPN of owner
|
||
.CVSON:! BLOCK EQNMSZ ;Owner name
|
||
.CVSLN:! ;Length of the block
|
||
DEPHASE
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
; These blocks are generally followed by (n) .CVLPR blocks,
|
||
; one for each volume in the volume set
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! Length ! .CVLPR !
|
||
; !-------------------------------------------------------!
|
||
; ! Volume ID (SIXBIT) !
|
||
; !-------------------------------------------------------!
|
||
; ! !Kon!Uni!Cls!
|
||
; !-------------------------------------------------------!
|
||
|
||
.CVLPR==.CVSFS+1 ;Block type
|
||
|
||
PHASE 0 ;After arg block header
|
||
|
||
.CVLID:! BLOCK 1 ;Volume ID (SIXBIT)
|
||
.CVLST:! BLOCK 1 ;Status bits
|
||
CVL.KT==77000 ;[1215] Kontroller type
|
||
CVL.UT==70 ;Unit type
|
||
CVL.CL==7 ;Class (?)
|
||
.CVLLN:! ;Length of block
|
||
|
||
DEPHASE
|
||
SUBTTL Internal catalog cache structure
|
||
|
||
|
||
; Volume-set identifier block
|
||
PHASE 0
|
||
.CQVSN:! BLOCK VSNSIZ ;VOLUME-SET NAME (7-BIT ASCIZ)
|
||
.CQFLG:! BLOCK 1 ;FLAGS
|
||
CQ.USE==777777B17 ;CATALOG CACHE ENTRY USE COUNT
|
||
CQ.TYP==7B32 ;VOLUME-SET TYPE
|
||
CQ.BLD==7B35 ;BUILD CODE
|
||
.CQCAT==0 ;FROM [SYSTEM]CATALOG
|
||
.CQQSR==1 ;CREATED BY QUASAR
|
||
.CQNVL:! BLOCK 1 ;NUMBER OF VOLUMES
|
||
.CQVUS:! BLOCK 1 ;OWNER PPN (USER)
|
||
.CQVNM:! BLOCK NAMSIZ ;8-BIT 39 CHARACTER ASCIZ NAME
|
||
.CQVLO:! BLOCK LOCSIZ ;8-BIT 19 CHARACTER ASCIZ LOCATION TEXT
|
||
.CQVSC:! BLOCK 1 ;VOLUME-SET CHARACTERISTICS
|
||
.CQVSL:! ;VOLUME-SET BLOCK LENGTH
|
||
DEPHASE
|
||
|
||
|
||
; Volume Block
|
||
PHASE 0
|
||
.CQVID:! BLOCK 1 ;VOLUME ID (SIXBIT)
|
||
.CQRSN:! BLOCK 1 ;VOLUME RESOURCE NUMBER
|
||
.CQVLL:! ;VOLUME BLOCK LENGTH
|
||
DEPHASE
|
||
SUBTTL BUILD A STRUCTURE MESSAGE (.QOBLD)
|
||
;
|
||
; DISMOUNT A STRUCTURE MESSAGE (.QODSM)
|
||
|
||
;This message is sent to the Tape Labeler to define what volumes
|
||
;comprise a structure
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ Standard Galaxy Header \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
; There are two flags in .OFLAG, for the /REMOVE and /NOCHECK switchs
|
||
; The flags are defined in ORNMAC, and passed in to QUASAR and
|
||
; out to the tape labeler.
|
||
; The bits are .DMRMV for /REMOVE and .DMNCK for /NOCHECK.
|
||
; One additional field is only of interest to QUASAR and PULSAR.
|
||
; and is defined here. It indicates the number of queue requests
|
||
; requiring a structure.
|
||
|
||
.DMNRQ==7777B35 ;NUMBER OF QUEUE REQUESTS REQUIRING STR
|
||
|
||
|
||
;There are 2 blocks defined for this message, .BLDSN
|
||
; and .BLDUN
|
||
|
||
.BLDSN==5 ;STRUCTURE NAME BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 3 ! .BLDSN !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT STRUCTURE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! OWNERS PPN !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
PHASE 0
|
||
.BLDNM:! BLOCK 1 ;SIXBIT STRUCTURE NAME
|
||
.BLDOW:! BLOCK 1 ;OWNERS PPN
|
||
.BLDLN:! ;BLOCK LENGTH
|
||
DEPHASE
|
||
|
||
|
||
.BLDUN==7 ;UNIT(S) BLOCK
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! n ! .BLSUN !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT UNIT NAME #1 !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT HOME BLOCK NAME #1 !
|
||
; !-------------------------------------------------------!
|
||
; \ . \
|
||
; \-------------------------------------------------------\
|
||
; \ . \
|
||
; \-------------------------------------------------------\
|
||
; \ . \
|
||
; \-------------------------------------------------------\
|
||
; ! SIXBIT UNIT NAME # n !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT HOME BLOCK NAME #n !
|
||
; !-------------------------------------------------------!
|
||
|
||
SUBTTL MDA ACK MESSAGE (.QOACK)
|
||
|
||
;This message is sent by the Tape Labeler to QUASAR to ACK
|
||
;certain actions requested by QUASAR.
|
||
|
||
|
||
; !=======================================================!
|
||
; ! LENGTH ! .QOACK ! .MSTYP
|
||
; !-------------------------------------------------------!
|
||
; ! ! .MSCOD
|
||
; !-------------------------------------------------------!
|
||
; !NAK! ! Ack Type ! .MSFLG
|
||
; !-------------------------------------------------------!
|
||
; ! 0 ! .OFLAG
|
||
; !-------------------------------------------------------!
|
||
; ! BLOCK COUNT ! .OARGC
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
;The .MSFLG word contains the NAK bit (sign bit). If this bit is
|
||
; on, the the message is a NAK.
|
||
;The AK.TYP field describes what flavor of ACK/NAK this message is
|
||
;In addition, the message may have some number (0-n) of qualifier
|
||
; argument blocks tacked on.
|
||
|
||
;FIELDS OF .MSFLG:
|
||
AK.NAK==MF.FAT ;THIS MESSAGE IS A NAK, NOT AN ACK
|
||
AK.TYP==RHMASK ;FIELD FOR TYPE OF ACK/NAK
|
||
;The valid ACK/NAK flavors are:
|
||
%MOUNT==1 ;MOUNT STRUCTURE ACK
|
||
%DSMNT==2 ;DISMOUNT STRUCTURE ACK
|
||
%CATLG==3 ;CATALOG REQUEST ACK (ONLY ON ERROR)
|
||
%ADSTR==4 ;ADD STRUCTURE TO SEARCH LIST ACK
|
||
%RMSTR==5 ;REMOVE STRUCTURE FROM A SEARCH LIST ACK
|
||
%MNTNO==6 ;MOUNT STRUCTURE ACK (NO OWNER PPN)
|
||
|
||
;The allowable argument blocks follow:
|
||
|
||
; .RCTVS ;VOLUME SET BLOCK
|
||
|
||
.ACUFD==.RCTVS+1 ;QUALIFIER FOR ADD-TO-SEARCH-LIST ACK
|
||
;INDICATES NO UFD CREATED ON STR
|
||
;LENGTH = 1
|
||
|
||
.ACQTO==.ACUFD+1 ;QUALIFIER FOR REMOVE-FROM-SEARCH-LIST NAK
|
||
;INDICATES USER IS OVER QUOTA BY N
|
||
;BLOCKS. N IS THE ARG.DA WORD OF THE BLOCK
|
||
;LENGTH = 2
|
||
SUBTTL ADD/REMOVE A STRUCTURE TO A USERS SEARCH LIST MESSAGE (.QOASL)
|
||
|
||
|
||
;This message is sent to the tape labeler to add a structure to that
|
||
;users search list. The flag bits are stored in .OFLAG.
|
||
;The only block defined for this message is .BLDSN
|
||
|
||
|
||
;If bit ASL.RM is lit in .OFLAG, Then this is a request
|
||
;to remove the structure from the users search list
|
||
;If bit ASL.RM is on, then ASL.NQ may be lit indicating
|
||
;No quota check is to be performed. This is lit when MDA
|
||
;wants to take back a structure to keep deadlocks
|
||
;straight, and can't be bothered with quota checks.
|
||
|
||
|
||
; !=======================================================!
|
||
; ! 10 ! .QOASL ! .MSTYP
|
||
; !-------------------------------------------------------!
|
||
; ! ! .MSCOD
|
||
; !-------------------------------------------------------!
|
||
; ! ! .MSFLG
|
||
; !-------------------------------------------------------!
|
||
; !WL!NC!PS!SA!NQ! !JOB NUMBER ! .OFLAG
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
ASL.WL==1B0 ;ADD STRUCTURE 'WRITE LOCKED'
|
||
ASL.NC==1B1 ;ADD STRUCTURE 'NO CREATE'
|
||
ASL.PS==1B2 ;ADD STRUCTURE 'PASSIVE'
|
||
ASL.SA==1B3 ;ADD STRUCTURE 'SINGLE ACCESS'
|
||
ASL.RM==1B4 ;REMOVE THIS STR FROM USER SEARCH LIST
|
||
ASL.NQ==1B5 ;IF REMOVING, DON'T ENFORCE QUOTAS
|
||
ASL.AR==1B6 ;ALWAYS RECOMPUTE
|
||
ASL.NR==1B7 ;NEVER RECOMPUTE
|
||
ASL.JB==777B35 ;USERS JOB NUMBER
|
||
|
||
|
||
SUBTTL DISMOUNT/DEALLOCATE A VOLUME SET MESSAGE (.QODVS)
|
||
|
||
;This Message is sent by the user to dismount or deallocate a
|
||
;volume set
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ Standard Galaxy Msg Header \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; ! Message flags (.OFLAG) !
|
||
; !-------------------------------------------------------!
|
||
; ! Block count (.OARGC) !
|
||
; !_______________________________________________________!
|
||
|
||
|
||
;The allowable message flags are:
|
||
|
||
; MM.DLC==MM.DLC ;Remove from jobs allocation state
|
||
|
||
|
||
;There are two blocks defined for this message, .RECDV (Device Name)
|
||
; and .RCTVS (Volume Set Name)
|
||
|
||
;Either type of block can be sent, but not both. On Deallocate, if
|
||
; .RCTVS is sent, the volume set name is also treated as a logical
|
||
; name. If the volume set name does not match for this user, the
|
||
; first 6 characters are treated as a logical name and this is used
|
||
; for a logical name search.
|
||
|
||
;.RECDV defined in Recognize message
|
||
|
||
; .RECDV==3 ;DEFINE THE DEVICE NAME BLOCK TYPE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .RECDV !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT DEVICE NAME !
|
||
; !=======================================================!
|
||
|
||
; PHASE 0
|
||
;
|
||
;.RECDN:! BLOCK 1 ;SIXBIT DEVICE NAME
|
||
;.RECSZ:! ;SIZE OF THE BLOCK
|
||
;
|
||
; DEPHASE
|
||
|
||
|
||
;.RCTVS defined in Catalog message
|
||
|
||
; .RCTVS==12 ;Asciz Volume Set Name
|
||
;
|
||
; !-------------------------------------------------------!
|
||
; ! Length ! .RCTVS !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ Volume Set Name in Asciz \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
;
|
||
;
|
||
; PHASE 0
|
||
; .RCTAV: BLOCK 1 ;VOLUME SET NAME
|
||
; .RCTLN: ;MINIMUM BLOCK LENGTH
|
||
; DEPHASE
|
||
SUBTTL .QOLAC - List allocations for a job
|
||
|
||
SUBTTL .QOALC - Prescan a control file for allocations
|
||
|
||
;This message is sent from QUASAR to the batch control file scanner
|
||
; (currently BATCON)
|
||
; to extract the batch job's required mountable
|
||
; device requirements before scheduling the stream
|
||
;This message is just a NEXTJOB message with an EQ already built,
|
||
; and all of the requisite FPs, and FDs attached
|
||
; In particular, the .EQRID field must be supplied.
|
||
SUBTTL .QOPRM - Response to .QOALC request
|
||
|
||
;This message is sent from the batch control file scanner
|
||
; to QUASAR after that process has performed pre-scanning of
|
||
; a control file for mountable device requirements
|
||
|
||
;The contents of this message are identical to the .QOMNT message
|
||
; except that the ME entries may have varying allocate/mount requirements
|
||
;Also, there is a bit defined in .OFLAG which indicates that
|
||
; there were no allocations found.
|
||
;The batch control file scanner extracts the Request
|
||
; ID from the EQ in the .QOALC message and places it in the .QOPRM
|
||
; message (in OFLAG, actually) so that QUASAR can line up the response
|
||
; with a waiting batch request
|
||
|
||
; .OFLAG==.OFLAG ;Bits in the flag word
|
||
PR.NON==1B0 ;No allocations found
|
||
PR.RID==MR.JOB-BA%JOB ;Request ID for identification
|
||
SUBTTL .QOIDN - Tape Initialization Done message
|
||
|
||
;This message is set by PULSAR to QUASAR when a tape
|
||
; initialization sequence is finished. The message tells QUASAR that
|
||
; the drive is now available for use.
|
||
|
||
;The message contains only one block. a .RECDV block
|
||
; which contains the drive name which is finished
|
||
|
||
SUBTTL LPTSPL forms change message (.QOFCH (63) )
|
||
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ Standard Galaxy Msg Header \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; ! New forms type in sixbit (.OFLAG) !
|
||
; !-------------------------------------------------------!
|
||
; ! Block count = 1 (.OARGC) !
|
||
; !_______________________________________________________!
|
||
|
||
; !_______________________________________________________!
|
||
; ! OBJ.SZ ! .OROBJ !
|
||
; !_______________________________________________________!
|
||
; \ \
|
||
; \ OBJECT BLOCK \
|
||
; !_______________________________________________________!
|
||
|
||
|
||
SUBTTL IBMCOM Statistice message (.QOIBM)
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ Standard Galaxy Msg Header \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
; ! Statistics update code !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
IFN FTDN60,<
|
||
XP FTIBMS,-1> ;Include IBM statistics
|
||
IFE FTDN60,<
|
||
XP FTIBMS,0> ;But only if IBMCOM is used
|
||
|
||
;Possible statistics codes are:
|
||
|
||
%TINP==1 ;Termination batch requests (CDRIVE)
|
||
%TOUT==2 ;Termination printer requests (LPTSPL)
|
||
%TCNI==3 ;Termination console input (CDRIVE)
|
||
%TCNO==4 ;Termination console output (LPTSPL)
|
||
|
||
%EINP==5 ;Emulation batch requests (IBMSPL)
|
||
%EOUT==6 ;Emulation printer requests (IBMSPL)
|
||
%ECNI==7 ;Emulation console input (IBMSPL)
|
||
%ECNO==8 ;Emulation console output (IBMSPL)
|
||
SUBTTL THE FAL STATUS UPDATE MESSAGE - FUNCTION 71
|
||
|
||
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ THE MESSAGE HEADER \
|
||
; \ \
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ FAL STREAM OBJECT BLOCK \
|
||
; \ \
|
||
; !=======================================================!
|
||
; ! FAL STREAM STATUS CODE !
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ OBJECT BLOCK PARAMETER WORDS \
|
||
; \ \
|
||
; !=======================================================!
|
||
; \ \
|
||
; \ FAL STREAM STATUS (ASCIZ) \
|
||
; \ \
|
||
; !=======================================================!
|
||
|
||
PHASE STU.SZ ;STANDARD MESSAGE HEADER
|
||
|
||
;FAL STATUS UPDATE MESSAGE IS REGULAR (.QOSTU) STATUS UPDATE MESSAGE
|
||
;WITH OBJECT BLOCK PARAMETER WORDS AND STATUS STRING WORDS ADDED.
|
||
|
||
FAL.PR:! BLOCK OBPRSZ ;DEPENDENT PARAMETERS
|
||
FAL.ST:! BLOCK STSSIZ ;CURRENT JOB STATUS IN ASCIZ
|
||
|
||
FAL.SZ:!
|
||
|
||
DEPHASE
|
||
|
||
SUBTTL Binary list request message (.QOBLR)
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
; ! QUEUE !
|
||
; !=======================================================!
|
||
|
||
PHASE MSHSIZ ;APPEND TO THE MESSAGE HEADER
|
||
|
||
LIS.QU:! BLOCK 1 ;THE QUEUE(S) TO LIST
|
||
LIS.SZ:! ;SIZE OF THE BINARY LIST MESSAGE
|
||
|
||
;LIS.QU contains the same bits as the .LSQUE block in the ASCII
|
||
;list message.
|
||
|
||
DEPHASE
|
||
SUBTTL Binary list answer message (.QOBLA)
|
||
|
||
; !=======================================================!
|
||
; / /
|
||
; / THE MESSAGE HEADER /
|
||
; / /
|
||
; !=======================================================!
|
||
|
||
;A single LIST message may generate more than one LISTANSWER response.
|
||
;The LST.MS word of the LISTANSWER message is used to indicate how many
|
||
;responses were sent. The RH of this word is a sequenced count of the
|
||
;number of LISTANSWER pages sent. The sign bit is set for the last of
|
||
;the LISTANSWER responses.
|
||
|
||
PHASE MSHSIZ ;APPEND TO THE MESSAGE HEADER
|
||
LST.MS:! BLOCK 1 ;MESSAGE SEQUENCE NUMBER
|
||
LST.FT:! ;THE FIRST ANSWER IN THIS BLOCK
|
||
|
||
;Each answer is in QE format. If .QECRE is zero the last entry in
|
||
;the page was the last QE to be listed.
|
||
|
||
LST.NU==<PAGSIZ-LST.FT>/QNTSIZ ;NUMBER OF ANSWERS PER PAGE
|
||
|
||
DEPHASE
|
||
SUBTTL Common Parameters
|
||
|
||
;THE PARAMETERS DEFINED HERE ARE ONES THAT ARE NEEDED BY QUASAR BUT ARE
|
||
;SYSTEM DEPENDENT. TO MINIMIZE FEATURE TESTS AND DUPLICATION OF ROUTINES,
|
||
;QUASAR PARAMETERS ARE USED AND EQUATED TO THE CORRECT SYSTEM VALUE.
|
||
|
||
;**NOTE: THESE VALUES ARE NOT TO BE CONSTRUED AS 'OPTIONS' AND ANY CHANGES
|
||
; WILL CAUSE UNPREDICTABLE RESULTS.
|
||
|
||
|
||
SYSPRM ACC.KM,.ACREN,.CKAWT ;KILL/MODIFY ACCESS CODE
|
||
SYSPRM INT.PI,0,0 ;IPCF INTERRUPT CHANNEL OR OFFSET
|
||
SYSPRM INT.PL,1,1 ;IPCF PRIORITY INTERRUPT LEVEL
|
||
SYSPRM FSSBKS,200,1000 ;STANDARD BLOCKSIZE
|
||
SYSPRM FSSFIB,2,1 ;BLK. # OF 1ST INDEX BLK
|
||
SUBTTL Random Macros
|
||
|
||
;DOSCHD is a macro which may be called to flag that something has
|
||
; happened which might allow a scheduling pass to bear fruit.
|
||
|
||
DEFINE DOSCHD,<
|
||
IFN <%%.MOD-<SIXBIT /QUASAR/>>,<EXTERN G$SCHD>
|
||
SETOM G$SCHD
|
||
> ;END DEFINE DOSCHD
|
||
SUBTTL Failsoft System Definitions
|
||
|
||
;I/O CHANNELS
|
||
ND CMQ1,10 ;FIRST MASTER QUEUE CHANNEL
|
||
ND CMQ2,11 ;SECOND MASTER QUEUE CHANNEL
|
||
|
||
;OTHER SYMBOLS
|
||
XP FSSSTR,FSSSTR ;STRUCTURE FOR MASTER QUEUES
|
||
ND FSSPRT,277 ;PROTECTION FOR MASTER QUEUES
|
||
|
||
;FILE FORMAT AND INDEX DEFINITIONS
|
||
XP FSSQFV,%%.QSR ;QUEUE FILE VERSION
|
||
XP FSSMRS,1000 ;MAXIMUM REQUEST SIZE
|
||
XP FSSBPR,<FSSMRS/FSSBKS> ;MAXIMUM BLOCKS/REQUEST
|
||
XP FSSWPI,1000 ;NUMBER OF WORDS/INDEX
|
||
XP FSSNIB,<FSSWPI/FSSBKS> ;NUMBER OF INDEX BLOCKS/SECTION
|
||
XP FSSFDB,<FSSFIB+FSSNIB> ;BLK. NO. OF FIRST DATA BLOCK
|
||
XP FSSBPS,FSSWPI ;BLOCKS PER SECTION
|
||
XP FSSMNS,5 ;MAXIMUM NUMBER OF SECTIONS
|
||
|
||
;MASTER FILE NAMES
|
||
|
||
IFN FTUUOS,<
|
||
DEFINE MQFNM1,<SIXBIT\QSRMS1\> ;THE PRIMARY MASTER
|
||
DEFINE MQFNM2,<SIXBIT\QSRMS2\> ; REDUNDANT MASTER
|
||
ND DFSSTR,<SIXBIT /DSK/> ;STRUCTURE TO USE IF DEBUGGING
|
||
ND SPLSTR,<SIXBIT/DSK/> ;SPOOL STRUCTURE
|
||
> ;END OF IFN FTUUOS
|
||
|
||
IFN FTJSYS,<
|
||
DEFINE MQFNAM,<ASCIZ\DSK:<SPOOL>PRIMARY-MASTER-QUEUE-FILE.QUASAR\>
|
||
DEFINE DMQFNM,<ASCIZ \DSK:PRIVATE-MASTER-QUEUE-FILE.QUASAR\>
|
||
ND SPLSTR,<ASCII/DSK:/> ;SPOOL STRUCTURE
|
||
> ;END OF IFN FTJSYS
|
||
|
||
|
||
;REBUILD CODES
|
||
; A REBUILD CODE IS STORED IN THE FILE INDEX ENTRY FOR EACH REQUEST
|
||
; IN THE MASTER QUEUE FILE. AT QUASAR INITIALIZATION THE CORRECT
|
||
; ROUTINE IS CALLED WITH THE ENTRY BASED ON THE REBUILD CODE.
|
||
|
||
%RBBAT==1 ;BATCH JOB (INP, LPT, PLT, ...)
|
||
%RBDEL==2 ;DELETED FILES
|
||
SUBTTL QUASAR Fatal Error Codes
|
||
|
||
;ARGUMENTS USED ARE
|
||
|
||
; X 'SUFFIX' , 'TEXT' , 'ERROR SEVERITY'
|
||
|
||
;THE EXPANDER IS TO DEFINE THE CORRECT 'X' MACRO
|
||
|
||
DEFINE ERRCDS,<
|
||
LSTOF.
|
||
|
||
X BMG,<Bad MODIFY Group>,MF.FAT
|
||
X ICM,<Illegal CREATE Message>,MF.FAT
|
||
X IFS,<Illegal File Specification>,MF.FAT
|
||
X ILM,<Illegal LIST Message>,MF.FAT
|
||
X IFD,<Illegally Formatted Device Name>,MF.FAT
|
||
X IMT,<Illegal Message Type>,MF.FAT
|
||
X INF,<Illegal Number of Files>,MF.FAT
|
||
X IPE,<Insufficient Privileges Enabled>,MF.FAT
|
||
X MTL,<Message Too Long>,MF.FAT
|
||
X MTS,<Message is Too Short>,MF.FAT
|
||
X NKC,<Not a Known Component>,MF.FAT
|
||
X NOR,<Number Out of Range>,MF.FAT
|
||
X NYO,<Not Your Object>,MF.FAT
|
||
X SNY,<Specified request is Not Yours>,MF.FAT
|
||
X UQN,<Unknown Queue Name Specified>,MF.FAT
|
||
X UQS,<Unknown Queue Specified>,MF.FAT
|
||
X UOS,<Unknown Object Specified>,MF.FAT
|
||
X WVN,<Wrong Version Number>,MF.FAT
|
||
X IAS,<Invalid Account String Specified>,MF.FAT
|
||
X IMM,<Illegal MOUNT Message>,MF.FAT
|
||
X MPN,<MOUNT Request Processor Not Running>,MF.FAT
|
||
X CDU,<Can't Default User Name>,MF.FAT
|
||
X CDD,<Can't Default Connected Directory>,MF.FAT
|
||
X NSD,<No such device>,MF.FAT
|
||
X CDA,<Can't Delete an Allocated request>,MF.FAT
|
||
X PRB,<Privileges Required for Bypass Label Processing>,MF.FAT
|
||
X ICD,<Illegal Connected Directory Specified>,MF.FAT
|
||
X IFC,<Invalid Function Code Specified>,MF.FAT
|
||
X MDA,<MDA is not supported in this monitor>,MF.FAT
|
||
X SDY,<Specified Device is not Yours>,MF.FAT
|
||
X IVN,<Invalid Volume Set Name Specified>,MF.FAT
|
||
X ISS,<Invalid Switch Specified in a Structure Mount Request>,MF.FAT
|
||
X MRP,<Mount Request is not Pending>,MF.WRN
|
||
X MIN,<Mount Illegal for 'No Operator Intervention' Request>,MF.FAT
|
||
X IPB,<Invalid Path Block Specified>,MF.FAT
|
||
X IBL,<Invalid Block Length/Count Specified>,MF.FAT
|
||
X MVB,<Multiple Volume Set Name Blocks is Illegal>,MF.FAT
|
||
X IMO,<Invalid message received from ORION>,MF.FAT
|
||
X NUA,<No Units Available for Mounting this Request>,MF.FAT
|
||
X RTE,<Route Table Entry does not Exist>,MF.FAT
|
||
X ISO,<Invalid Source Object Specified in Route Command>,MF.FAT
|
||
X IDO,<Invalid Destination Object Specified in Route Command>,MF.FAT
|
||
X CRG,<Cannot Route a Generic Unit>,MF.FAT
|
||
X UST,<Unknown device or structure name>,MF.FAT
|
||
X ERZ,<Ersatz devices may not be mounted>,MF.FAT
|
||
X DNM,<Device may not be mounted>,MF.FAT
|
||
X VID,<Volume identifier must be specified>,MF.FAT
|
||
X VIU,<Volume identifiers must be unique>,MF.FAT
|
||
X ISA,<Illegal attribute for structure mount request>,MF.FAT
|
||
X ITA,<Illegal attribute for tape mount request>,MF.FAT
|
||
X ILN,<Illegal logical name>,MF.FAT
|
||
X IDE,<Invalid density>,MF.FAT
|
||
X ILT,<Invalid label type>,MF.FAT
|
||
X RNS,<Reelid not specified in mount command>,MF.FAT
|
||
X APE,<Already pending Event Queue entry>,MF.FAT
|
||
X ASN,<Ambiguous structure name>,MF.FAT ;[1226]
|
||
X ISN,<Invalid structure name>,MF.FAT ;[1226]
|
||
X GDN,<Generic devices may not be mounted>,MF.FAT ;[1226]
|
||
X PLD,<Pathological name invalid>,MF.FAT ;[1226]
|
||
X IER,<Invalid EQ request message format>,MF.FAT
|
||
X MRD,<Multi-reel DECtape volume-sets are not permitted>,MF.FAT
|
||
X XXX,<This is a text buffer for messages built on the fly. MAX 70 characters>,MF.FAT
|
||
|
||
LSTON.> ;END OF DEFINE ERRCDS
|
||
|
||
DEFINE X(CODE,STRING,FLAGS),<
|
||
ER$'CODE==..XX
|
||
..XX=..XX+1
|
||
>;END DEFINE X
|
||
|
||
..XX==1
|
||
ERRCDS ;DEFINE THE ERROR OFFSETS
|
||
|
||
SUBTTL MDA ERROR MACROS AND CODES
|
||
|
||
;Define the $ERJMP Macro
|
||
;
|
||
;Use: $ERJMP ERROR-CODE,AC-CONTAINING-VSL-ADDRESS
|
||
|
||
DEFINE $ERJMP(CODE,VSL),<
|
||
LSTOF.
|
||
PUSHJ P,D$MDAE
|
||
CAI <<VSL>B23!<CODE>B35>
|
||
LSTON.>
|
||
|
||
AC.VSL==770000 ;DEFINE VSL AC FIELD
|
||
ER.CDE==007777 ;DEFINE ERROR CODE FIELD
|
||
|
||
;Define the error codes and strings
|
||
|
||
DEFINE MDAERR,<
|
||
LSTOF.
|
||
|
||
X NVM,<No Volume Mounted On Drive>
|
||
X VAU,<Volume is Already in Use>
|
||
X DAU,<Drive is Already in Use>
|
||
X VIL,<Volume on Drive is Labeled>
|
||
X RDM,<Reelid does not match user's request>
|
||
X URB,<User Requested Bypass Label Volumes>
|
||
X URL,<User Requested Labeled Volumes>
|
||
X URW,<User Requested Write-Locked Volumes>
|
||
X URE,<User Requested Write-Enabled Volumes>
|
||
X RDD,<Requested Density Does not Match Volume Density>
|
||
X VND,<Requested Volume not on this Device>
|
||
X IUD,<Illegal for unavailable device>
|
||
X RLD,<Request Label Type Doesn't Match Volume Label Type>
|
||
X DAD,<Drive is already available>
|
||
X NVI,<VOLID Required for This Volume>
|
||
X CIU,<Cannot identify the Users Current Volume>
|
||
X TDM,<Request Track type Doesn't Match Device Type>
|
||
X DDD,<Device Allocation Error - Deadlock Detected>
|
||
X IDD,<Illegal density for drive>
|
||
LSTON.>
|
||
|
||
|
||
DEFINE X(CODE,STRING),<
|
||
MD$'CODE==..XX
|
||
..XX==..XX+1
|
||
>
|
||
|
||
..XX==1
|
||
|
||
MDAERR ;GENERATE THE MDA ERROR CODES
|
||
|
||
|
||
SUBTTL Queue create-related event defintions
|
||
|
||
|
||
; The following bits are used during event creation by the queue
|
||
; specific code in QSRSCH (the defaulting routine).
|
||
|
||
EV.INT==1B0 ;INTERNAL EVENT TYPE
|
||
EV.CHK==1B1 ;ALWAYS CHECK EACH TIME THROUGH SCHEDULER
|
||
SUBTTL Definition of the Event type codes
|
||
|
||
|
||
; Arguments used are
|
||
|
||
; X 'ABRV' , 'SIXBIT NAME', 'SCHED' , 'RELEASE' , 'BITS' , 'TEXT'
|
||
|
||
DEFINE EVENTS,<
|
||
|
||
X TMR,<TIMER >,.POPJ,.POPJ,<EV.INT>,<> ;;RANDOM TIMER
|
||
X KSY,<KSYS >,I$SKSY,I$KKSY,<EV.CHK>,<Timesharing will end> ;;KSYS
|
||
X SPL,<SPOOL >,.POPJ,.POPJ,<EV.INT>,<> ;;SPOOLER CREATION
|
||
X ATO,<TAKFIL>,Q$EVTR,.POPJ,<0>,<Time-of-day OPR command file> ;;TIME-OF-DAY AUTO FILE
|
||
X USG,<USGFIL>,I$UFIL,.POPJ,<0>,<Usage file closure> ;;SET USAGE FILE CLOSURE
|
||
X BIL,<BILCLS>,I$UBIL,.POPJ,<0>,<Usage billing closure> ;;SET BILLING CLOSURE
|
||
X OPR,<OPRFIL>,I$OCLS,.POPJ,<0>,<ORION log file closure> ;;SET OPERATOR LOG FILE CLOSURE
|
||
X LCK,<FSLOCK>,.POPJ,.POPJ,<EV.INT>,<> ;;FILE STRUCTURE LOCK/UNLOCK
|
||
X IGN,<IGNORE>,.POPJ,.POPJ,<EV.INT>,<> ;;IGNORE OBJECT REQUEST
|
||
X AFT,<AFTER >,.POPJ,.POPJ,<EV.INT>,<> ;;/AFTER REQUEST
|
||
X NLC,<LOCKED>,.POPJ,.POPJ,<EV.INT>,<> ;;LOCKED STR COUNTDOWN
|
||
|
||
> ;END EVENTS MACRO
|
||
|
||
|
||
ZZ==0
|
||
DEFINE X (ABV,NAME,SCHED,KILL,BITS,TEXT),<.EV'ABV==<ZZ==ZZ+1>>
|
||
|
||
EVENTS
|
||
.EVMAX==ZZ ;HIGHEST LEGAL EVENT
|
||
SUBTTL Definition of the Known Queues
|
||
|
||
;ARGUMENTS USED ARE
|
||
|
||
; A - SIXBIT QUEUE NAME
|
||
; B - ENTRY SIZE
|
||
; C - QUEUE TYPE
|
||
; D - FLAGS
|
||
; E - SCHEDULER DISPATCH VECTOR
|
||
; F - LISTING FLAG
|
||
; G - OBJECT TYPE (ZERO IF NONE)
|
||
; H - QUEUE DEPENDENT LISTING ROUTINE
|
||
; I - SUMMARY TYPEOUT ROUTINE
|
||
; J - ASCIZ QUEUE NAME FOR LISTINGS
|
||
; K - ASCIZ "QUANTITY" NAME (I.E. EVENTS, JOBS, ETC.)
|
||
; L - ASCIZ "QUANTITY" TYPE (I.E. PAGES, REQUESTS, RUNTIME, ETC.)
|
||
; M - ASCIZ NOTIFICATION TEXT
|
||
|
||
DEFINE QUEUES,<
|
||
|
||
LSTOF.
|
||
|
||
X EVT,QNTSIZ,.QHTEV,QH.IKS,S$EVT,LIQEVT,.OTEVT,DEPEVT,0,<Event>,<event>,<>,<>
|
||
X INP,QNTSIZ,.QHTIP,0,S$INPT,LIQBAT,.OTBAT,DEPBAT,LIST.T,<Batch>,<job>,<runtime>,<executing>
|
||
X LPT,QNTSIZ,.QHTOU,0,S$LPT,LIQLPT,.OTLPT,DEPOUT,LIST.D,<Printer>,<job>,<pages>,<printing>
|
||
X PTP,QNTSIZ,.QHTOU,0,S$PTP,LIQPTP,.OTPTP,DEPOUT,LIST.D,<Paper tape punch>,<job>,<feet>,<punching>
|
||
X CDP,QNTSIZ,.QHTOU,0,S$CDP,LIQCDP,.OTCDP,DEPOUT,LIST.D,<Card punch>,<job>,<cards>,<punching>
|
||
X PLT,QNTSIZ,.QHTOU,0,S$PLT,LIQPLT,.OTPLT,DEPOUT,LIST.D,<Plotter>,<job>,<minutes>,<plotting>
|
||
X RET,QNTSIZ,.QHTAR,QH.INV,S$RET,LIQRET,.OTRET,DEPRET,LIST.D,<File retrieval>,<requests>,<>,<retrieving>
|
||
X NOT,QNTSIZ,.QHTAR,QH.INV,S$NOT,0,0,0,0,<>,<>,<>,<>
|
||
X BIN,QNTSIZ,.QHTIP,QH.INV,S$BIN,0,.OTBIN,0,0,<Interpreter>,<jobs>,<decks>,<interpreting>
|
||
X DBM,QNTSIZ,.QHFRR,QH.IKS!QH.INV,S$DBM,0,.OTDBM,0,0,<>,<>,<>,<>
|
||
X RDR,QNTSIZ,.QHFRR,0,S$RDR,0,.OTRDR,0,0,<>,<>,<>,<>
|
||
X SPL,SPLSIZ,.QHTQS,QH.IKS!QH.INV,0,0,0,0,0,<>,<>,<>,<>
|
||
X PSB,PSBSIZ,.QHTQS,QH.IKS!QH.INV,0,0,0,0,0,<>,<>,<>,<>
|
||
X OBJ,OBJSIZ,.QHTQS,QH.IKS!QH.INV,0,0,0,0,0,<>,<>,<>,<>
|
||
X USE,USESIZ,.QHTQS,QH.IKS!QH.INV,0,0,0,0,0,<>,<>,<>,<>
|
||
X STR,STRSIZ,.QHTQS,QH.IKS!QH.INV,0,0,0,0,0,<>,<>,<>,<>
|
||
X NET,NETSIZ,.QHTQS,QH.IKS!QH.INV,0,0,.OTNCU,0,0,<>,<>,<>,<>
|
||
IFN FTINFO,<
|
||
X PID,PIDSIZ,.QHTQS,QH.IKS!QH.INV!QH.VAR,0,0,0,0,0,<>,<>,<>,<>
|
||
>
|
||
X IPC,IPCSIZ,.QHTQS,QH.IKS!QH.INV!QH.VAR,0,0,0,0,0,<>,<>,<>,<>
|
||
X FAL,QNTSIZ,.QHFRR,0,S$FAL,0,.OTFAL,0,0,<>,<>,<>,<>
|
||
X ODB,ODBSIZ,.QHTQS,QH.IKS!QH.INV!QH.VAR,0,0,0,0,0,<>,<>,<>,<>
|
||
X QNM,QNMSIZ,.QHTQS,QH.IKS!QH.INV!QH.OAV,S$NQC,0,.OTNQC,0,0,<>,<>,<>,<>
|
||
|
||
LSTON.> ;END OF DEFINE QUEUES
|
||
|
||
;DEFINE THOSE QUEUES WHICH ARE DEVICES.
|
||
|
||
DEFINE DEVQUE,<
|
||
X BAT
|
||
X LPT
|
||
X CDP
|
||
X PTP
|
||
X PLT
|
||
X MNT
|
||
X RET
|
||
X EVT
|
||
> ;END OF DEVICE QUEUES MACRO
|
||
|
||
MAX <QNTSIZ> ;INCLUDE ANY QUEUE THAT CAN HAVE AFTER OR INUSE
|
||
USESIZ==MAXSIZ ;DEFINE LARGEST ENTRY IN USE QUEUE
|
||
RDESIZ==MAXSIZ ;DEFINE LARGEST ENTRY IN RDE QUEUE
|
||
|
||
|
||
DEFINE QUEHDR,< ;MACRO TO GENERATE THE QUEUE HEADERS FROM THE QUEUES MACRO
|
||
DEFINE X(A,B,C,D,E,F,G,H,I,J,K,L,M),<
|
||
|
||
IFDIF <E><0>,<GLOB (E)>
|
||
IFDIF <H><0>,<GLOB (H)>
|
||
IFDIF <I><0>,<GLOB (I)>
|
||
|
||
HDR'A:: INSVL.(<SIXBIT\ A\>,QH.NAM)!INSVL.(C,QH.TYP)!D
|
||
EXP 0
|
||
XWD E,INSVL.(B,QH.SIZ)
|
||
EXP F
|
||
EXP G
|
||
EXP H
|
||
EXP I
|
||
EXP [ASCIZ \J\]
|
||
EXP [ASCIZ \K\]
|
||
EXP [ASCIZ \L\]
|
||
EXP [ASCIZ \M\]
|
||
> ;END OF DEFINE X
|
||
QUEUES ;NOW EXPAND QUEUES
|
||
> ;END OF DEFINE QUEHDR
|
||
|
||
|
||
SUBTTL MTCON MOUNT STRUCTURES
|
||
|
||
;MOUNT REQUEST (SENT BY USER TO QUASAR)
|
||
|
||
; !=======================================================! /+\
|
||
; \ \ !
|
||
; \ THE MESSAGE HEADER \ !
|
||
; \ \ !
|
||
; !=======================================================! !
|
||
; ! FLAGS THAT APPLY TO THE ENTIRE MESSAGE ! !
|
||
; !-------------------------------------------------------! LM
|
||
; ! SIXBIT NAME OF MOUNT REQUEST ! !
|
||
; !-------------------------------------------------------! !
|
||
; ! MOUNT ENTRY COUNT (MUST BE 1 FOR RLS 4) ! !
|
||
; !=======================================================! !
|
||
; ! ----- TOPS 10 ----- ! !
|
||
; ! ! !
|
||
; !-------------------------------------------------------! !
|
||
; ! SIXBIT USER NAME ! !
|
||
; ! (2 WORDS) ! !
|
||
; !-------------------------------------------------------! !
|
||
; ! ! !
|
||
; \ USER ACCOUNT STRING \ !
|
||
; \ IN ASCIZ \ !
|
||
; \ (10 WORDS) \ !
|
||
; ! ! !
|
||
; !=======================================================! \./
|
||
|
||
PHASE MSHSIZ
|
||
.MMFLG:! BLOCK 1 ;FLAG WORD FOR MOUNT MESSAGE
|
||
MM.WAT==1B0 ;USER IS WAITING FOR IPCF ACK WHEN DONE
|
||
MM.NOT==1B1 ;USER WANTS NOTIFICATION VIA TRMOP.
|
||
MM.DLC==1B2 ;(DISMOUNT/DEALLOCATE ONLY) DEALLOCATE, NOT DISMOUNT
|
||
MM.REM==1B3 ;(DISMOUNT/DEALLOCATE ONLY) /REMOVE WAS TYPED
|
||
MM.GFR==1B4 ;INTERNAL USE ONLY (MSG SENT BY [SYSTEM]GOPHER)
|
||
.MMNAM:! BLOCK 1 ;SIXBIT NAME OF MOUNT REQUEST
|
||
.MMARC:! BLOCK 1 ;ARGUMENT COUNT FOR MOUNT MESSAGE
|
||
|
||
TOPS10 <
|
||
.MMUSR:! BLOCK EQNMSZ ;SIXBIT USER NAME
|
||
.MMUAS:! BLOCK 10 ;ASCIZ USER ACCOUNT STRING
|
||
>
|
||
|
||
.MMHSZ:! ;SIZE OF MOUNT MESSAGE HEADER
|
||
DEPHASE
|
||
SUBTTL MOUNT REQUESTS (WITHIN THE MESSAGE)
|
||
|
||
;!=======================================================! /+\
|
||
;! ENTRY LENGTH (LE) ! TYPE CODE ! !
|
||
;!-------------------------------------------------------! !
|
||
;! REQUEST-SPECIFIC FLAGS ! !
|
||
;!-------------------------------------------------------! !
|
||
;! SUBENTRY COUNT ! !
|
||
;!-------------------------------------------------------! !
|
||
;! SUBENTRY # 1 ! !
|
||
;!-------------------------------------------------------! LE
|
||
;! SUBENTRY # 2 ! !
|
||
;!-------------------------------------------------------! !
|
||
;! . ! !
|
||
;! . ! !
|
||
;! . ! !
|
||
;!-------------------------------------------------------! !
|
||
;! SUBENTRY # n ! !
|
||
;!=======================================================! \./
|
||
|
||
|
||
PHASE 0
|
||
.MEHDR:! BLOCK 1 ;MOUNT ENTRY HEADER WORD
|
||
.MNUNK==0 ;Unknown Mount request type
|
||
.MNTTP==1 ;Tape Mount Request Code
|
||
.MNTST==2 ;Disk Mount Request Code
|
||
.DSMST==3 ;Disk Dismount Request Code
|
||
.MEFLG:! BLOCK 1 ;FLAG WORD FOR ENTRY
|
||
; (See below for bit definitions)
|
||
|
||
.MECNT:! BLOCK 1 ;SUBENTRY COUNT
|
||
.MEHSZ:! ;SIZE OF HEADER
|
||
DEPHASE
|
||
|
||
|
||
; The argument block is defined in GLXMAC under General Message Format.
|
||
; Refer there for latest information.
|
||
|
||
; PHASE 0
|
||
;ARG.HD:! BLOCK 1 ;SUBENTRY HEADER WORD
|
||
; AR.LEN=-1,,0 ;LENGTH OF SUBENTRY
|
||
; AR.TYP=0,,-1 ;TYPE OF SUBENTRY
|
||
;ARG.DA:! ;START OF DATA AREA
|
||
; DEPHASE
|
||
SUBTTL TAPE MOUNT REQUEST BLOCKS
|
||
|
||
.MDINV==0 ;BLOCK TYPE 0 IS INVALID
|
||
|
||
.TMDEN==1 ;MAG TAPE DENSITY CODE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .TMDEN !
|
||
; !-------------------------------------------------------!
|
||
; ! The Tape Density Code !
|
||
; !-------------------------------------------------------!
|
||
|
||
SYSPRM (.TFD00,.TFD00,0) ;SYSTEM DEFAULT
|
||
SYSPRM (.TFD20,.TFD20,.SJDN2) ; 200 BPI
|
||
SYSPRM (.TFD55,.TFD55,.SJDN5) ; 556 BPI
|
||
SYSPRM (.TFD80,.TFD80,.SJDN8) ; 800 BPI
|
||
SYSPRM (.TFD16,.TFD16,.SJD16) ;1600 BPI
|
||
SYSPRM (.TFD62,.TFD62,.SJD62) ;6250 BPI
|
||
|
||
.TMDRV==2 ;MAG TAPE DRIVE TYPE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .TMDRV !
|
||
; !-------------------------------------------------------!
|
||
; ! .TMDR9 or .TMDR7 !
|
||
; !-------------------------------------------------------!
|
||
|
||
.TMDRD==0 ;Default
|
||
.TMDR9==1 ;Nine Track Drive
|
||
.TMDR7==2 ;Seven Track Drive
|
||
.TMDMX==2 ; ?
|
||
|
||
|
||
.TMLT==3 ;Mag TAPE LABEL TYPE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .TMLT !
|
||
; !-------------------------------------------------------!
|
||
; ! .LTUNL or .LTANS or .LTEBC or .LTT20 !
|
||
; !-------------------------------------------------------!
|
||
|
||
SYSPRM (%TFLBP,.TFLBP,-1) ;BYPASS
|
||
SYSPRM (%TFANS,.TFLAL,.LTANS) ;ANSII
|
||
SYSPRM (%TFEBC,.TFLIL,.LTEBC) ;EBCDIC (IBM)
|
||
SYSPRM (%TFUNL,.TFLNL,.LTUNL) ;UNLABELED
|
||
SYSPRM (%TFT20,-1,.LTT20) ;TOPS20
|
||
SYSPRM (%TFUNV,.TFLNV,-1) ;UNLABELED USER-EOV
|
||
SYSPRM (%TFMIN,.TFLBP,.LTUNL) ;MINIMUM LABEL TYPE
|
||
SYSPRM (%TFMAX,.TFLNV,.LTT20) ;MAXIMUM LABEL TYPE
|
||
|
||
|
||
.TMSET==4 ;MAG TAPE SET NAME
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .TMSET !
|
||
; !-------------------------------------------------------!
|
||
; ! sixbit Volume Set Name !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
.TMRMK==5 ;Asciz Remark for the Operator
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! length ! .TMRMK !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ An Asciz remark for the OPR \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.TMSTV==6 ;Mag Tape Starting Volume
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 or 3 ! .TMSTV !
|
||
; !-------------------------------------------------------!
|
||
; ! Index into Volume set if length = 2 !
|
||
; !-------------------------------------------------------!
|
||
; ! Sixbit volume Id (Length = 3 & word 2 = 0) !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
|
||
.TMVOL==7 ;Volume List
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! Length ! !
|
||
; !-------------------------------------------------------!
|
||
; \ \
|
||
; \ Sixbit list of volumes \
|
||
; \ \
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.TMVPR==10 ;Volume Protection code For new volumes
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .TMVPR !
|
||
; !-------------------------------------------------------!
|
||
; ! 0 ! Protection Code !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
;CONTINUED ON THE NEXT PAGE
|
||
;CONTINUED FROM THE PREVIOUS PAGE
|
||
|
||
.TMINI==11 ;Volume Initialization Parms
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 or 3 ! .TMINI !
|
||
; !-------------------------------------------------------!
|
||
; ! Tape Label Type !
|
||
; !-------------------------------------------------------!
|
||
; ! User Number (Optional) !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.SMNAM==12 ;Disk Structure Name in sixbit
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .SMNAM !
|
||
; !-------------------------------------------------------!
|
||
; ! Sixbit Structure Name !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
.SMALI==13 ;Disk Structure Alias Name in sixbit
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .SMALI !
|
||
; !-------------------------------------------------------!
|
||
; ! Sixbit Structure Alias !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
|
||
.TMLNM==14 ;VOLUME SET LOGICAL NAME
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .TMLNM !
|
||
; !-------------------------------------------------------!
|
||
; ! The Logical Volume Set name !
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
|
||
.TMEXP==15 ;VOLUME SET EXPIRATION DATE/TIME
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! 2 ! .TMEXP !
|
||
; !-------------------------------------------------------!
|
||
; ! Expiration date time in UDT !
|
||
; !-------------------------------------------------------!
|
||
|
||
%MDMAX==15 ;Maximum block number allocated
|
||
SUBTTL .MEFLG BIT DEFINITIONS
|
||
|
||
|
||
;The following flags may be
|
||
;present in the .MEFLG word of a tape-mount request:
|
||
|
||
;FLAG BIT MEANING
|
||
;---- --- -------
|
||
TM%SCR==1B0 ; Request to access temporary volume set.
|
||
; Implies TM%NEW, TM%NOV, TM%WEN
|
||
; TM%OSV is ignored if set
|
||
TM%NEW==1B1 ; Creating new volume set.
|
||
; Implies TM%NOV, TM%WEN
|
||
TM%VFY==1B2 ; Verify that user-supplied setname
|
||
; matches setname of volume(s) being mounted.
|
||
; Meaningful for labeled tapes only.
|
||
TM%OSV==1B3 ; Operator will be asked to key in list of
|
||
; volume identifiers.
|
||
TM%WEN==1B4 ; Volume(s) must be mounted write-enabled.
|
||
;
|
||
TM%BYP==1B5 ; If label-type is unlabeled, bypass any label
|
||
; security checks.
|
||
TM%NUL==1B6 ; Do not unload volumes at volume-switch or
|
||
; when DISMOUNT TAPE command given.
|
||
|
||
SM%PAS==1B7 ; Put structure in jobs passive search list
|
||
|
||
SM%EXC==1B8 ; Request exclusive access
|
||
|
||
SM%DEF==1B9 ; Defer mounting (reserved)
|
||
|
||
SM%NOC==1B10 ; Don't allow creates on structure
|
||
|
||
TM%WLK==1B11 ; User requested Write Locked Volumes
|
||
|
||
ME%ALC==1B12 ; User requesting only allocation of these resources, not mount
|
||
|
||
SM%ARD==1B13 ; Always recompute disk usage
|
||
SUBTTL MOUNT REQUEST
|
||
|
||
; TAPE MOUNT REQUEST
|
||
; IPCF MESSAGE SENT FROM QUASAR TO MTCON
|
||
;!=======================================================!
|
||
;! MESSAGE LENGTH (512) ! MESSAGE TYPE (.QOMNT) !
|
||
;!-------------------------------------------------------!
|
||
;! FLAGS ! SIXBIT SUFFIX !
|
||
;!-------------------------------------------------------!
|
||
;! ACKNOWLEDGMENT CODE !
|
||
;!=======================================================!
|
||
;! !
|
||
;\ UNMODIFIED USER IPCF MESSAGE (MINUS HEADER) \
|
||
;! !
|
||
;!-------------------------------------------------------!
|
||
;! !
|
||
;\ 0 \
|
||
;! !
|
||
;!-------------------------------------------------------!
|
||
;! INTERNAL TASK NAME (ITN) !
|
||
;!-------------------------------------------------------!
|
||
;! USER'S PID !
|
||
;!-------------------------------------------------------!
|
||
;! SIZE OF USER'S MOUNT MESSAGE !
|
||
;!-------------------------------------------------------!
|
||
;! ACK CODE FROM USER'S MESSAGE HANDLER !
|
||
;!-------------------------------------------------------!
|
||
;! USER'S USER NUMBER !
|
||
;!-------------------------------------------------------!
|
||
;! USER'S ENABLED CAPABILITIES !
|
||
;!-------------------------------------------------------!
|
||
;! !
|
||
;\ USER'S ASCIZ ACCOUNT STRING \
|
||
;! !
|
||
;!=======================================================!
|
||
|
||
PHASE 762
|
||
.MMUMX:! ;MAXIMUM LENGTH OF USER MOUNT MESSAGE
|
||
.MMITN:! BLOCK 1 ;INTERNAL TASK NAME ASSIGNED BY QUASAR
|
||
.MMPID:! BLOCK 1 ;USER'S PID
|
||
.MMUMS:! BLOCK 1 ;SIZE OF USER'S MOUNT MESSAGE
|
||
.MMUCD:! BLOCK 1 ;ACK CODE FROM USER'S MESSAGE HEADER
|
||
.MMUNO:! BLOCK 1 ;USER'S USER NUMBER
|
||
.MMCAP:! BLOCK 1 ;USER'S ENABLED CAPABILITIES
|
||
.MMACT:! BLOCK 10 ;USER'S ASCIZ ACCOUNT STRING
|
||
DEPHASE
|
||
SUBTTL Response to User Tape Mount Request
|
||
|
||
;After the user process has sent an IPCF message to QUASAR to
|
||
;request a tape mount, it will typically wait for a response,
|
||
;which will be sent when:
|
||
; 1. QUASAR finds an error while parsing and validating the
|
||
; user request; the request is aborted.
|
||
; 2. MTCON encounters a problem trying to satisfy the
|
||
; request; the request is aborted.
|
||
; 3. MTCON mounts the first volume of the request
|
||
; successfully; the response indicates a successful
|
||
; mount.
|
||
|
||
;The mount response message sent by MTCON or QUASAR to the user
|
||
;will have the following format:
|
||
|
||
;!=======================================================!
|
||
;! MESSAGE LENGTH ! MESSAGE TYPE (.QOMNA) !
|
||
;!-------------------------------------------------------!
|
||
;! FLAGS ! SIXBIT SUFFIX !
|
||
;!-------------------------------------------------------!
|
||
;! ACKNOWLEDGMENT CODE FROM USER'S MOUNT REQUEST !
|
||
;!=======================================================!
|
||
;! FLAGS (NONE DEFINED) !
|
||
;!-------------------------------------------------------!
|
||
;! ENTRY COUNT !
|
||
;!-------------------------------------------------------!
|
||
;! ENTRY 1 !
|
||
;!-------------------------------------------------------!
|
||
;! . !
|
||
;! . !
|
||
;! . !
|
||
;!-------------------------------------------------------!
|
||
;! ENTRY n !
|
||
;!=======================================================!
|
||
|
||
|
||
;DEFINE THE MESSAGE TYPE
|
||
|
||
.QOMNA==1 ;TAPE MOUNT REQUEST ANSWER
|
||
|
||
|
||
;Either of two responses is conveyed:
|
||
; 1. The request was completed successfully. The response
|
||
; contains one .MNRDV and one .MNRTX.
|
||
; 2. The request was aborted. The response contains one
|
||
; .MNREC and possibly one .MNRTX.
|
||
SUBTTL MOUNT RESPONSES
|
||
|
||
;Mount response entry formats are described below:
|
||
|
||
.MNREC==2 ;Error Code
|
||
|
||
; !=======================================================!
|
||
; ! LENGTH (2) ! .MNREC !
|
||
; !-------------------------------------------------------!
|
||
; ! 0 ! TOPS-20 ERROR CODE !
|
||
; !=======================================================!
|
||
|
||
.MNRDV==1 ;Device block
|
||
|
||
; !=======================================================!
|
||
; ! LENGTH (2 OR 3) ! .MNRDV !
|
||
; !-------------------------------------------------------!
|
||
; ! VOLUME SET NAME OR STRUCTURE NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! MT DEVICE DESIGNATOR (TAPE REQUESTS ONLY) !
|
||
; !=======================================================!
|
||
|
||
.MNRTX==3 ;Asciz Text
|
||
|
||
; !=======================================================!
|
||
; ! LENGTH ! .MNRTX !
|
||
; !-------------------------------------------------------!
|
||
; ! !
|
||
; \ ASCIZ TEXT \
|
||
; ! !
|
||
; !=======================================================!
|
||
|
||
.MNSDV==4 ;Sixbit Structure Alias
|
||
|
||
; !=======================================================!
|
||
; ! LENGTH ! .MNSDV !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT STRUCTURE NAME !
|
||
; !=======================================================!
|
||
|
||
.MNRNM==5 ;Sixbit Mount Request Name
|
||
|
||
; !=======================================================!
|
||
; ! LENGTH 1 .MNRNM !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT MOUNT REQUEST NAME !
|
||
; !=======================================================!
|
||
|
||
|
||
SUBTTL CANCELING TAPE MOUNT REQUESTS
|
||
|
||
|
||
;Response to User Cancel Request
|
||
|
||
;MTCON will send the following message to the user PID to convey
|
||
;the actions taken as a result of the cancel request:
|
||
|
||
;!=======================================================!
|
||
;! MESSAGE LENGTH ! MESSAGE TYPE (.QOMCA) !
|
||
;!-------------------------------------------------------!
|
||
;! FLAGS ! SIXBIT SUFFIX !
|
||
;!-------------------------------------------------------!
|
||
;! ACKNOWLEDGMENT CODE FROM USER'S MOUNT REQUEST !
|
||
;!=======================================================!
|
||
;! FLAGS (NONE DEFINED) !
|
||
;!-------------------------------------------------------!
|
||
;! ENTRY COUNT !
|
||
;!=======================================================!
|
||
|
||
SUBTTL ABORT MSG FROM QUASAR TO MTCON
|
||
|
||
|
||
;THIS MESSAGE IS SENT BY QUASAR TO MTCON WHEN A USER
|
||
;CANCELS 1 OR MORE OF HIS MOUNT REQUESTS
|
||
|
||
|
||
;!===================================================== !
|
||
;! MESSAGE LENGTH ! MESSAGE TYPE (.QOMTA) !
|
||
;!------------------------------------------------------!
|
||
;! FLAGS ! SUFFIX !
|
||
;!------------------------------------------------------!
|
||
;! ACKNOWLEDGEMENT CODE !
|
||
;!------------------------------------------------------!
|
||
;! FLAG WORD (NONE) !
|
||
;!------------------------------------------------------!
|
||
;! ARGUMENT COUNT !
|
||
;!------------------------------------------------------!
|
||
;! ENTRY LENGTH ! ENTRY TYPE (.MTPID) !
|
||
;!------------------------------------------------------!
|
||
;! USERS PID !
|
||
;!------------------------------------------------------!
|
||
;! ENTRY LENGTH ! ENTRY TYPE (.MTITN) !
|
||
;!------------------------------------------------------!
|
||
;! ITN !
|
||
;!------------------------------------------------------!
|
||
;! ITN !
|
||
;!------------------------------------------------------!
|
||
|
||
; ETC
|
||
|
||
|
||
; THE MESSAGE BLOCK TYPES ARE:
|
||
|
||
.MTPID==1 ;USERS PID
|
||
.MTITN==2 ;A LIST OF ITN'S TO CANCEL
|
||
|
||
|
||
SUBTTL MOUNT RELEASE MESSAGE
|
||
;When a request completes, MTCON notifies the user (if
|
||
;appropriate) and sends a RELEASE message to QUASAR for that
|
||
;request.
|
||
|
||
; RELEASE MESSAGE FROM MTCON TO QUASAR
|
||
|
||
;!=======================================================!
|
||
;! MESSAGE LENGTH ! MESSAGE TYPE (.QOREL) !
|
||
;!-------------------------------------------------------!
|
||
;! FLAGS ! SIXBIT SUFFIX !
|
||
;!-------------------------------------------------------!
|
||
;! ACKNOWLEDGMENT CODE !
|
||
;!=======================================================!
|
||
;! INTERNAL TASK NAME OF REQUEST !
|
||
;!=======================================================!
|
||
|
||
|
||
|
||
|
||
;CHECKPOINT MESSAGE DEFINITIONS
|
||
|
||
;THESE DEFINE THE OFFSETS INTO THE CHE.IN BLOCK OF THE
|
||
;TAPE/DISK CHECKPOINT MESSAGE
|
||
|
||
.MTSTA==0 ;CHECKPOINT STATUS INFORMATION
|
||
.MTVOL==1 ;CHECKPOINT VOLUME INFORMATION
|
||
%VOLBL==0 ;NO VOLUME PRESENT
|
||
%VOLSC==1 ;SCRATCH VOLUME
|
||
;WORD MAY ALSO CONTAIN A SIXBIT VOLUME ID
|
||
.MTTYP==2 ;CHECKPOINT VOLUME TYPE
|
||
;SEE THE MOUNT REQUEST BLOCK CODES FOR TYPES
|
||
|
||
SUBTTL QUASAR TAPE MOUNT REQUEST QUEUE STRUCTURE
|
||
|
||
; !=======================================================!
|
||
; ! 36 BIT USER ID !
|
||
; !-------------------------------------------------------!
|
||
; / ASCIZ USER NAME /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! FLAGS ! USERS JOB NUMBER !
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT REQUEST NAME !
|
||
; !-------------------------------------------------------!
|
||
; / /
|
||
; / USERS ASCIZ ACCOUNT STRING /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! USERS PID # !
|
||
; !-------------------------------------------------------!
|
||
; ! # OF VSL'S ! REQUEST ID !
|
||
; !-------------------------------------------------------!
|
||
; / /
|
||
; / POINTERS TO THE VOLUME /
|
||
; / SET LISTS /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
|
||
|
||
|
||
|
||
PHASE 0
|
||
|
||
.MRUSR:! BLOCK 1 ;36 BIT USER ID OR PPN (-10)
|
||
.MRNAM:! BLOCK EQNMSZ ;USER NAME (ASCIZ -20, SIXBIT -10)
|
||
.MRJOB:! BLOCK 1 ;CAPABILITIES (IPCF MDB.PV),,JOB NBR
|
||
MR.JOB==177,,-1 ;'JOB' NUMBER FIELD
|
||
BA%JOB==1B11 ;LIT IF THIS IS A BATCH ALLOCATION
|
||
; THEN THE 'JOB NBR' IS THE REQUEST ID
|
||
.MRQEA:! BLOCK 1 ;REQUESTS QE ADDRESS
|
||
.MRNOD:! BLOCK 1 ;NODE NAME WHERE USER IS LOCATED
|
||
.MRTTY:! BLOCK 1 ;TTY DATA WHERE USER IS LOCATED
|
||
MR.TRD==-1,,0 ;TERMINAL DESIGNATOR
|
||
MR.TNO==0,,-1 ;LINE NUMBER
|
||
.MRACT:! BLOCK 10 ;ASCIZ ACCOUNT STRING
|
||
.MRPID:! BLOCK 1 ;REQUESTORS PID
|
||
.MRACK:! BLOCK 1 ;USER ACK CODE
|
||
.MRFLG:! BLOCK 1 ;FLAG BITS FOR THIS MDR
|
||
MR.WAT==1B0 ;SENDER IS WAITING FOR IPCF ACK WHEN DONE
|
||
MR.NOT==1B1 ;SENDER WANTS NOTIFICATION BY TRMOP.
|
||
MR.ACK==1B2 ;WAITING FOR INITIAL ACK
|
||
MR.GFR==1B3 ;REQUEST CREATED BY UUO ( [SYSTEM]GOPHER )
|
||
MR.DMO==1B4 ;DISMOUNT (USED FOR TEXT FORMATTING)
|
||
MR.QUE==77B35 ;OBJECT TYPE OF THE PSEUDO PROCESS (IF NEEDED)
|
||
.MRLOG:! BLOCK 1 ;UNIVERSAL TIME OF LOGIN
|
||
.MRCNT:! BLOCK 1 ; 0,,VOL SET COUNT
|
||
MR.CNT==0,,-1 ;VOLUME SET COUNT IN THE RIGHT HALF
|
||
MR.LNK==-1,,0 ;CURRENT VSL LINK CODE
|
||
.MRVSL:! BLOCK 1 ;POINTERS TO THE VOLUME SET LISTS (MINIMUM 1)
|
||
|
||
MDRLEN:! ;MINIMUM MDR QUEUE LENGTH
|
||
|
||
DEPHASE
|
||
|
||
SUBTTL VOLUME SET LIST (VSL) STRUCTURE
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! POINTER TO MDR !
|
||
; !-------------------------------------------------------!
|
||
; ! FLAG WORD !
|
||
; !-------------------------------------------------------!
|
||
; ! # TRACKS ! DENSITY !
|
||
; !-------------------------------------------------------!
|
||
; ! VOLUME SET NAME !
|
||
; !-------------------------------------------------------!
|
||
; / /
|
||
; / USER'S ASCIZ REMARKS /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
; ! VOLUME SET LOGICAL NAME ! PROTECTION !
|
||
; !-------------------------------------------------------!
|
||
; ! VOLUME COUNT ! VOLUME OFFSET !
|
||
; !-------------------------------------------------------!
|
||
; ! POINTERS TO VOLUME LIST !
|
||
; !-------------------------------------------------------!
|
||
|
||
PHASE 0
|
||
|
||
.VSMDR:! BLOCK 1 ;POINTER TO THE CONTROLLING MDR
|
||
.VSPID:! BLOCK 1 ;[1173] REQUESTORS PID
|
||
.VSACK:! BLOCK 1 ;[1173] USER ACK CODE
|
||
.VSRFL:! BLOCK 1 ;[1173] VSL MOUNT REQUEST FLAG'S
|
||
;[1173] FIELDS ARE SAME AS IN .MRFLG
|
||
;[1173] MR.ACK, MR.WAT, ETC.
|
||
;[1173] ** DON'T DEFINE NEW FIELDS HERE!! **
|
||
.VSFLG:! BLOCK 1 ;MOUNT FLAG WORD
|
||
VS.SCR==1B1 ;THIS IS A SCRATCH VOLUME SET
|
||
VS.NEW==1B2 ;THIS IS A NEW VOLUME SET
|
||
VS.UAL==1B3 ;USER ALLOCATED THIS VOLUME SET
|
||
VS.OPR==1B4 ;OPR WILL BE ASKED FOR VOLUME SET LIST
|
||
VS.WLK==1B5 ;0=WRITE ENABLED, 1=WRITE LOCKED
|
||
VS.REM==1B6 ;USER REQUEST TO DISMOUNT THE STRUCTURE
|
||
VS.TYP==7B9 ;VOLUME TYPE 1=TAPE, 2=STRUCTURE, 3=DECTAPE
|
||
VS.LBT==17B13 ;VOLUME LABEL TYPE FOR LABEL PROCESSING
|
||
VS.VSW==1B14 ;VOLUME SWITCH IN PROGRESS
|
||
VS.ALC==1B15 ;VOLUME SET IS IN ALLOCATION STATE
|
||
VS.WAL==1B16 ;VOL SET IS WAITING FOR DEVICE ALLOCATION
|
||
VS.CLM==1B17 ;RESOURCES FOR THIS VSL ARE CLAIMED
|
||
VS.PAS==1B18 ;(DISK) PUT IN PASSIVE 1/2 OF SEARCH LIST
|
||
VS.NOC==1B19 ;(DISK) DON'T DO CREATES ON THIS STR
|
||
VS.SIN==1B20 ;(DISK) SINGLE ACCESS
|
||
VS.NMT==1B21 ;VOLUME SET MOUNTED FOR A PSEUDO PROCESS
|
||
VS.ABO==1B22 ;REQUEST CANCELLED BY THE OPERATOR
|
||
VS.REL==1B23 ;USER SPECIFIED A REEL ID FOR THIS REQUEST
|
||
VS.CTL==1B24 ;THIS REQUEST IS PART OF PSEUDO PROCESS ALLOC
|
||
VS.ARD==1B25 ;ALWAYS RECOMPUTE DISK USAGE
|
||
VS.ALB==1B26 ;[1162] VOL SWITCH ABORTED BY PULSAR
|
||
VS.INI==1B27 ;[1164] REINIT IN PROGRESS
|
||
VS.FDV==1B28 ;FOREIGN (UNIT RECORD) DEVICE
|
||
VS.MWL==1B29 ;MOUNT REQUEST WRITE-LOCK STATUS (IN CASE
|
||
; CATALOG SEARCH NEEDED)
|
||
VS.MWE==1B30 ;MOUNT REQUEST WRITE-ENABLE STATUS
|
||
.VSATR:! BLOCK 1 ;MOUNT REQUEST DEVICE ATTRIBUTES
|
||
VS.PRT==777B8 ;PROTECTION CODE
|
||
VS.DEN==7B20 ;VOLUME DENSITY STATUS
|
||
VS.TRK==7B23 ;VOLUME TRACK STATUS
|
||
VS.RSN==77B29 ;REQUESTED RESOURCE TYPE
|
||
VS.DPR==1B33 ;[1164] PROTECTION IS TO BE DEFAULTED
|
||
VS.DDN==1B34 ;DENSITY STATUS IS DEFAULTED
|
||
VS.DTK==1B35 ;TRACK STATUS IS DEFAULTED
|
||
.VSRID:! BLOCK 1 ;VOLUME SET REQUEST ID
|
||
.VSLNK:! BLOCK 1 ;VOLUME SET REQUEST LINK
|
||
VS.LNK==0,,-1 ;VOLUME SET REQUEST LINK
|
||
.VSVSN:! BLOCK VSNLEN ;ASCIZ VOLUME SET NAME
|
||
.VSTXT:! BLOCK 1 ;TEXT POINTER FOR USER ACKS
|
||
VS.LEN==-1,,0 ;TEXT BLOCK LENGTH
|
||
VS.ADR==0,,-1 ;TEXT BLOCK ADDRESS
|
||
.VSREM:! BLOCK ^D12 ;ASCIZ USER REMARKS (59 CHARS MAX)
|
||
.VSCRE:! BLOCK 1 ;REQUEST CREATION TIME
|
||
.VSSCH:! BLOCK 1 ;REQUEST SCHEDULED TIME
|
||
.VSLNM:! BLOCK 1 ;VOLUME SET LOGICAL NAME (-10 ONLY)
|
||
.VSUCB:! BLOCK 1 ;POINTER TO LAST DEVICE ALLOCATED TO THIS VSL
|
||
.VSCVL:! BLOCK 1 ;VOL COUNT,,OFFSET TO THE CURRENT VOLUME
|
||
VS.OFF==0,,777000 ;OFFSET TO THE CURRENT VOLUME
|
||
VS.PRE==0,,000777 ;[1162] OFFSET TO THE PREVIOUS VOLUME
|
||
VS.CNT==-1,,0 ;VOLUME COUNT
|
||
.VSVOL:! BLOCK 1 ;POINTERS TO THE VOLUME LIST
|
||
|
||
VSLLEN:! ;MINIMUM LENGTH OF A VSL
|
||
|
||
DEPHASE
|
||
|
||
SUBTTL VOLUME LIST STRUCTURE (VOL)
|
||
|
||
|
||
|
||
; !-------------------------------------------------------!
|
||
; ! SIXBIT VOLUME NAME !
|
||
; !-------------------------------------------------------!
|
||
; ! OWNER PPN !
|
||
; !-------------------------------------------------------!
|
||
; ! VOLUME FLAG BITS !
|
||
; !-------------------------------------------------------!
|
||
; ! MOUNT COUNT ! OWNER OFFSET !
|
||
; !-------------------------------------------------------!
|
||
; ! POINTER TO THE UCB !
|
||
; !-------------------------------------------------------!
|
||
; / /
|
||
; / POINTER(S) TO THE VSL(S) /
|
||
; / /
|
||
; !-------------------------------------------------------!
|
||
|
||
PHASE 0
|
||
|
||
.VLNAM:! BLOCK 1 ;VOLUME NAME (STRUCTURE NAME OR VOL ID)
|
||
.VLVID:! BLOCK 1 ;INTERNAL VOLUME ID FOR STRUCTURES
|
||
.VLOID:! BLOCK 1 ;OWNER PPN OR USER ID
|
||
.VLMTM:! BLOCK 1 ;VOLUME MOUNT TIME
|
||
.VLFLG:! BLOCK 1 ;VOLUME FLAG BITS
|
||
VL.STA==7B2 ;VOLUME STATUS
|
||
%STAWT==0 ;VOLUME IS WAITING
|
||
%STAAB==1 ;VOLUME USE HAS BEEN ABORTED
|
||
%STAMN==2 ;VOLUME IS MOUNTED
|
||
%STADM==3 ;VOLUME IS TO BE DISMOUNTED
|
||
%STAIN==4 ;[1164] VOLUME IS INITIALIZING
|
||
VL.SCR==1B3 ;VOLUME IS A SCRATCH VOLUME
|
||
VL.SHR==1B4 ;VOLUME IS TO BE SHARED (DISK ONLY)
|
||
VL.DEN==7B7 ;VOLUME DENSITY
|
||
VL.LBT==17B11 ;VOLUME LABEL TYPE
|
||
VL.LUN==7B14 ;STRUCTURE LOGICAL UNIT NUMBER
|
||
VL.REM==1B15 ;REMOVE THE STRUCTURE ON DISMOUNT
|
||
VL.LCK==3B17 ;VOLUME LOCK STATUS
|
||
%UNLCK==0 ;NOT LOCKED
|
||
%LOCKD==1 ;LOCKED
|
||
%LOCKP==2 ;UNLOCKED, LOCK PENDING
|
||
%ULCKP==3 ;LOCKED, UNLOCK PENDING
|
||
VL.SRD==1B18 ;SET REQUESTED DENSITY FOR USER
|
||
VL.FRC==1B19 ;[1217] VOLUME 'FORCE' MOUNTED
|
||
VL.RSN==777B35 ;VOLUME RESOURCE NUMBER
|
||
VL.FLG==-1,,777000 ;FLAG AREA MASK (NOT INCLUDING RSN)
|
||
.VLLTM:! BLOCK 1 ;VOLUME LOCK OR UNLOCK TIME (UDT)
|
||
.VLOWN:! BLOCK 1 ;COUNT OF REQUESTORS,,OFFSET TO OWNER
|
||
VL.CNT==-1,,0 ;NUMBER OF REQUESTORS FOR THIS VOLUME
|
||
.VLUCB:! BLOCK 1 ;POINTER TO THE UCB
|
||
.VLPTR:! BLOCK 1 ;BACK,,FORWARD PTRS TO MULTIPLE VOL STRS
|
||
VL.PRV==-1,,0 ;ADDR OF PREVIOUS VOLUME BLOCK IN STR
|
||
VL.NXT==0,,-1 ;ADDR OF NEXT VOLUME BLOCK IN STR
|
||
.VLSTR:! BLOCK 1 ;VOLUME STRUCTURE NAME
|
||
.VLNXT:! BLOCK 1 ;SIXBIT VOL NAME OF NEXT VOL IN STR
|
||
.VLVSL:! BLOCK 1 ;POINTER(S) TO THE VSL(S)
|
||
VL.ASN==1B0 ;FLAG BIT INDICATING THAT VOL IS
|
||
; ASSIGNED BY THE USER
|
||
VL.ASK==1B1 ;FLAG BIT INDICATING THAT VOL
|
||
; ASSIGNMENT HAS BEEN REQUESTED
|
||
VL.OWN==1B2 ;FLAG BIT INDICATING THE VOLUME WAS
|
||
; OWNED BY THE USER AT SOME TIME
|
||
VL.AAS==1B3 ;STRUCTURE ALREADY ASSIGNED
|
||
|
||
VOLLEN:! ;MINIMUM VOLUME ENTRY LENGTH
|
||
|
||
DEPHASE
|
||
|
||
SUBTTL UNIT CONTROL BLOCK STRUCTURE
|
||
|
||
|
||
; !===============================================================!
|
||
; ! Device Name (Sixbit) !
|
||
; !---------------------------------------------------------------!
|
||
; ! Device Status Bits !
|
||
; !---------------------------------------------------------------!
|
||
; ! User Mount Count !
|
||
; !---------------------------------------------------------------!
|
||
; ! Volume Pointer !
|
||
; !===============================================================!
|
||
|
||
|
||
|
||
PHASE 0
|
||
|
||
.UCBNM:! BLOCK 1 ;UNIT/DEVICE NAME IN SIXBIT
|
||
.UCBAU:! BLOCK 1 ;ALTERNATE UNIT FOR DUAL PORTED SYSTEMS
|
||
.UCBST:! BLOCK 1 ;DEVICE STATUS BITS
|
||
UC.SEL==1B0 ;UNIT IS SELECTED (USED FOR OPR NOT)
|
||
UC.AVA==1B1 ;UNIT IS AVAILABLE FOR USE BY MDA
|
||
UC.200==1B2 ;DEVICE SUPPORTS 200 BPI
|
||
UC.556==1B3 ;DEVICE SUPPORTS 556 BPI
|
||
UC.800==1B4 ;DEVICE SUPPORTS 800 BPI
|
||
UC.1600==1B5 ;DEVICE SUPPORTS 1600 BPI
|
||
UC.6250==1B6 ;DEVICE SUPPORTS 6250 BPI
|
||
UC.AVR==1B7 ;AVR BIT 1=ENABLED
|
||
UC.WLK==1B8 ;UNIT WRITE LOCKED 1=LOCKED
|
||
UC.OFL==1B9 ;UNIT IS OFFLINE 1=OFFLINE
|
||
UC.DVT==17B13 ;UNIT DEV TYPE (%TAPE, %DISK, %DTAPE)
|
||
UC.KTP==37B18 ;UNIT CONTROLLER TYPE
|
||
UC.UTP==3B20 ;UNIT TYPE (DEPENDS ON UC.KTP)
|
||
UC.SHR==1B21 ;UNIT CAN BE SHARED
|
||
UC.RSN==777B30 ;UNIT RESOURCE NUMBER
|
||
UC.SWP==1B31 ;UNIT HAS SWAP SPACE ON IT
|
||
UC.INI==1B32 ;UNIT IS INITIALIZING
|
||
UC.TRK==3B34 ;TRACK STATUS 1=7TRK, 2=9TRK
|
||
%TRK7==1 ; 7 TRACK
|
||
%TRK9==2 ; 9 TRACK
|
||
UC.VSW==1B35 ;UCB IS IN VOLUME SWITCH STATE
|
||
.UCBS1:! BLOCK 1 ;[1217] YES, A SECOND WORD FOR STATUS
|
||
U1.FRC==1B0 ;[1217] 'FORCED MOUNT'. VOL LINKED IS
|
||
;[1217] BEING MOUNTED BEHIND PULSAR'S BACK
|
||
.UCBCN:! BLOCK 1 ;USER MOUNT COUNT
|
||
.UCBVL:! BLOCK 1 ;PTR TO VOLUME MOUNTED ON THIS DEVICE
|
||
.UCBVS:! BLOCK 1 ;POINTER TO THE VSL WHICH OWNS THIS UCB
|
||
|
||
UCBLEN:! ;A UCB LENGTH
|
||
|
||
.UCBS0==.UCBST ;[1217] FOR SYMMETRY
|
||
|
||
DEPHASE
|
||
|
||
;DEVICE AND RESOURCE TYPE DESCRIPTIONS
|
||
|
||
%UNKN==0 ;THIS IS AN UNKNOWN MOUNT REQUEST
|
||
%ZER1==%UNKN ;THIS IS A 'NO LEVEL' RESOURCE
|
||
%TAPE==1 ;THIS IS A TAPE MOUNT REQUEST
|
||
%DISK==2 ;THIS IS A STRUCTURE MOUNT REQUEST
|
||
%DTAP==3 ;THIS IS A DECTAPE MOUNT REQUEST
|
||
%DSMT==4 ;THIS IS A DISMOUNT REQUEST
|
||
%STRC==5 ;THIS IS A STRUCTURE
|
||
%TVOL==6 ;THIS IS A TAPE VOLUME RESOURCE
|
||
%DTVOL==7 ;THIS IS A DEC-TAPE VOLUME RESOURCE
|
||
%HLR1==%STRC ;THIS IS A HIGHER LEVEL RESOURCE
|
||
%LLR1==%DISK ;THIS IS A LOWER LEVEL RESOURCE
|
||
SUBTTL ALLOCATION AND DEADLOCK AVOIDANCE MATRICES
|
||
|
||
|
||
;'A' Matrix entry
|
||
|
||
PHASE 0
|
||
.AMNAM:! BLOCK 1 ;ASCIZ RESOURCE NAME ADDRESS
|
||
AM.USE==1B0 ;SLOT IN USE, (MUST BE SIGN BIT)
|
||
AM.PRM==1B1 ;NAME STRING FROM PERMANENT A MATRIX
|
||
AM.PRR==1B2 ;RESOURCE (STRUCTURE) IS 'PERMANENT'
|
||
;AND WILL 'NEVER' BE REMOVED FROM SYSTEM
|
||
AM.NAM==RHMASK ;ADRS OF NAME STRING
|
||
.AMSTA:! BLOCK 1 ;ENTRY STATUS BITS (SAME AS .UCBST),,0
|
||
AM.DVT==UC.DVT ;MATRIX ENTRY TYPE (%TAPE, %DISK, ETC)
|
||
.AMCNT:! BLOCK 1 ;ENTRY COUNTS
|
||
AM.AVA==7777B11 ;COUNT OF UNITS AVAILABLE
|
||
AM.ALO==7777B23 ;COUNT OF UNITS ALLOCATED
|
||
AM.CLM==7777B35 ;COUNT OF UNITS CLAIMED (OWNED)
|
||
.AMDLK:! BLOCK 1 ;SCRATCH WORD FOR USE DURING
|
||
;DEADLOCK AVOIDANCE COMPUTATIONS
|
||
AMALEN:! ;MATRIX ENTRY LENGTH
|
||
DEPHASE
|
||
|
||
MAXRES==3777 ;MAXIMUM NUMBER OF A RESOURCE AVAILABLE
|
||
SGNBIT==4000 ;SIGN BIT FOR RESOURCE COUNTS
|
||
|
||
;'A' Matrix Header
|
||
|
||
PHASE 0
|
||
.AMHDR:! BLOCK 1 ;MATRIX HEADER
|
||
AM.LEN==-1,,0 ;LENGTH IN LEFT HALF
|
||
AM.CNT==777B35 ;HIGHEST INDEX CURRENTLY IN USE
|
||
AM.MCN==777B26 ;# OF SLOTS IN THIS MATRIX (.GE. AM.CNT)
|
||
.AMSPR:! BLOCK AMALEN-.-.AMHDR ;SPARE HEADER WORDS
|
||
DEPHASE
|
||
|
||
|
||
;'B' & 'C' Matrix Entries
|
||
|
||
|
||
PHASE 0
|
||
.SMJOB:! BLOCK 1 ;USERS JOB NUMBER 400000+RID FOR BATCH
|
||
.SMFLG:! BLOCK 1 ;ENTRY FLAG WORD
|
||
SM.IGN==400000,,0 ;IGNORE THIS ENTRY
|
||
SM.CNT==0,,-1 ;RESOURCE COUNT
|
||
.SMDLK:! BLOCK 1 ;DEADLOCK FLAG BITS AND SEQUENCE NUMBERS
|
||
SM.PLY==1B0 ;ON IF THIS PROCESS HAS BEEN PLAYED
|
||
SM.DLK==1B1 ;ON IF THIS PROCESS IS IN A DEADLOCK
|
||
SM.SEQ==RHMASK ;POSITION PLAYED INTO SAFE SEQUENCE
|
||
;IF SM.PLY IS ON
|
||
.SMRES==.-1 ;RESOURCE # OFFSET (WITH BASE OF 1)
|
||
SM.RSN==-1,,0 ;RESOURCE NUMBER
|
||
SM.CLM==0,,-1 ;TOTAL CLAIMED
|
||
BLOCK 2 ;SPACE FOR 2 RESOURCE NUMBERS
|
||
SMALEN:! ;MINIMUM ENTRY LENGTH
|
||
DEPHASE
|
||
SUBTTL REQUEST FOR MOUNT ATTRIBUTES
|
||
|
||
;THIS IS A REQUEST TO QUASAR (ACTUALLY MTCON) FROM A USER TO RETURN
|
||
;ATTRIBUTES OF A MOUNTED DEVICE. THE MESSAGE SENT BY THE USER
|
||
;CONTAINS ONLY THE HEADER AND THE DEVICE DESIGNATOR. QUASAR
|
||
;ADDS THE PID AND CAPABILITIES WORDS AND PASSES THE MESSAGE TO
|
||
;MTCON, WHO THEN SENDS A REPLY TO THE USER'S PID.
|
||
|
||
;!=======================================================!
|
||
;! MESSAGE LENGTH ! MSG TYPE (.QOMAT) !
|
||
;!-------------------------------------------------------!
|
||
;! FLAGS !
|
||
;!-------------------------------------------------------!
|
||
;! USER'S ACKNOWLEDGMENT CODE !
|
||
;!=======================================================!
|
||
;! DEVICE DESIGNATOR !
|
||
;!-------------------------------------------------------!
|
||
;! USER'S PID !
|
||
;!-------------------------------------------------------!
|
||
;! USER CAPABILITIES ! USER JOB # !
|
||
;!=======================================================!
|
||
|
||
PHASE MSHSIZ
|
||
|
||
.MATDV:! BLOCK 1 ;DEVICE DESIGNATOR
|
||
.MATUS:! ;SIZE OF USER ATTRIBUTE REQUEST MESSAGE
|
||
.MATPD:! BLOCK 1 ;USER'S PID
|
||
.MATCP:! BLOCK 1 ;USER'S CAPABILITIES AND JOB NUMBER
|
||
.MATQS:! ;SIZE OF QUASAR-TO-MTCON MESSAGE
|
||
|
||
DEPHASE
|
||
SUBTTL RESPONSE TO REQUEST FOR MOUNT ATTRIBUTES
|
||
|
||
;!=======================================================!
|
||
;! MESSAGE LENGTH ! MESSAGE TYPE (.QOMAR) !
|
||
;!-------------------------------------------------------!
|
||
;! FLAGS !
|
||
;!-------------------------------------------------------!
|
||
;! USER'S ACKNOWLEDGMENT CODE !
|
||
;!=======================================================!
|
||
;! FLAGS (NONE DEFINED) !
|
||
;!-------------------------------------------------------!
|
||
;! ENTRY COUNT !
|
||
;!-------------------------------------------------------!
|
||
;! ENTRY 1 !
|
||
;!-------------------------------------------------------!
|
||
;! . !
|
||
;! . !
|
||
;! . !
|
||
;!-------------------------------------------------------!
|
||
;! ENTRY n !
|
||
;!=======================================================!
|
||
|
||
|
||
;DEFINE THE MESSAGE TYPE
|
||
|
||
.QOMAR==2 ;TAPE MOUNT ATTRIBUTES ANSWER
|
||
|
||
|
||
;EACH ENTRY CONSISTS OF A 1-WORD HEADER (LENGTH IN LEFT HALF, TYPE
|
||
;IN RIGHT HALF) FOLLOWED BY THE ENTRY-SPECIFIC INFORMATION. THE
|
||
;FOLLOWING ENTRIES ARE RETURNED FOR MAGTAPE DEVICES:
|
||
|
||
;.TMVOL LIST OF SIXBIT VOLIDS
|
||
|
||
;.TMSET SIXBIT SETNAME
|
||
|
||
;.MATDD DESIGNATOR OF MT DEVICE
|
||
|
||
.MATDD==100
|
||
|
||
|
||
|
||
SUBTTL The ARCHIVE Message - Function 41 (sent by IPCC)
|
||
|
||
TOPS20 <
|
||
|
||
PHASE 0
|
||
ARC.HD:!BLOCK 1 ; Header
|
||
|
||
ARC.FN:!BLOCK 1 ; Function and reason for message
|
||
AR.FNC==0,,-1 ; Function code
|
||
AR.MOD==-1,,0 ; Function modifier (reason)
|
||
|
||
ARC.PR:!BLOCK 1 ; Protection of file
|
||
AR.PRT==0,,-1 ; LH is unused
|
||
|
||
ARC.T1:!BLOCK 1 ; Tape ID #1
|
||
|
||
ARC.N1:!BLOCK 1 ; Further tape #1 info
|
||
AR.TSN==-1,,0 ; Tape saveset number
|
||
AR.TFN==0,,-1 ; Tape file number
|
||
|
||
ARC.T2:!BLOCK 1 ; Tape ID #2
|
||
|
||
ARC.N2:!BLOCK 1 ; Saveset and file nos. for tape #2
|
||
|
||
ARC.TT:!BLOCK 1 ; TAD file written to tape
|
||
|
||
ARC.AS:!BLOCK 10 ; Account string
|
||
|
||
ARC.FL:! ; File name begins here
|
||
|
||
ARC.SZ:! ; Minimum size of ARCHIVE msg
|
||
|
||
DEPHASE
|
||
|
||
> ;END TOPS20 CODE
|
||
|
||
|
||
; BLOCK DEFINITIONS FOR MDA (MOUNT/DISMOUNT/ALLOCATE/DEALLOCATE)
|
||
;
|
||
;TAPE DENSITY BLOCK
|
||
.QBDEN==42
|
||
; .QBLEN==0 ;TAPE DENSITY BLOCK LENGTH
|
||
.QBTDN==1 ;TAPE DENSITY CODE (.TFDxx)
|
||
;TAPE TRACK BLOCK
|
||
.QBTRK==43
|
||
; .QBLEN==0 ;TAPE TRACK BLOCK LENGTH
|
||
.QBDRV==1 ;TAPE TRACK REQUEST CODE
|
||
.QBDR9==1 ; WANT 9 TRACK DRIVE
|
||
.QBDR7==2 ; WANT 7 TRACK DRIVE
|
||
;LABEL TYPE BLOCK
|
||
.QBLTP==44
|
||
; .QBLEN==0 ;LABEL TYPE BLOCK LENGTH
|
||
.QBLAB==1 ;LABEL TYPE CODE (See .TFxxx)
|
||
;REMARK BLOCK
|
||
.QBRMK==45
|
||
; .QBLEN==0 ;REMARK BLOCK LENGTH
|
||
.QBREM==1 ;START OF ASCIZ REMARK TO BE SENT TO OPERATOR
|
||
;TAPE VOLUME LIST BLOCK
|
||
.QBVOL==46
|
||
; .QBLEN==0 ;TAPE VOLUME LIST BLOCK LENGTH
|
||
.QBVLS==1 ;START OF LIST OF SIXBIT TAPE VOLUME IDS (MAX 63)
|
||
;VOLUME SET LOGICAL NAME BLOCK
|
||
.QBLNM==47
|
||
; .QBLEN==0 ;LOGICAL NAME BLOCK LENGTH (MUST BE 2)
|
||
.QBLGN==1 ;SIXBIT LOGICAL NAME FOR THIS VOLUME SET
|
||
;MOUNT/DISMOUNT FLAG BLOCK
|
||
.QBMFG==50
|
||
; .QBLEN==0 ;FLAG BLOCK LENGTH (MUST BE 2)
|
||
.QBMDF==1 ;MOUNT/DISMOUNT FLAG BITS
|
||
QB.PAS==1B0 ;ADD STR TO PASSIVE SEARCH LIST (ACTIVE IS DEFAULT)
|
||
QB.EXC==1B1 ;WANT EXCLUSIVE/SINGLE ACCESS (SHARE IS DEAFULT)
|
||
QB.NOC==1B2 ;WANT /NOCREATE (CREATE IS DEFAULT)
|
||
QB.DSK==1B3 ;THIS IS A STRUCTURE REQUEST (UNKNOWN IS DEFAULT)
|
||
QB.TAP==1B4 ;THIS IS A TAPE REQUEST (UNKNOWN IS DEFAULT)
|
||
QB.WLK==1B5 ;WANT VOLUME SET WRITE LOCKED
|
||
QB.WEN==1B6 ;WANT VOLUME SET WRITE ENABLED
|
||
QB.REM==1B7 ;ASK OPR TO REMOVE STR ON DISMOUNT
|
||
QB.SCR==1B8 ;WANT SCRATCH TAPE
|
||
END
|