Trailing-Edge
-
PDP-10 Archives
-
BB-4172G-BM
-
language-sources/ornmac.mac
There are 44 other files named ornmac.mac in the archive. Click here to see a list.
UNIVERSAL ORNMAC -- Symbol File for ORION AND OPR
SUBTTL MURRAY BERKOWITZ 23-Aug-79
;
;
; COPYRIGHT (c) 1975,1976,1977,1978,1979
; DIGITAL EQUIPMENT CORPORATION
;
; 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.
.DIRECTIVE .NOBIN ;NO REL FILE NEEDED
SEARCH GALCNF ;GET GALAXY OPTIONS
SEARCH GLXMAC
IFN FTUUOS,<
IF1,<PRINTX BUILDING A GALAXY-10 ORNMAC>
SEARCH UUOSYM>
IFN FTJSYS,<
IF1,<PRINTX BUILDING A GALAXY-20 ORNMAC>
SEARCH MONSYM>
SALL ; CLEAN LISTINGS
XP FTRJE,FTRJE ;SETUP RJE VALUE
XP FTDN60,FTDN60 ;SETUP DN60 VALUE
%%.OPR==26 ;ORNMAC VERSION NUMBER
SUBTTL Table of Contents
; TABLE OF CONTENTS FOR ORNMAC
;
;
; SECTION PAGE
; 1. MURRAY BERKOWITZ 2-APR-79................................. 1
; 2. Table of Contents......................................... 3
; 3. Operating System Dependent Definitions.................... 3
; 4. DEFINE SYMBOLS FOR KEYWORD VALUES......................... 4
; 5. DEFINE SYMBOLS FOR SWITCHES............................... 5
; 6. SYNTAX TABLE MACROS....................................... 6
; 7. GALCNF PARAMETERS......................................... 7
; 8. ORNKEY, ORNDSP,ORNSDP AND ORNSWI MACROS FOR COMMAND TABLES 8
; 9. GENERAL MESSAGE FORMAT.................................... 8
; 10. ORION Message Codes....................................... 9
; 11. SPECIAL ORION ACCUMULATOR ASSIGNMENTS..................... 10
; 12. THE OBJECT AREA........................................... 11
; 13. ORION COMMAND MESSAGES.................................... 12
; 14. OPRHEL -- OPR HELLO MESSAGE TO ORION...................... 13
; 15. START,STOP(PAUSE),CONTINUE AND SHUTDOWN................... 14
; 16. OPRSET -- OPR SETUP MESSAGE FROM ORION.............. 15
; 17. OPRSTR -- OPR SETUP REPLY TO ORION.................. 16
; 18. APLHEL -- APPLICATION HELLO MESSAGE................. 17
; 19. APLACK -- ACKNOWLEDGEMENT TO APPLICATION HELLO...... 18
; 20. The SET Message........................................... 19
; 21. FORWARDSPACE AND BACKSPACE COMMANDS....................... 20
; 22. HOLD AND RELEASE COMMANDS................................. 21
; 23. MODIFY MESSAGE............................................ 22
; 24. ROUTE COMMAND............................................. 23
; 25. DELETE COMMAND............................................ 24
; 26. The SEND Message.......................................... 25
; 27. The NOTIFY Message........................................ 26
; 28. The SUPPRESS Message...................................... 27
; 29. CANCEL COMMAND MESSAGE.................................... 28
; 30. REQUEUE COMMAND MESSAGE................................... 29
; 31. DEFINE COMMAND MESSAGE.................................... 30
; 32. TAPE AND DISK COMMANDS.................................... 31
; 33. SHOW COMMANDS FOR TAPES................................... 32
; 34. SWITCH COMMAND............................................ 33
; 35. DISMOUNT COMMAND.......................................... 34
; 36. UNLOAD COMMAND............................................ 35
; 37. RECOGNIZE COMMAND FOR -10................................. 35
; 38. SET TAPE AND DISK COMMANDS................................ 36
; 39. SET STRUCTURE COMMAND FOR DISKS........................... 37
; 40. SET TAPE XXX INITIALIZE COMMAND........................... 38
; 41. ENABLE AND DISABLE COMMAND FOR TAPES...................... 39
; 42. MOUNT COMMAND FOR TAPE AND DISK........................... 40
; 43. IDENTIFY MESSAGE FOR TAPES................................ 41
; 44. RESPONSE MESSAGE.......................................... 42
; 45. COMMAND Message........................................... 43
; 46. DN60 COMMAND MESSAGE...................................... 44
; 47. WTO,WTOR AND ACK FORMATS FOR ALL PROGRAMS................. 45
; 48. ALIGN MESSAGE............................................. 46
; 49. The STATUS Message........................................ 47
; 50. The SHOW CONTROL-FILE Message............................. 48
; 51. SHOW STATUS MESSAGE....................................... 49
; 52. LOGOUT Message - Function 27 (sent by IPCC)............... 50
; 53. ORION Fatal Error Codes................................... 51
; 54. PARSER SETUP MACROS....................................... 52
; 55. Node/Operator Data Base................................... 53
; 56. OPR LIST ENTRY............................................ 54
; 57. OPR TABLE DATA BASE STRUCTURE............................. 54
; 58. OPERATOR MESSAGE LIST ENTRY............................... 55
; 59. CONSTANT DEFINITIONS FOR PARSER........................... 56
; 60. PARSER BLOCK DESCRIPTION.................................. 57
; 61. PARSER FLAG VALUES........................................ 57
; 62. ARGUMENT BLOCK FOR CALLING THE PARSER..................... 58
; 63. RETURN BLOCK FROM THE PARSER.............................. 59
; 64. TABLE HANDLING DEFINITIONS................................ 60
; 65. RESEND LIST DATA BASE..................................... 61
; 66. SEND FAILURE DATA BASE.................................... 62
; 67. INTERRUPT DATA............................................ 63
; 68. DN200 OPR DEFINITIONS..................................... 64
; 69. DATA STRUCTURES FOR -20 SRV:.............................. 65
; 70. ERROPR -- ERROR TABLES FOR OPR..................... 66
SUBTTL Operating System Dependent Definitions
;DEFINE THE COMND JSYS FUNCTIONS FOR ORION TO USE ON TOPS-10
SYSPRM(.CMKEY,0,)
SYSPRM(.CMNUM,1,)
SYSPRM(.CMNOI,2,)
SYSPRM(.CMSWI,3,)
SYSPRM(.CMIFI,4,)
SYSPRM(.CMOFI,5,)
SYSPRM(.CMFIL,6,)
SYSPRM(.CMFLD,7,)
SYSPRM(.CMCFM,10,)
SYSPRM(.CMDIR,11,)
SYSPRM(.CMUSR,12,)
SYSPRM(.CMCMA,13,)
SYSPRM(.CMINI,14,)
SYSPRM(.CMFLT,15,)
SYSPRM(.CMDEV,16,)
SYSPRM(.CMTXT,17,)
SYSPRM(.CMTAD,20,)
SYSPRM(.CMQST,21,)
SYSPRM(.CMUQS,22,)
SYSPRM(.CMTOK,23,)
SYSPRM(.CMNUX,24,)
SYSPRM(.CMACT,25,)
SYSPRM(.CMNOD,26,)
;DEFINE TAPE AND TTY FLAGS FOR DEVICE DESIGNATORS
SYSPRM DV%MTA,DV.MTA,.DVMTA ;TAPE VALUE
SYSPRM DV%TTY,DV.TTY,.DVTTY ;TTY VALUE
SUBTTL DEFINE SYMBOLS FOR KEYWORD VALUES
;THE VALUES HERE ARE USED TO PASS WHICH KEYWORD THE PARSER SAW
; TO THE EVENT PROCESSOR
;THERE WILL BE 3 KEYWORD TABLES
; KEYMAIN - MAIN KEYWORDS THAT START COMMANDS
; KEYOBJ - KEYWORDS THAT ARE OBJECTS
; OBJORN - ORION OBJECTS ..DEVICES BAT,LPT,CDP,CDR
; KEYWORD - ALL OTHER KEYWORDS
DEFINE KEYMAIN,<
X ALIGN,ALI ;ALIGN
X BACKSPACE,BKS ;BACKSPACE
X CANCEL,CNC ;CANCEL
X CLOSE,CLO ;CLOSE
X CONTINUE,CNT ;CONTINUE
X DELETE,DEL ;DELETE COMMAND
IFN FTDN60,<
X DEFINE,DEF ;DEFINE
>;END FTDN60
X DISABLE,DIS ;DISABLE
X DISMOUNT,DSM ;DISMOUNT COMMAND
X ENABLE,ENA ; ENABLE
X ENTER,ENT ;ENTER
X EXIT,EXT ;EXIT
X FORWARDSPACE,FWS ;FORWARDSPACE
X HELP,HLP ;HELP COMMAND
X HOLD,HLD ;HOLD
X IDENTIFY,IDN ;IDENTIFY
X MODIFY,MOD ;MODIFY COMMAND
X MOUNT,MTN ;MOUNT COMMAND
X PAUSE,PAU ;PAUSE
TOPS20< X PUSH,PUS> ;PUSH COMMAND
X PRINT,PRT ;PRINT COMMAND
TOPS10 < X RECOGNIZE,REC > ;RECOGNIZE COMMAND
X RELEASE,REL ;RELEASE
X REPORT,RPT ;REPORT
X REQUEUE,REQ ;REQUEUE
X RESPOND,RSP ;RESPOND
X RETURN,RTN ;RETURN
X ROUTE,RTE ;ROUTE (ROUTE COMMAND FOR QUASAR)
X SEND,SND ;SEND
X SET,SET ;SET
X SHOW,SHW ;SHOW
X SHUTDOWN,SHD ;SHUTDOWN
X START,STA ;STARTUP
X SUBMIT,SUB ;SUBMIT COMMAND
X SUPPRESS,SUP ;SUPPRESS
X TAKE,TAK ;TAKE
X UNLOAD,UNL ;UNLOAD COMMAND
X WAIT,WAI ;WAIT COMMAND
;COMMANDS FOR TAPE AND DISK
X SWITCH,SWI ;SWITCH COMMAND
;COMMANDS FOR MDA ON -10
X LOCK,LOC ;LOCK COMMAND
X UNLOCK,ULC ;UNLOCK
>;END OF KEYMAIN
DEFINE KEYOBJ,<
X JOB,JOB ;JOB
X OPERATOR,OPR ;OPERATOR
X TERMINAL,TRM ;TERMINAL
>;END KEYOBJ
; *** THE OBJORN ENTRIES MUST BE IN ALPHABETICAL ORDER. ***
DEFINE OBJORN,<
X (<BATCH>,BAT) ;BATCH-STREAM
X (<CARD-PUNCH>,CDP) ;CARD-PUNCH
X <CARD-READER-INTERPRETER>,BIN ;READER INTERPRETER
IFN FTJSYS,<
X <FILE-RETRIEVAL>,RET ;RETREIVAL REQUESTS
>;END FTJSYS
IFN FTDN60,<
X <IBM>,IBM ;IBM EMULATION MESSAGES
>;END FTDN60
X <MOUNT>,MNT ;MOUNT REQUESTS
X (<PAPER-TAPE-PUNCH>,PTP);PAPER-TAPE-PUNCH
X PLOTTER,PLT ;PLOTTER
X PRINTER,LPT ;PRINTER
X READER,RDR ;READER
>;END OBJORN
DEFINE KEYWORD,<
X ALL,ALL ;ALL
X <ALL-MESSAGES>,ALM ;ALL-MESSAGES
X <ALL-NODES>,ALG ;ALL-NODES
X ASK,ASK ;ASK
X(<BEGINNING-OF>,BEG) ;BEGINNING-OF
X <CONTROL-FILE>,CTL ;CONTROL-FILE
X COPY,CPY ;COPY
X(<CURRENT-POSITION>,CUR) ;CURRENT-POSITION
X DAYTIME,DAY ;DAYTIME
X <ERROR-MESSAGES>,ERM ;ERROR-MESSAGES
X FILE,FIL ;FILE
X (<FORMS-TYPE>,FOT) ;FORMS-TYPE
X IGNORE,IGN ;IGNORE
X <JOB-MESSAGES>,JOM ;JOB MESSAGES
X KEYPAD,KPD ;KEYPAD
X (<LIMIT-EXCEEDED-ACTION>,LEA) ;LIMIT-EXCEEDED-ACTION
X LINE,LIN ;LINE....LINE NUMBER
X LOG,LOG ;LOG
X LOGGING,LGG ;LOGGING
X (<MEMORY-LIMITS>,MEM) ;MEMORY-LIMITS
X MESSAGES,MSG ;MESSAGES
X NODE,NOD ;NODE
X NOKEYPAD,NKP ;NOKEYPAD
X(<NOOPR-INTERVENTION>,NOI) ;NOOPR-INTERVENTION
X <OPR-ACTION-MESSAGES>,OAM ;OPERATOR ACTION MESSAGES
X <ONLINE>,ONL ;ONLINE
X(<OPR-INTERVENTION>,OIA) ;OPR-INTERVENTION
X OTHER,OTH ;OTHER MESSAGES
X <OUTPUT-DISPLAY>,OPD ;OUTPUT-DISPLAY
X(<OUTPUT-LIMITS>,OPL) ;OUTPUT-LIMITS
X (<PAGE-LIMITS>,PGL) ;PAGE-LIMITS
X PARAMETERS,PRM ;PARAMETERS
X PRIORITY,PRI ;PRIORITY
X (<PRIORITY-LIMITS>,PRL) ;PRIORITY-LIMITS
X REQUEST,RQN ;REQUEST NUMBER
X QUEUE,QUE ;QUEUE
X STATUS,STS ;STATUS
X SYSTEM,SYS ;SYSTEM
X <TAKE-COMMANDS>,TAC ;TAKE-COMMANDS
X (<TIME-LIMITS>,TIM) ;TIME-LIMITS
X TO,TO ;TO (USED IN ROUTE COMMAND)
X TYPE,TYP ;TYPE (TERMINAL TYPE)
;DN60 KEYWORDS
IFN FTDN60,<
X <BYTES-PER-MESSAGE>,BPM ;BYTES PER MESSAGE
X <CLEAR-SEND-DELAY>,CSD ;CLEAR TO SEND DELAY
X <DATA-TERMINAL-READY>,DTR ;DATA TERMINAL READY
X <EMULATION>,EMU ;EMULATION
X HASP,HSP ;HASP
X <NO-SIGNON-REQUIRED>,NSN;NO-SIGNON-REQUIRED
X OFF,OFF ;OFF
X ON,ON ;ON
X <RECORDS-PER-MESSAGE>,RPM ;RECORDS PER MESSAGE
X SECONDARY,SEC ;SECONDARY PROTOCOL
X <SILO-WARNING-LEVEL>,SWL ;SILO WARNING LEVEL
X <SIGNON-REQUIRED>,SON ;SIGNON-REQUIRED
; SYMBOL DEFINED BUT VALUE O.K.
;X <TERMINATION>,TRM ;TERMINATION
X <TIMEOUT-CATEGORY>,TOU ;TIMEOUT CATEGORY
X <TRANSPARENCY>,TRA ;TRANSPARENCY
X 2780,278 ;2780
X 3780,378 ;3780
>;END FTDN60
;TAPE AND DISK KEYWORDS
X <ACKNOWLEDGED>,ACK ;ACKNOWLEDGED
X <ALL-TAPE-DRIVES>,ATP ;ALL TAPE DRIVES
X <ANSI>,ANS ;ANSI LABELS
X <AUTOMATIC-VOLUME-RECOGNITION>,AVR ;AVR
X <AVAILABLE>,AVA ;AVAILABLE
X <CHANNEL>,CHN ;CHANNEL
X <DRIVE>,DRV ;DRIVE
X <DISK-DRIVE>,DSK ;DISK DRIVE
X <DOMESTIC>,DOM ;DOMESTIC
X <EBCDIC>,EBC ;EBCDIC
X <FOREIGN>,FOR ;FOREIGN
X <INITIALIZE>,INI ;INITIALIZE
X NO,NO ;NO
X <REGULATED>,REG ;REGULATED
X <SCRATCH>,SCR ;SCRATCH
X <STRUCTURE>,STR ;STRUCTURE
X <TAPE-DRIVE>,TAP ;TAPE-DRIVE
X <TOPS20>,T20 ;TOPS-20 LABELS
X <UNAVAILABLE>,UAV ;UNAVAILABLE
;VALUE ALREADY DEFINED SO NO NEED TO DEFINE AGAIN
;X <UNLABELED>,UNL ;UNLABELED
X <UNREGULATED>,URG ;UNREGULATED
X <VOLUME-ID>,VID ;VOLUME-ID
X YES,YES ;YES
X 200,200 ;DENSITY OF 200
X 556,556 ;DENSITY OF 556
X 800,800 ;DENSITY OF 800
X 160,160 ;DENSITY OF 1600
X 625,625 ;DENSITY OF 6250
;TOPS20 COMMANDS
X <BIAS-CONTROL>,BIA ;BIAS CONTROL
X <SCHEDULER>,SCH ;SCHEDULER
X <NONE>,NON ;NONE
X <BACKGROUND>,BCK ;BACKGROUND
X <CLASS>,CLS ;CLASS
X <ACCOUNTS>,ACT ;ACCOUNTS
X <ALLOCATED>,ALO ;ALLOACTED
X <WITHHELD>,WHD ;WITHHELD
X <POLICY-PROGRAM>,PPR ;POLICY PROGRAM
;MDA COMMANDS
X <AUTOMATIC-STRUCTURE-RECOGNITION>,ASR ;ASR
> ;END OF DEFINITION OF KEYWORDS
;NOW DEFINE THE X MACRO TO GENERATE THE NEEDED SYMBOLS
DEFINE X(A,B),<
IF1,<IFDEF .KY'B,< PRINTX ? DUPLICATE KEYWORD CODE -- .KY'B>>
.KY'B==..Z
..Z==..Z+1
>
;INITIALIZE THE COUNTER AND CALL KEYWORD TO GENERATE THE SYMBOLS
..Z==100000
KEYMAIN
..Z==200000
KEYWORD
DEFINE X(A,B),<
IF1,<IFDEF .KY'B,< PRINTX ? DUPLICATE KEYWORD CODE -- .KY'B>>
.KY'B=.OT'B
>;END X
KEYOBJ
OBJORN
SUBTTL DEFINE SYMBOLS FOR SWITCHES
;THESE SYMBOLS ARE USED TO INDICATE WHAT SWITCH WAS SEEN BY THE PARSER
;TO THE EVENT PROCESSOR
DEFINE SWITCH,<
X <ALL>,ALL ;/ALL
X <APPEND>,APD ;/APPEND
X <AVAILABLE>,AVA ;/AVAILABLE
X <CHARACTERISTICS>,CHR ;/CHARACTERISTICS
X <COPIES:>,CPY ;/COPIES:
X <CREATE>,CRE ;/CREATE
X <DEVICE:>,DEV ;/DEVICE:
X <FILE:>,FIL ;/FILE:
X <FREE>,FRE ;/FREE
X <LINES>,LNS ;/LINES
X <PAGES:>,PAG ;/PAGES:
X <JOBNAME:>,JOB ;/JOBNAME:
X <MOUNTED>,MNT ;/MOUNTED
X <NODE:>,NOD ;/NODE
X <PAUSE:>,PAU ;/PAUSE
X <REQUEST-ID:>,REQ ;/REQUEST-ID:
X <REPEAT-COUNT:>,RPT ;/REPEAT
X <SEQUENCE:>,SEQ ;/SEQUENCE:
X <SHORT>,SHT ;/SHORT
X <STOP>,STP ;/STOP
X <JOB>,JBX ;/JOB
X <SUPERCEDE>,SPR ;/SUPERCEDE
X <PURGE>,PUR ;/PURGE (FOR JOB ERROR )
X <ERROR-PROCESSING>,ERR ;/ERROR-PROCESSING
X <NOERROR-PROCESSING>,NER;/NOERROR-PROCESSING
X <REASON:>,RSN ;/REASON
X <DISPLAY>,DSP ;/DISPLAY
X <NODISPLAY>,NDP ;/NODISPLAY
X <OPR-ACTION-MESSAGE>,OAM ;/OPR-ACTION MESSAGES
X <OTHER>,OTH ;/OTHER
;TAPE AND DISK -20 COMMAND SWITCHES
X <COUNT:>,CNT ;/COUNT:
X <DENSITY:>,DEN ;/DENSITY:
X <INCREMENT:>,INC ;/INCREMENT:
X <LABEL-TYPE:>,LBT ;/LABEL-TYPE
X <OVERIDE-EXPIRATION:>,OVR;/OVERIDE-EXPIRATION
X <OWNER:>,OWN ;/OWNER:
X <PROTECTION>,PRO ;/PROTECTION:
X <STARTING-VOLUME-ID:>,SVI;/START-VOLUME-ID:
X <TAPE-DISPOSITION:>,TDP ;/TAPE-DISPOSITION
X <VOLUME-ID>,VID ;/VOLUME-ID
;-20 SCHEDULER SWITCHES
X <WINDFALL:>,WFL ;/WINDFALL:
X <CLASS-ASSIGNMENTS:>,CAS ;/CLASS-ASSIGNMENTS:
>
DEFINE X(A,B),<
IF1,<IFDEF .SW'B,< PRINTX ? DUPLICATE SWITCH CODE -- .SW'B>>
.SW'B==..Z
..Z==..Z+1
>
..Z==400000
SWITCH
SUBTTL SYNTAX TABLE MACROS
;THESE MACROS ARE USED TO GET THE DATA FROM GALGEN AND BUILD
;THE NECESSARY DATA NEEDED BY OPR AND ORION
;DEFINE APPLICATION TABLES
DEFINE TABAPL,<
;THIS TABLE MUST BE IN ALPAHABETICAL ORDER BY THE FIRST ARGUMENT
; X NAME,CODE,TABLE NAME
G$$ATB ;GET TABLE VALUES
>;END TABAPL
APLBEG==700000 ;START APPLICATION CODES
OP.AAP==0 ;ALL APLLICATION MESSAGES
DEFINE X(A,B,C),<.ZZ==.ZZ+1
IF1,<IFDEF .KY'B,< PRINTX ? DUPLICATE APPLICATION CODE -- .KY'B>>
IF1,<IFDEF OP.'B,< PRINTX ? DUPLICATE MESSAGE FLAG -- OP.'B>>
.KY'B==APLBEG+.ZZ
OP.'B==1B<.ZZ>
OP.AAP==OP.AAP!OP.'B
>;END OF X
.ZZ==0
TABAPL ;EXPAND APPLICATION TABLES
NUMAPL==.ZZ ;NUMBER OF TABLES
IFG <NUMAPL-^D18>,
<<PRINTX NUMBER OF APPLICATIONS IS GREATER THAN 18 COMPILE ABORTED>
<PRINTX PLEASE CORRECT THE GALGEN PROCEDURE AND RECOMPILE>
END>
%CHKTM==1 ;CHECKPOINT LOG INTERVAL
SUBTTL GALCNF PARAMETERS
XP O.LENA,G.OLOG
DEFINE O$LOGN,< G$$LGN >;GET LOG NAME
DEFINE X(A),<> ;NULL X EXPANSION
O$LOGN ;COPY IN MACRO
SUBTTL ORNKEY, ORNDSP,ORNSDP AND ORNSWI MACROS FOR COMMAND TABLES
;THESE MACROS ARE USED TO DEFINE KEYWORD AND SWITCH TABLES
;THEY USE THE SOFTWARE HALF OF THE TABLE TO POINT TO A WORD
; CONTAINING .KYXXX OR .SWXXX IN THE LH AND THE ADDRESS OF THE
; NEXT PDB CHAIN IN THE RH
;
;TO GENERATE A TABLE, YOU NEED ONE OF THESE MACROS PER ENTRY.
;THEY MUST BE IN ALPHABETICAL ORDER
DEFINE ORNDSP(NXT,KEY,CODE,FLAGS),<
DSPTAB(NXT,.KY'CODE,KEY,FLAGS)
>;END ORNDSP
DEFINE ORNKEY(KEY,CODE,FLAGS),<
KEYTAB(.KY'CODE,KEY,FLAGS)
>;END ORNKEY
DEFINE ORNSWI(SWITCH,CODE,FLAGS),<
KEYTAB(.SW'CODE,SWITCH,FLAGS)
>;END ORNSWI
DEFINE ORNSDP(NXT,SWITCH,CODE,FLAGS),<
DSPTAB(NXT,.SW'CODE,SWITCH,FLAGS)
>;END ORNSWI
SUBTTL GENERAL MESSAGE FORMAT
COMMENT $
All ORION messages consist of a message header, at least one object
area, an ORNMAC version number, and a pointer to an argument length
word.
$
SUBTTL ORION Message Codes
;The following codes are placed into the message header field, MS.TYP to
; indicate what type of message follows.
.OMOFF==200000 ;OFFSET OF FIRST ORION MESSAGE
.OMSTA==200002 ;START MESSAGE
.OMSHT==200003 ;SHUTDOWN MESSAGE
.OMPAU==200004 ;PAUSE MESSAGE
.OMCON==200005 ;CONTINUE MESSAGE
.OMSHS==200006 ;SHOW STATUS MESSAGE
.OMAHL==200007 ;APPLICATION HELLO MESSAGE
.OMSTS==200010 ;STATUS MESSAGE
.OMWTO==200011 ;WRITE TO OPERATOR MESSAGE
.OMRSP==200012 ;RESPONSE TO WTO MESSAGE (SENT BY ORION)
.OMWTR==200013 ;WTOR MESSAGE
.OMACK==200014 ;ACKNOWLEDGEMENT MESSAGE
.OMOHL==200015 ;OPR HELLO MESSAGE
.OMOST==200016 ;OPR SETUP MESSAGE
.OMOSR==200017 ;OPR SETUP REPLY
.OMHAC==200020 ;HELLO ACK FOR APPLICATIONS
.OMQHL==200021 ;QUASAR HELLO MESSAGE
.OMREQ==200025 ;REQUEUE MESSAGE
.OMCAN==200026 ;CANCEL MESSAGE
.OMSET==200027 ;SET MESSAGE
.OMFWS==200031 ;FORWARDSPACING MESSAGE
.OMALI==200032 ;ALIGN MESSAGE
.OMSUP==200033 ;SUPPRESS MESSAGE
.OMBKS==200034 ;BACKSPACE COMMAND
.OMSND==200035 ;SEND COMMAND
.OMSHC==200036 ;SHOW CONTROL FILE(EXAMINE)
.OMSHP==200037 ;SHOW PARAMETERS MESSAGE
.OMRTE==200040 ;ROUTE COMMAND
.OMSHQ==200041 ;SHOW QUEUES COMMAND
.OMHLD==200042 ;HOLD COMMAND
.OMREL==200043 ;RELEASE COMMAND
.OMSHR==200044 ;SHOW ROUTE TABLES COMMAND
.OMACS==200045 ;ACK FOR SHOW MESSAGES
.OMTKE==200046 ;END OF TAKE FILE FLAG
.OMCMD==200050 ;OPR COMMAND MESSAGE
.OMDSP==200051 ;DISPLAY MESSAGE TO PASS A DISPLAY TO OPR
.OMSHM==200052 ;SHO MOUNT REQUESTS
.OMLOG==200053 ;LOG MESSAGE TYPE
.OMNFY==200054 ;NOTIFY MESSAGE FROM QUASAR
.OMDEL==200055 ;DELETE COMMAND
.OMSUB==200056 ;SUBMIT COMMAND
.OMPRT==200057 ;PRINT COMMAND
.OMMOD==200060 ;MODIFY COMMAND
.OMQUE==200061 ;QUEUE REQUEST ENABLE/DISABLE
.OMENA==200062 ;ENABLE MESSAGE
.OMDIS==200063 ;DISABLE MESSAGE
.OMDEF==200064 ;DEFINE COMMAND
.OMD60==200065 ;DN60 COMMAND MESSAGE
.OMSSN==200066 ;SHOW STATUS NETWORK-NODE
.OMSPN==200067 ;SHOW PARAMETERS NETWORK-NODE
.OMLOC==200070 ;LOCK COMMAND
.OMULC==200071 ;UNLOCK COMMAND
.OMSTR==200072 ;SHOW STATUS STRUCTURES
.OMHGH==.OMSTR ;HIGHEST DEFINE ORION MESSAGE
.OMTXT==MT.TXT ;TEXT MESSAGE SYMBOL ***
;MESSAGE CODES USED FOR TAPE AND DISK COMMANDS IN RELEASE 4
.OTMES==201000 ;OFFSET FOR TAPE AND DISK MESSAGES
.OTSHT==201001 ;SHOW STATUS TAPE
.OTSHD==201002 ;SHOW STATUS DISK DRIVES
.OTENA==201003 ;ENABLE TAPE COMMAND
.OTDIS==201004 ;DISABLE MOUNT COMMAND
.OTMTS==201005 ;MOUNT STRUCTURE COMMAND
.OTDSM==201006 ;DISMOUNT COMMAND
.OTSDK==201007 ;SET DISK COMMAND
.OTSTP==201010 ;SET TAPE COMMAND
.OTSST==201011 ;SET STRUCTURE COMMAND
.OTREC==201012 ;RECOGNIZE COMMAND FOR -10
.OTUNL==201013 ;UNLOAD COMMAND
.OTIDN==201014 ;IDENTIFY MOUNT REQUEST MESSAGE
.OTDMT==201015 ;DELETE MOUNT REQUESTS
.OTSWI==201016 ;SWITCH COMMAND FOR TAPE REQUESTS
SUBTTL SPECIAL ORION ACCUMULATOR ASSIGNMENTS
;CHANGE MI TO 15 AND MO TO 14 FROM 16 AND 15
MI==15 ;POINTER TO MESSAGE RECEIVED
MO==14 ;POINTER TO MESSAGE TO SEND
; PB==14 ;POINTER TO FIELD IN MESSAGE RECEIVED
FLAG==13 ;FLAG AC
;P4 WILL BE USED AS A FLAG REGISTER FLAG AND THEREFORE SHOULD
;NOT BE USED ANYWHERE ELSE
SUBTTL THE OBJECT AREA
;THIS AREA IS USED TO DEFINE WHAT OBJECT OR OBJECTS A PARTICULAR
;MESSAGE APPLIES TO. AT LEAST ONE OF THESE IS IN EVERY MESSAGE.
;THIS AREA IS AN EXACT COPY A GALAXY DEVICE-OBJECT DESIGNATOR DESCRIBED
;IN GLXMAC
;SEE GLXMAC FOR A DESCRIPTION OF ITS CONTENTS
PHASE MSHSIZ
.OBJTY==.+OBJ.TY ;OBJECT TYPE WORD
.OBJUN==.+OBJ.UN ;OBJECT UNIT NUMBER WORD
.OBJND==.+OBJ.ND ;NODE NAME
BLOCK OBJ.SZ ;SAVE THE SPACE SO LATER AREAS ARE
;CORRECTLY PLACED
OBJSIZ:! ;SIZE OF OBJECT AREA
DEPHASE
.OBJLN==OBJ.SZ+1 ;SIZE OF OBJECT ARGUMENT BLOCK
;THE ARGUMENT COUNT WORD
PHASE OBJSIZ
.ARGLN:! BLOCK 1 ;ARGUMENT COUNT POINTER
DEPHASE
SUBTTL ORION COMMAND MESSAGES
;THE FOLLOWING IS A DESCRIPTION OF THE LAYOUT OF ALL MESSAGES
;SENT TO AN OBJECT PROCESSOR SIGNING ON WITH THE STANDARD HELLO
;MESSAGE AS WELL AS RESPOND MESSAGES FOR WTO
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
PHASE MSHSIZ
.OFLAG:! BLOCK 1 ;FLAG WORD FOR MESSAGE
.OARGC:! BLOCK 1 ;ARGUMENT COUNT WORD
.OHDRS:! ;SIZE OF THE HEADER
DEPHASE
;DESCRIPTION OF THE ARGUMENT BLOCK
PHASE 0
ARG.HD:! BLOCK 1 ;ARGUMENT HEADER WORD
AR.LEN==-1,,0 ;LENGTH OF THE BLOCK
AR.TYP==0,,-1 ;TYPE OF BLOCK
ARG.DA:! BLOCK 1 ;START OF DATA AREA
ARG.SZ:! ;MINIMUM SIZE OF THE BLOCK
DEPHASE
;GENERAL DATA TYPES FOR ALL MESSAGES
.OROBJ==100 ;OBJECT BLOCK
.ORTYP==101 ;OBJECT TYPE FIELD
.ORJBN==102 ;JOBNAME TYPE FIELD
.ORSEQ==103 ;SEQUENCE NUMBER FIELD
.ORREA==104 ;REASON TYPE FIELD
.ORDSP==105 ;OPR DISPLAY ARGUMENT
.ORREQ==106 ;REQUEST NUMBER FIELD
.ORNOD==107 ;NODE BLOCK FOR QUASAR VALIDATION
.ORD60==110 ;DN60 BLOCK OF DATA
.ORTIM==111 ;TIME BLOCK (UDT)
;THE FOLLOWING ARE THE COMMAND TYPES CURRENTLY USED AS
;GENERAL ARGUMENT TYPES
;
;.CMNOD FOR NODE NAME TYPE
;.CMTXT FOR TEXT ASCIZ DATA
;.CMIFI FOR INPUT FILE SPEC
;.CMUSR FOR USER ID INFORMATION
;.CMDEV FOR DEVICE DESIGNATOR
SUBTTL OPRHEL -- OPR HELLO MESSAGE TO ORION
; THIS MESSGE IS SENT BY AN OPR TO ORION IDENTIFYING WHAT
; NODE THE OPR IS AT.
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
; THIS MESSAGE USES THE STANDARD ARGUMENT HEADER LAYOUT
; AND REQUIRES ONE ARGUMENT BLOCK AT THIS TIME
;
; THIS ARGUMENT BLOCK CONTAINS FOUR WORDS
;
; 1. NODE NAME WHERE OPR LOCATED
; 2. OPR VERSION NUMBER
; 3. ORNMAC VERSION NUMBER
;THE FOLLOWING FLAGS WILL BE TURNED ON BY AN OPR ON THE -20
;WITH REMOTE PRIVILEGES.
OP.RMT==1B0 ;REMOTE OPERATOR HELLO
.OPHEL==100 ;OPR HELLO BLOCK TYPE
PHASE ARG.DA
OPH.ND:! BLOCK 1 ;OPR HELLO NODE LOCATION
OPH.VN:! BLOCK 1 ;VERSION NUMBER OF THE OPR
OPH.OV:! BLOCK 1 ;ORNMAC VERSION NUMBER
OPH.SZ:! ;LENGTH OF THE BLOCK
DEPHASE
SUBTTL START,STOP(PAUSE),CONTINUE AND SHUTDOWN
;THE FORMAT FOR THESE MESSAGES IS JUST AN OBJECT BLOCK
;EXCEPT THAT THE START COMMAND FOR PRINTERS WILL TAKE
;AN OPTIONAL ARGUMENT FOR DEVICE
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
; THE MESSAGES ALL CONTAIN AN OBJECT BLOCK .OROBJ
; AND FOR START OF PRINTERS AND OPTIONAL .CMDEV
;
;
;THE START AND SHUTDOWN COMMANDS CAN CONTAIN JUST A .ORNOD BLOCK FOR
;THE SHUTDOWN/START NODE COMMAND
SUBTTL OPRSET -- OPR SETUP MESSAGE FROM ORION
;THIS MESSAGE IS SENT BY ORION TO AN OPR IN RESPONSE TO
;THE HELLO MESSAGE. THIS MESSAGE IS USED TO SYNCRONIZE
;ALL OPRS WITH THE CURRENT APPLICATION TABLE SETTINGS
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THIS MESSAGE WILL CONTAIN APPLICATION NAMES TO BE ADDED
;TO TABLES IN OPR.
;
; .APNAM ASCIZ BLOCK OF NAME TO ADD
.APNAM==10000 ;DEFINE APPLICATION NAME CODE
SUBTTL OPRSTR -- OPR SETUP REPLY TO ORION
;THIS MESSAGE IS SENT TO ORION BY OPR IN RESPONSE TO
;A SETUP MESSAGE. AFTER THIS MESSAGE IS SENT THE OPR
;CAN NOW INPUT COMMANDS TO ORION IF SUCCESSFUL
;
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE ARGUMENT BLOCK CONSISTS OF THE FOLLOWING
;OPR WILL RETURN WITH A CODE FOR SUCCESS OR FAILURE
;
;.ORSUC FOR SUCCESS TYPE....LENGTH OF 1
;.ORFAL FOR FAILURE TYPE....LENGTH OF 1
.ORSUC==10100 ;SUCCESS IF ZERO
.ORFAL==10101 ;FAILURE IF 1
SUBTTL APLHEL -- APPLICATION HELLO MESSAGE
;THIS MESSAGE IS SENT BY AN APPLICATION PROGRAM WISHING
;TO USE AN ALTERNATE SET OF COMMAND TABLES AS SPECIFIED
;AT ORION STARTUP. THE STRING SPECIFIED WILL
;BE USED AS THE PROMPT IF YOU ENTER THE APPLICATION LEVEL
;OR AS THE KEYWORD TO IDENTIFY THE APPLICATION COMMAND
;THE MESSAGE FORMAT USES THE NEW MESSAGE HEADER AND THE STANDARD
;ARGUMENT BLOCK FORMAT AS DESCRIBED UNDER ORION COMMAND MESSAGES
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;CURRENTLY THE FOLLOWING ARE THE DEFINED APPLICATION
;TYPES THAT CAN BE INCLUDED IN THE MESSAGE
;APPLICATION HELLO TYPES
.AHNAM==10200 ;TYPE FOR THE APPLICATION NAME STRING
;THE ARGUMENT BLOCK WILL CONTAIN THE NAME STRING
;IN THE ARGUMENT DATA AREA.
;THE ARGUMENT LENGTH INCLUDES THE ARGUMENT HEADER
;AND THE APPLICATION NAME STRING.
;THE NAME MUST BE ASCIZ.
;THE ARGUMENT COUNT WORD IN THE HEADER SHOULD
;CONTAIN A 1.
SUBTTL APLACK -- ACKNOWLEDGEMENT TO APPLICATION HELLO
;THIS MESSAGE IS SENT BY ORION TO AN APPLICATION IN RESPONSE
;TO THE APPLICATION HELLO MESSAGE CONTAINING THE INTERNAL TYPE
;CODE ASSIGNED TO THIS APPLICATION PROCESSOR. THIS CODE WILL BE
;USED TO IDENTIFY ALL REQUESTS FROM ORION TO THE APPLICATION.
;
;THE FORMAT OF THE MESSAGE IS THE STANDARD ORION MESSAGE HEADER
;FOR COMMANDS WITH AN ARGUMENT BLOCK
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;CURRENTLY THE FOLLOWING ARE THE DEFINED APPLICATION
;TYPES THAT CAN BE INCLUDED IN THE MESSAGE
;APPLICATION HELLO ACKNOWLEDGEMNT TYPES
.AHTYP==10300 ;THIS CODE IS USED TO DESCRIBE THE FIELD
;CONTAINING THE APPLICATION TYPE CODE
;RETURNED BY ORION. THE CODE IS A FULL WORD.
;THE ARGUMENT BLOCK WILL CONSIST OF A HEADER
;AND ONE DATA WORD FOR A LENGTH OF 2
;THE ARGUMENT COUNT WILL HAVE A 1
SUBTTL The SET Message
;THE SET MESSAGE IS USED TO SET SCHEDULING PARAMETERS FOR AN OBJECT
;ONLY ONE PARAMETER CAN BE SET AT A TIME
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;ARGUMENT TYPES AND VALUES
;FOR ARGUMENTS WHERE THE TYPE IS SUFFICENT THE BLOCK WILL
;HAVE A LENGTH OF ONE, OTHERWISE THE BLOCK WILL CONTAIN THE
;APPROPRIATE DATA ELEMENT AND INCLUDE ITS LENGTH IN THE BLOCK
;HEADER.
;THE MESSAGE WILL ALWAYS CONTAIN AN OBJECT BLOCK TO DESCRIBE THE
;OBJECT
; .OROBJ OBJECT BLOCK ARGUMENT TYPE
.STPGL==10400 ;PAGE LIMITS..HEADER..MIN..MAX
.STOPL==.STPGL ;SET OUPUT-LIMIT
.STFRM==10401 ;FORMS TYPE..HEADER..SIXBIT FORMS TYPE
.STMEM==10402 ;CORE LIMITS..HEADER..MIN..MAX
.STTIM==10403 ;TIME LIMITS..HEADER..MIN..MAX
.STPRI==10404 ;PRIORITY LIMITS..HEADER..MIN..MAX
.STOIA==10405 ;OPR INTERVENTION..HEADER
.STNOI==10406 ;NOOPR-INTERVENTION..HEADER
.STLEA==10407 ;LIMIT EXCEED ACTION HEADER..DATA
.STCAN==1 ;CANCEL
.STASK==2 ;ASK
.STIGN==3 ;IGNORE
.STEND==.STLEA ;LAST DEFINED SET PARAMETER
IFN FTDN60,<
.STCSD==10410 ;CLEAR TO SEND DELAY
.STDTR==10411 ;DATA TERMINAL READY
ST.ON==1 ;ON
ST.OFF==2 ;OFF
.STRPM==10412 ;RECORDS PER MESSAGE
.STSWL==10413 ;SILO WARNING LEVEL
.STTOU==10414 ;TIMEOUT CATEGORY
ST.PRI==1 ;PRIMARY
ST.SEC==2 ;SECONDARY
.STTRA==10415 ;TRANSPARENCY (ST.ON OR ST.OFF)
.STBPM==10416 ;BYTES PER MESSAGE
.STSON==10417 ;SIGNON-REQUIRED
.STNSN==10420 ;NO-SIGNON-REQUIRED
.STEND==.STNSN ;LAST SYMBOL
>;END FTDN60
SUBTTL FORWARDSPACE AND BACKSPACE COMMANDS
;THESE TWO COMMANDS ARE IDENTICAL EXCEPT THAT THE MESSAGE TYPE
;WILL DESCRIBE THE DESIRED ACTION
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE FOLLOWING ARE THE DEFINED ARGUMENT TYPES FOR FORWARDSPACE
;AND BACKSPACE. IN ALL CASES THE ARGUMENT BLOCK WILL HAVE
;A LENGTH OF 2 AND THE POSTIONING AMOUNT WILL APPEAR IN THE
;ARGUMENT DATA WORD.
;ALL MESSAGES WILL CONTAIN AN OBJECT BLOCK DESCRIBING
;THE PARTICULAR UNIT
;
; .OROBJ OBJECT BLOCK TYPE
;
.SPPAG==10500 ;SPACING NUMBER OF PAGES
.SPCPY==10501 ;SPACING NUMBER OF COPIES
.SPFIL==10502 ;SPACING NUMBER OF FILES
SUBTTL HOLD AND RELEASE COMMANDS
;THE FORMAT OF THE HOLD AND RELEASE COMMANDS ARE IDENTICAL
;EXCEPT FOR THE MESSAGE TYPE
;THE MESSAGE STRUCTURE IS THE STANDARD MESSAGE HEADER AND
;A NUMBER OF ARGUMENT BLOCKS DESCRIBING THE JOB(S) TO HOLD OR
;RELEASE
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE FOLLOWING ARE THE DEFINED ARGUMENTS FOR THE HOLD AND
;RELEASE COMMAND
;
; .ORTYP THE QUEUE AFFECTED BY THE HOLD
; .CMUSR THE USERS JOBS IN THAT QUEUE TO AFFECT
; .ORRQN THE REQUEST NUMBER OF THE JOB
;
; IF ONLY THE .ORTYP FIELD IS SPECIFIED THEN ALL JOBS IN THE
; SPECIFIED QUEUE ARE TO BE HELD. OTHERWISE EACH ARGUMENT WILL
; FURTHER QUALIFY THE JOB(S) TO HOLD/RELEASE.
SUBTTL MODIFY MESSAGE
;THE MODIFY MESSAGE IS USED TO MODIFY THE PARAMETERS OF A
;JOB REQUEST
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE FOLLOWING ARE THE DEFINED ARGUMENTS TO DESCRIBE THE ENTRY
;TO BE MODIFIED
;
; .ORTYP THE QUEUE AFFECTED BY THE HOLD
; .CMUSR THE USERS JOBS IN THAT QUEUE TO AFFECT
; .ORRQN THE REQUEST NUMBER OF THE JOB
;
; IF ONLY THE .ORTYP FIELD IS SPECIFIED THEN ALL JOBS IN THE
; SPECIFIED QUEUE ARE TO BE MODIFIED. OTHERWISE EACH ARGUMENT WILL
; FURTHER QUALIFY THE JOB(S) TO MODIFY.
;THE FOLLOWING ARE THE VALID PARAMTERS FOR ALL QUEUES
.MOPRI==11600 ;MODIFY PRIORITY..BLOCK WITH PRIORITY IN IT
SUBTTL ROUTE COMMAND
;THE ROUTE COMMAND WILL ROUTE THE OUTPUT FROM ONE NODE TO
;ANOTHER
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE ROUTE COMMAND SUPPORTS THE FOLLOWING BLOCK TYPES
;
.ORRTN==11500 ;ROUTE NODE BLCOK
.ORRTJ==11501 ;ROUTE JOB BLOCK
;
;THE .ORRTN HAS THE FOLLOWING FIELDS
;
.SNODE==ARG.DA
.DNODE=ARG.DA+1
;WHERE .SNODE IS THE SOURCE NODE TO ROUTE AND
;.DNODE IS THE DESTINATION NODE TO ROUTE
;THE OPR ISSUING THE COMMAND MUST HAVE AUTHORIZATION FOR THE
;SOURCE NODE FOR THE COMMAND TO BE VALID
SUBTTL DELETE COMMAND
;THE DELETE COMMAND WILL PASS THE QUEUE AND THE REQUEST NUMBER IN
;A REQUEST ID BLOCK
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
; THE BLOCKS ARE THE SAME FOR HOLD EXCEPT THAT THERE MUST BE A USER OR
; REQUEST NUMBER BLOCK
; .ORTYP ;QUEUE TYPE
; .ORREQ ;REQUEST NUMBER
; .ORUSR ;USER NUMBER OR PPN
; FOR DELETE OF MOUNT REQUEST THE FOLLOWING BLOCKS ARE POSSIBLE
;.ORREQ ;REQUEST NUMBER OF REQUEST TO DELETE
; - OR -
;.STRDV ;STRUCTURE BLOCK FOR DELETING ALL ON A STRUCTURE
;.ORREA ;OPTIONAL REASON IF SPECIFIED
SUBTTL The SEND Message
;THIS MESSAGE IS USED TO SEND TEXT TO A PARTICULAR BATCH STREAM
;OR USER IDENTIFIED BY TERMINAL NUMBER OR JOB NUMBER.
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE BLOCK WILL CONTAIN A STANDARD ORION OBJECT BLOCK TO DESCRIBE
;THE OBJECT THE MESSAGE IS BEING SENT TO.
;
; .OROBJ OBEJCT BLOCK TYPE
;
;AT THE CURRENT TIME THE OTHER ARGUMENT IS TEXT
;AND USES THE STANDARD ORION TEXT TYPE
;
; .CMTXT ;THE TEXT TYPE FOR MESSAGE
;
;THE DATA WILL BE ASCIZ TEXT WITH THE LENGTH INCLUDING ALL
;TEXT AND THE HEADER
SUBTTL The NOTIFY Message
;THIS MESSAGE IS USED BY QUASAR TO HAVE ORION DISPLAY A MESSAGE
;ABOUT A USERS JOB
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
;FLAG WORD BITS
NT.MLU==1B0 ;NOTIFY USER VIA MAIL
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THIS MESSAGE HAS FOUR ARGUMENTS
.JOBID==200 ;THE USER'S TERMINAL NBR & LOGIN TIME
.NTSUB==201 ;SUBJECT STRING FOR MAIL
; .CMDIR ;THE USER DIRECTORY NUMBER
; .CMTXT ;THE MESSAGE BODY
;THE JOB ID BLOCK CONTAINS THE FOLLOWING DATA
PHASE ARG.DA
JBI.JB:! BLOCK 1 ;JOB NUMBER
JBI.LI:! BLOCK 1 ;JOB LOGGED IN TIME
JBI.SZ:! ;SIZE OF THE BLOCK
;IF THE INFO MATCHES THE CURRENT JOB ON SYSTEM A MESSAGE WILL BE
;DISPLAYED TO THE TERMINAL IF LOGGED IN.. PITCHED IF NOT OR DETACHED
SUBTTL The SUPPRESS Message
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE SUPPRES COMMAND WILL ALWAYS CONTAIN AN ORION OBEJCT BLOCK
;TO DESCRIBE THE OBJECT
;
; .OROBJ OBJECT BLOCK TYPE
;THE SUPRRESS COMMAND SUPPORTS THE FOLLOWING ARGUMENT TYPES
;
.SUPFL==10600 ;SUPRRESS CURRENT FILE
.SUPJB==10601 ;SUPPRESS CURRENT JOB
.SUPST==10602 ;STOP DOING SUPPRESSION
;ALL ARGUMENTS ARE JUST THE ARGUMENT HEADER WITH THE APPROPRIATE
;TYPE AND A LENGTH OF 1
;THIS MESSAGE WILL ALWAYS CONTAIN AN ARGUMENT COUNT OF 2
SUBTTL CANCEL COMMAND MESSAGE
;THIS MESSAGE IS USED TO CANCEL A PARTICULAR JOB RUNNING ON A
;PARTICULAR OBJECT
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE CANCEL COMMAND WILL ALWAYS CONTAIN A ORION OBJECT BLOCK
;TO DESCRIBE THE OBJECT WHERE JOB IS TO BE CANCELED.
;
; .OROBJ ORION OBJECT BLOCK
;
;THE FOLLOWING ARE THE VALID ARGUMENT TYPES FOR THIS MESSAGE
.CANTY==10700 ;CANCEL TYPE WITH THE FOLLOWING DATA
.CNERR==1 ;CANCEL WITH ERROR PROCESSING
.CNNER==2 ;CANCEL NO ERROR-PROCESSING
.CNPRG==3 ;CANCEL AND PURGE THE REQUEST
;THE FOLLOWING ARGUMENT TYPES ARE OPTIONAL AND WILL
;BE INCLUDED IF SPECIFIED
;
; .ORRQN ;REQUEST NUMBER
; .ORREA ;REASON FOR CANCEL..EXPLANATION IF GIVEN
; ;DATA IS THE TEXT
SUBTTL REQUEUE COMMAND MESSAGE
;THIS MESSAGE IS TO REQUEUE A JOB ON A PARTICULAR OBJECT
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE REQUEUE COMMAND WILL ALWAYS CONTAIN AN OBJECT BLOCK
;
; .OROBJ OBJECT BLOCK
;
;THE FOLLOWING ARE THE VALID ARGUMENT TYPES FOR REQUEUE
;
.REQTY==11000 ;REQUEUE TYPE OF OPERATION
.RQBJB==1 ;BEGINNING OF JOB
.RQBFL==2 ;BEGINNING OF FILE
.RQBCP==3 ;BEGINNING OF CURRENT COPY
.RQCUR==4 ;CURRENT POSITION
;THE FOLLOWING ARGUMENT TYPES ARE OPTIONAL AND MAY BE INCLUDED
;IN THE COMMAND IF SPECIFIED.
;
; .ORRQN REQUEST NUMBER OF JOB
; .ORREA REASON FOR CANCEL..EXPLANATION IF GIVEN
; THE DATA IS THE TEXT
SUBTTL DEFINE COMMAND MESSAGE
;THIS MESSAGE IS USED FOR DN60 TO DEFINE A NODE TO A PARTICULAR
;PORT , LINE AND PROTOCOL
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THIS MESSAGE CURRENTLY SUPPORTS ONLY ONE BLOCK
.DFBLK==11100 ;THE DEFINE BLOCK TYPE
PHASE ARG.DA
DEF.TY:! BLOCK 1 ;TYPE OF NODE
DF.378==1 ;3780
DF.278==2 ;2780
DF.HSP==3 ;HASP
DEF.MD:! BLOCK 1 ;MODE OF NODE
DF.TRM==1 ;TERMINATION
DF.EMU==2 ;EMULATION
DEF.PT:! BLOCK 1 ;PORT
DEF.LN:! BLOCK 1 ;LINE
DEF.SZ:!
DEPHASE
SUBTTL TAPE AND DISK COMMANDS
;THESE COMMANDS ALL HAVE THE STANDARD ORION HEADER
;WITH THE MESSAGE CODES IN THE .MSTYP WORD MS.TYP FIELD
;TAPE AND DISK DEVICE INFO BLOCKS
.TAPDV==20000 ;TAPE DRIVE DEVICE BLOCK
;THE BLOCK WILL CONTAIN A STRING FOR THE DEVICE WHICH ONE
;CAN THEN CONVERT TO A DEVICE DESIGNATOR IF VALID. IF IT MUST BE
;VALID OPR WILL NOT SET CM%PO AND FORCE OPR TO TYPE IN VALID NAME
;BUT THE BLOCK WILL STILL CONTAIN A STRING
; *** THE STRING WILL NOT END IN A COLON ***
.DSKDV==20001 ;DISK DEVICE BLOCK
;THIS BLOCK WILL CONSIST OF 3 WORDS INCLUDING THE HEADER WITH
;THE FIRST DATA WORD BEING THE CHANNEL NUMBER AND THE SECOND
;BEING THE DRIVE NUMBER
.STRDV==20002 ;STRUCTURE BLOCK
;THIS BLOCK WILL CONTAIN THE STRING TYPED BY THE OPERATOR AND
;IT WILL BEGIN AFTER THE HEADER. THE LENGTH OF BLOCK WILL
;INCLUDE THE WHOLE ASCIZ STRING
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
SUBTTL SHOW COMMANDS FOR TAPES
;THESE COMMANDS ARE PROCESSED BY MTCON ON THE -20 FOR THIS
;RELEASE
; .OTSHS ;SHOW STATUS FOR TAPE AND DISKS
; .OTSHP ;SHO PARAMTERS FOR TAPES AND DISKS
;THERE ARE THREE POSSIBLE BLOCKS THAT CAN BE IN THE MESSAGE
;.TAPDV BLOCK FOR TAPE TO SHOW
.ALTAP==20010 ; BLOCK FOR ALL TAPES LENGTH OF 1
.ALDSK==20011 ; BLCOK FOR ALL DISKS LENGTH OF 1
.ALSTR==20012 ;BLOCK FOR ALL STRUCTURES (MDA ONLY)
;FLAGS IN .OFLAG TO DESCRIBE OPTIONS OF DISPLAY(FOR TAPE AND DISK)
ST.ALL==1B0 ;ALL
ST.AVA==1B1 ;AVAILABLE DRIVES(FREE)
ST.CHR==1B2 ;CHARACTERISTICS
ST.MNT==1B3 ;MOUNTED
;FOR STRUCTURES THERE MAY ALSO BE A.STRDV FOR THE PARTICULAR STRUCTURE
SUBTTL SWITCH COMMAND
;THIS COMMAND IS USED BY MOUNTR ON THE -20 TO DETERMINE WHERE
;THE NEXT VOLUME IS TO BE FOUND FOR A GIVEN REQUEST
;THE MESSAGE CONSISTS OF THE FOLLOWING BLOCKS
;.ORREQ REQUEST NUMBER
;.VOLID VOLUME ID
;.TAPDV TAPE DEVICE BLOCK (OPTIONAL)
SUBTTL DISMOUNT COMMAND
;DISMOUNT STRUCTURE COMMAND CONTAINS A DEVICE BLOCK .CMDEV
; FOR THE DEVICE TO DISMOUNT
;THE ARGUMENTS WILL BE
; .STRDV
;THE DISMOUNT TAPE COMMAND WILL CONTAIN A
; .TAPDV
; BLOCK FOR TAPE DRIVE
SUBTTL RECOGNIZE COMMAND FOR -10
;THE RECOGNIZE COMMAND WILL CONTAIN A .TAPDV FOR TAPE
;DRIVE TO RECOGNIZE
SUBTTL SET TAPE AND DISK COMMANDS
;THIS COMMAND WILL CONTAIN EITHER A TAPE BLOCK OR A DISK BLOCK
;AS THE FIRST ARGUMENT AND THEN
.DVAVL==20100 ;DEVICE AVAILABLE BLOCK LENGTH 1
.DVUAV==20101 ;DEVICE UNAVAILABLE BLOCK LENGTH 1
.DVINI==20102 ;DEVICE INITIALIZE MODE
SUBTTL SET STRUCTURE COMMAND FOR DISKS
;THIS COMMAND WILL HAVE A STRUCTURE BLOCK AS THE FIRST ARGUMENT
;AND THEN A CHARACTERISTIC BLOCK WITH ONE OF THE FOLLOWING
;SYMBOLS
.STCHR==20200 ;STRUCTURE CHARACHTERISTICS
S.ACKN==1 ;ACKNOWLEDGED
S.AVAL==2 ;AVAILABLE
S.DOMS==3 ;DOMESTIC
S.FORN==4 ;FOREIGN
S.IGNO==5 ;IGNORED
S.REGU==6 ;REGULATED
S.UAVL==7 ;UNAVAILABLE
S.UREG==10 ;UNREGULATED
SUBTTL SET TAPE XXX INITIALIZE COMMAND
;THIS COMMAND IS TO SETUP A TAPE-DRIVE FOR INITIALIZING VOLUMES
;THE MESSAGE WILL CONSIST OF A SET OF BLOCKS WITH THE FIRST ONE
;BEING
; .TAPDV TAPE DRIVE BLOCK
;THEN THERE WILL BE THE OPTIONS FOR THE INITIALIZE
;.DVINI FOR INITIALIZE STATE
;.VOLID FOR VOLUME ID
.SILBT==20501 ;LABEL TYPE
IFN FTUUOS,<
S.ANSI==1 ;ANSI
S.EBCD==2 ;EBCDIC
S.T20==3 ;TOPS-20
S.UNLA==4 ;UNLABELED
>;END FTUUOS
IFN FTJSYS,<
S.ANSI==.LTANS ;ANSI
S.EBCD==.LTEBC ;EBCDIC
S.T20==.LTT20 ;TOPS-20
S.UNLA==.LTUNL ;UNLABELED
>;END FTJSYS
.SIDEN==20502 ;DENSITY
IFN FTUUOS,<
S.200==1 ;200
S.556==2 ;556
S.800==3 ;800
S.1600==4 ;1600
S.6250==5 ;6250
>;END FTUUOS
IFN FTJSYS,<
S.200==.SJDN2 ;200
S.556==.SJDN5 ;556
S.800==.SJDN8 ;800
S.1600==.SJD16 ;1600
S.6250==.SJD62 ;6250
>;END FTJSYS
.SIOWN==20503 ;OWNER...USER ID OR PPN
.SIPRO==20504 ;OCTAL NUMBER FOR PROTECTION
.SIUNL==20505 ;UNLOAD TAPE WHEN DONE
.SIHLD==20506 ;HOLD TAPE WHEN DONE
.SIOVR==20507 ;OVERIDE EXPIRATION
.SINOV==20510 ;NO OVERIDING OF EXPIRATIONS
.SISVI==20511 ;STARTING VOLUME ID (DECIMAL NUMBER)
.SIINC==20512 ;INCREMENT FOR VOLUMES (DECIMAL NUMBER)
.SICNT==20513 ;COUNT OF TAPES TO DO (DECIMAL NUMBER)
SUBTTL ENABLE AND DISABLE COMMAND FOR TAPES
;THIS COMMAND WILL CONTAIN THE FOLLOWING POSSIBLE BLOCKS
.AVREC==20300 ;AUTOMATIC VOLUME RECOGNITION BLOCK
;AND EITHER A .TAPDV BLOCK FOR A TAPE DEVICE OR
; .ALTAP BLOCK FOR ALL TAPE DRIVES
.ASREC==20301 ;AUTOMATIC STRUCTURE RECOGNITION
SUBTTL MOUNT COMMAND FOR TAPE AND DISK
;THIS COMMAND IS ONLY USED FOR STRUCTURE MOUNTING
;
; THIS MESSAGE CONTAINS A .STRDV FOR THE STRUCTURE DEVICE
; BLOCK
; AND OPTIONALLY AN ALIAS BLOCK OF .STALS
.STALS==20401
;IF ALIAS IS NOT SPECIFIED IT IS ASSUMED TO BE THE SAME AS THE
;STRUCTURE DEVICE BLOCK
SUBTTL IDENTIFY MESSAGE FOR TAPES
;THIS MESSAGE WILL ASSOCIATE A TAPE DRIVE WITH A PARTICULAR TAPE
;REQUEST OR TAPE
;THERE WILL ALWAYS BE A TAPE DEVICE BLOCK
; .TAPDV
;THE SECOND PART OF THE COMMAND CAN BE ONE OF THE FOLLOWING
.SCRTP==20402 ;SCRATCH TAPE BLOCK (LEN 1)
.VOLID==20403 ;VOLUME ID BLOCK SPECIFYING
;THE PARTICULAR VOLUME ID
;.ORREQ ;TO SPECIFY THE REQUEST THE TAPE IS TO BE
;ASSIGNED TO
SUBTTL RESPONSE MESSAGE
;THE RESPONSE MESSAGE USES THE STANDARD ORION HEADER
;AND ARGUMENT BLOCKS WITH VALID TYPES DESCRIBED BELOW
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !=======================================================!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT !
; !=======================================================!
;THE VALID RESPONSE TYPES ARE
; .CMTXT ;FOR TEXT DATA
;AT THE CURRENT TIME THE ONLY VALID ARGUMENTS FOR A RESPONSE
;IS ASCIZ TEXT AND ACK ID CODE.
;THIS CODE IS THE OPR HANDLE TO SEND ACK TO IF DESIRED.
.ACKID==12000 ;ACK FOR OPR ID
;ORIGIN OF ANSWER (TERMINAL # OR NODE
;NAME IN SIXBIT
;THIS BLOCK HAS TWO WORDS OF DATA
;
;1 ACK ID FOR OPR
;2 NODE OR TERMINAL NUMBER
;IN THE FUTURE, WHEN ANSWER BLOCKS ARE SUPPORTED
;OTHER COMMAND FUNCTION CODES WILL BE ALLOWED.
SUBTTL LOCK/UNLOCK COMMAND
;THIS MESSAGE CONTAINS THE FOLLOWING BLOCKS
;.STRDV ;STRUCTURE BLOCK
;.ORTIM ;TIME BLOCK
;THE TIME BLOCK IS OPTIONAL
SUBTTL COMMAND Message
;THIS MESSAGE CONSISTS OF THE STANDARD MESSAGE HEADER FOLLOWED BY A PARSER
;BLOCK AS DEFINED BELOW
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !=======================================================!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT !
; !=======================================================!
; !-------------------------------------------------------!
; ! COMMAND OBJECT TYPE !
; !-------------------------------------------------------!
; ! SOURCE NODE !
; !-------------------------------------------------------!
; ! OFFSET TO PARSER BLOCK !
; !-------------------------------------------------------!
; ! OFFSET TO TEXT OF COMMAND !
; !=======================================================!
PHASE .OHDRS
COM.TY:! BLOCK 1 ;OBJECT TYPE CODE
;VALID FOR APPLICATIONS ONLY
COM.SN:! BLOCK 1 ;SOURCE NODE OF COMMAND
COM.PB:! BLOCK 1 ;POINTER TO THE PARSER BLOCK
COM.CM:! BLOCK 1 ;POINTER TO MESSAGE TEXT
COM.SZ:! ;SIZE OF HEADER
DEPHASE
COM.AL==COM.SZ-COM.SN ;SIZE OF ARGUMENT BLOCK
;VALID FLAGS FOR THE COMMAND MESSAGE
CM.NPR==1B0 ;NO PROCESSING REQUIRED..SENT TO
;ORION TO LOG
COMMENT \
THE PARSER DATA BLOCKS WILL BE SIMILIAR TO THE OTHER
DATA STRUCTURES USED IN OPR AND ORION. EACH FIELD PARSED
WILL GENERATE A BLOCK WITH THE LENGTH IN THE LEFT HALF
AND COMMAND CODE TYPE IN THE RIGHT HALF.
THE LENGTH OF THE BLOCK INCLUDES THE HEADER WORD.
.CMKEY==0 WORD CONTAINING KEYWORD IDENTIFIER
.CMNUM==1 WORD FOR NUMBER AND WORD FOR RADIX
.CMNOI==2 NOT SAVED
.CMSWI==3 WORD CONTAINING SWITCH IDENTIFIER
.CMIFI==4 FILE SPEC IN GALAXY FD FORMAT
.CMOFI==5 FILE SPEC IN GALAXY FD FORMAT
.CMFIL==6 FILE SPEC IN GALAXY FD FORMAT
.CMFLD==7 ASCIZ STRING
.CMCFM==10 JUST HEADER WORD
.CMDIR==11 DIRECTORY NUMBER OR PPN
.CMUSR==12 USER NUMBER OR PPN
.CMCMA==13 JUST HEADER WORD
.CMINI==14 NOT SAVED
.CMFLT==15 NUMBER
.CMDEV==16 DEV. DESIGNATOR
.CMTXT==17 ASCIZ STRING
.CMTAD==20 INTERNAL DATE/TIME
.CMQST==21 ASCIZ STRING
.CMUQS==22 ASCIZ STRING
.CMTOK==23 ASCIZ STRING
.CMNUX==24 NUMBER WORD AND RADIX WORD
.CMACT==25 ASCIZ STRING
.CMNOD==26 NODE SPECIFICATION -ONE WORD
\
SUBTTL DN60 COMMAND MESSAGE
;THIS MESSAGE FOR CDRIVE TO SEND ORION AN OPR COMMAND
;TO BE PARSED.
;THIS MESSAGE CONTAINS THE FOLLOWING BLOCKS
; .ORNOD ;NODE BLOCK
; .ORD60 ;D60 BLOCK
; (DATA WORD 1) PORT LINE INFO
; (DATA WORD 2) DN60 CHARACTERISTICS DEFINED IN QSRMAC
;
; .CMTXT ;TEXT BLOCK (MUST HAVE CR,LF)
SUBTTL WTO,WTOR AND ACK FORMATS FOR ALL PROGRAMS
;THE FOLLOWING IS A DESCRIPTION OF THE NEW FORMAT FOR WTO,
;WTOR AND ACK MESSAGES TO BE SENT BY ANY PROGRAM AND ORION.
;THE FORMAT CONSISTS OF A HEADER, FLAG WORD, ARGUMENT COUNT
;WORD AND AN ARGUMENT BLOCK. THE ARGUMENT COUNT WORD REFLECTS
;THE NUMBER OF ARGUMENT BLOCKS INCLUDED IN THE MESSAGE.
;THE LENGTH ASSOCIATED WITH EACH BLOCK INCLUDES THE ARGUMENT
;BLOCK HEADER WORD.
;THE HEADER IS THE STANDARD GALAXY MESSAGE HEADER DEFINED
;IN ORNMAC.
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !=======================================================!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
;
; ARGUMENT DATA BLOCK
;
;
;
; !-------------------------------------------------------!
; ! LENGTH OF ARGUMENT BLOCK ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ DATA FOR THE ARGUMENT \
; \ \
; !=======================================================!
PHASE MSHSIZ
;THE HEADER DATA USES THE STANDARD ORION MESSAGE BLOCK
;WITH MESSAGE HEADER, .OFLAG, AND .OARGC
;THE ARGUMENT BLOCK IS THE STANDARD ARGUMENT BLOCK USED IN
;ORION MESSAGES
;VALID ARGUMENT TYPES FOR WTO MESSAGE
.WTTXT==0 ;TEXT MESSAGE
.WTOBJ==1 ;GALAXY OBJECT BLOCK FOR USE BY GALAXY
;COMPONENTS..MUST BE PRIVILEDGED
.WTDES==2 ;DESTINATION VALUE
.WTJOB==3 ;JOB NUMBER OF USER OR OTHER USER
;PRIVILEGED
.WTERR==4 ;ERROR CODE FOR ERROR DISPLAY
.WTRTE==5 ;ROUTE CODE FOR FUNCTION SETUP OPRS
.WTTYP==6 ;TYPE FIELD TEXT ..PRIVILEGED
.WTANS==7 ;ANSWER BLOCK FOR WTOR ONLY
.WTACD==10 ;APPLICATION CODE BLOCK
.WTOCD==11 ;OBJECT TYPE BLOCK
.WTLST==.WTOCD ;LAST VALID TYPE ASSIGNED
;VALID FLAGS FOR WTO MESSAGE IN .OFLAG
WT.KIL==1B0 ;KILL THE WTOR REQUEST USING .MSCOD HANDLE
WT.MOR==1B1 ;MORE DISPLAY PAGES ARE COMMING.
WT.NFY==1B2 ;NOTIFY IF PID GOES AWAT VIA TTMSG(-10 TRMOP)
WT.JOB==1B5 ;JOB MESSAGE..PRIVILEGED
WT.SJI==1B6 ;SUPPRESS JOB INFO ON DISPLAY
WT.NFO==1B7 ;NO FORMATING OF DISPLAY
WT.NDA==1B8 ;NO DASHES ON TYPE MESSAGE
WT.KAL==1B9 ;KILL ALL MESSAGES FOR THE JOB
WT.PRV==WT.JOB!WT.SJI!WT.NFO!WT.MOR!WT.NDA ;PRIVILEGE FLAGS
WTOMAX==^D450 ;LARGEST WTO MESSAGE ALLOWED
TYPMAX==^D11 ;LARGEST TYPE BLOCK IN WORDS
TYPMIN==^D7 ;STANDARD TYPE SIZE MAXIMUM IN WORDS
TYPAPL==^D9 ;SIZE OF APPLICATION TYPE MESSAGES
SYSPRM OB.WTO,OB.WTO,OB%WTO ;WTO FLAGS IN BATCH JOB TABLE
SYSPRM OB.BSS,OB.BSS,OB%BSS ;BATCH-STREAM NUMBER IS SET
SUBTTL ALIGN MESSAGE
;THIS MESSAGE IS SENT TO DESCRIBE THE ALIGNMENT OPTIONS AND
;FILE TO USE
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE ALIGN MESSAGE WILL ALWAYS CONTAIN AN OBJECT BLOCK
;
; .OROBJ OBJECT BLOCK
;
;THE FOLLOWING OPTIONS ARE ALSO VALID
;
; .CMIFI INPUT FILE SPEC TO USE
.ALPAU==11100 ;ALIGN PAUSE AMOUNT BETWEEN REPEATS
;THE ARGUMENT DATA WILL CONTAIN TIME
.ALRPT==11101 ;THE REPEAT COUNT ON THE FILE
;THE DATA WILL CONTAIN THE COUNT
.ALSTP==11102 ;STOP THE ALIGNMENT..NO DATA FOR THIS FIELD
SUBTTL The STATUS Message
;THIS MESSAGE IS SENT BY A PROCESSOR TO ORION IN RESPONSE TO A
;SHOW MESSAGE REQUESTING STATUS.
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !=======================================================!
; ! ORNMAC VERSION NUMBER !
; !=======================================================!
; \ \
; \ THE OBJECT AREA \
; \ \
; !=======================================================!
; \ \
; \ TEXT BLOCK OF STATUS \
; \ \
; !=======================================================!
;THE STATUS MESSAGE CONSISTS OF AS MANY OBJECT AREA/TEXT BLOCKS
;PAIRS AS NEEDED.
;THE FIRST WORD OF A TEXT BLOCK IS THE NUMBER OF WORDS IN THE
;TEXT BLOCK, FOLLOWED BY AN ASCIZ STRING
PHASE OBJSIZ ;START AFTER THE OBJECT AREA
STS.TB:! BLOCK 1 ;START OF BLOCK -- COUNT FOR THIS BLOCK
STS.TX:! ;WHERE THE TEXT IS
DEPHASE
SUBTTL The SHOW CONTROL-FILE Message
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE SHOW-CONTROL-FILE COMMAND WILL ALWAYS CONTAIN AN ORION
;OBJECT BLOCK
;
; .OROBJ OBJECT BLOCK TYPE
;THE SHOW CONTROL-FILE COMMAND SUPPORTS ONE ARGUMENT TYPE
;
.SHCLN==11200 ;LINE COUNT FOR SHOW CONTROL-FILE
SUBTTL SHOW STATUS MESSAGE
;THE SHOW STATUS MESSAGE IS SENT TO QUASAR REQUESTING
;INFORMATION ABOUT ONE OR MORE OBJECTS
; !=======================================================!
; \ \
; \ THE MESSAGE HEADER \
; \ \
; !-------------------------------------------------------!
; ! FLAG WORD !
; !-------------------------------------------------------!
; ! ARGUMENT COUNT WORD !
; !=======================================================!
;
; ARGUMENT DATA BLOCKS
;
; !=======================================================!
; ! LENGTH OF THE ARGUMENT ! TYPE OF ARGUMENT !
; !-------------------------------------------------------!
; \ \
; \ ARGUMENT DATA \
; \ \
; !=======================================================!
;THE SHOW STATUS MESSAGE CONISTS OF AN OBJECT BLOCK
;THAT DESCRIBES THE NUMBER AND TYPE OF OBJECTS DESIRED.
;
; .OROBJ OBJECT BLOCK TYPE
;
;THE OBJECT BLOCK HAS THE FOLLOWING ADDITIONAL VALUES AND MEANINGS
;
; TYPE VALUE MEANING
;
; OBJ.TY -1 ALL OBJECTS
; OBJ.UN -1 ALL UNITS
; OBJ.ND -1 ALL NODES
;
;THE FOLLOWING FLAGS ARE USED TO DESCRIBE THE TYPE OF JOBS
;TO BE LISTED FOR THE OBJECT DESCRIBED
;
.STACT==11201 ;JOBS ON ACTIVE OBJECTS
.STHLD==11202 ;JOBS WAITING FOR OBJECTS
.STWAT==11203 ;WAITING TO BE PROCESSED JOBS
.STALL==11204 ;ALL JOBS
SUBTTL SHOW STATUS IBM-NODE
;This command contains only a .ORNOD block to specify the node to
;be displayed
SUBTTL SHOW PARAMTERS IBM-NODE
;This command contains only a .ORNOD block to specify the node to
;be displayed
SUBTTL 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.JOB==-1,,0 ;THE JOB NUMBER OF THE USER LOGGING OUT
LG.LOC==777B26 ;THE CURRENT REMOTE STATION NUMBER OF THIS JOB
LG.BAT==1B27 ;THIS IS A BATCH JOB
LG.DFR==1B28 ;DEFERRED MODE SPOOLING
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 ORION Fatal Error Codes
;ARGUMENTS USED ARE
; X 'SUFFIX','TEXT'
;THE EXPANDER MUST DEFINE THE CORRECT X MACRO
DEFINE ERRCDS,<
XLIST
X AON,<Application Block, Object Block and Object Type Block Not allowed Together in WTOR/WTO/ACK Message>
X CMI,<Command Message Invalid>
X UPO,<Unknown Processor Object>
X UPT,<Unidentified Processor Type>
X IPE,<Insufficient Privileges Enabled>
X IOE,<Invalid OPR Entry>
X IFC,<Illegally Formatted Command Message>
X IRS,<Illegal Range Specified>
X MTS,<Message Too Short>
X BML,<Bad Message Length>
X CSU,<Cannot SEND to specified User>
X NOM,<No Outstanding Messages>
X ICS,<Invalid Argument Count Specified in Command>
X IAL,<Invalid Argument Length Specified>
X ITM,<Invalid Type Argument in Message>
X ONS,<OPR Not Setup..Command Ignored>
X DTM,<Duplicate Type Specified in Message>
X WJP,<WTO, WTOR, or ACK Job Number Field Requires Privileges>
X WTP,<WTO, WTOR or ACK Object Type Field Requires Privileges>
X IWF,<Invalid WTO or WTOR Field>
X WOP,<WTO, WTOR, or ACK Object Block Field Requires Privileges>
X IOU,<Invalid Object Unit Specified in Object Block>
X RIW,<Range Invalid in WTO, WTOR or ACK Object Block>
X OPD,<OPR PID Already Defined>
X ISM,<OPR SETUP Message Invalid..OPR did not send HELLO>
X OAS,<OPR Already SETUP..OPR Deleted>
X ANI,<Application Name Invalid in Application Hello Message>
X ODE,<OPR Doesn't Exist..Message Not Sent>
X MTF,<WTO Message Type Field required with WT.SJI set>
X IAC,<Invalid Acknowledgement code,,Code was Zero>
X CNI,<Command Not Yet Implemented>
X IPS,<Invalid Pid for Sender Pid was zero>
X ISC,<Invalid Switch Specified in Command>
X WNA,<Write To Operator Function not Allowed for this Job>
X LNI,<Logging not Enabled>
X RNA,<Range not allowed in START Command with /DEVICE>
X IQS,<Invalid Queue Specified in Command>
X SUF,<SYSERR update Failed on REPORT Command>
X IUM,<Invalid User Specified in Message>
X ARP,<ACK Messages Require WHEEL or OPERATOR Privileges>
X NRW,<Notify Message requires WHEEL or OPERATOR Privileges>
X JDE,<Job to be Notified No Longer Exists>
X NJD,<Job to be Notified is DETACHED .. Notify Ignored>
X BNR,<Batch Commands Not Allowed From Remote Nodes>
X NOD,<No Operators Defined>
X DOL,<Device Already Online COMMAND IGNORED>
X SFF,<Scheduler Functions Failed for Show Scheduler Command>
LIST
SALL
>;END OF DEFINE ERRCDS
DEFINE ERRTXT,<
XLIST
X ACI,<Application Code ^D/G$ARG1/ Invalid .. WTO Rejected>
X AHF,<^T/@G$ARG1/ Hello Acknowledgement Failed .. Hello Ignored>
X ANS,<Application ^T/@G$ARG1/ not Signed on yet .. WTO/WTOR/ACK Rejected>
X CPM,<WTO/WTOR/ACK request for ^T/@G$ARG1/ has Different Pid from Hello ..WTO Rejected>
X CSF,<Class Scheduler Error: ^E/G$ARG1/>
X DDI,<Disk Drive Number ^D/G$ARG1/ Invalid on SET Command>
X DJF,<SET ONLINE Failed because ^E/G$ARG1/>
X IAP,<^T/@G$ARG1/ is not Running>
X ICN,<Channel Number ^D/G$ARG1/ Invalid on SET Command>
X IDD,<^T/@G$ARG1/ is not a Valid Disk Structure .. Command Ignored>
X IDS,<^T/@G$ARG1/ is not supported for /DEVICE .. Command Ignored>
X IMT,<Illegal Message Type ^O/G$ARG1/>
X INS,<Operator at Node ^N/G$ARG1/ not Enabled for Node ^N/G$ARG2/>
X ION,<OPR Hello Message Node ^N/G$ARG1/ Invalid .. OPR Ignored>
X IOT,<Invalid Object Type ^O/G$ARG1/ Specified in Message>
X ITD,<^T/@G$ARG1/ is not a Valid Tape Drive .. Command Ignored>
X LAO,<ORION Log File ^F/@LOGFD/ Already Open .. Command Ignored>
X LFE,<ORION Log Error ^E/[-1]/ Logging Disabled>
X MNV,<Message ^D/G$ARG1/ No Longer Valid .. Sender has gone away>
X NMC,<No Messages Found with Code ^O/G$ARG1/>
X NMN,<No Messages for Node ^N/G$ARG1/>
X NON,<No Operators at Node ^N/G$ARG1/>
X NSM,<Message ^D/G$ARG1/ does not exist>
X NTD,<^T/@G$ARG1/ is not a Tape Drive or Valid Structure .. Command Ignored>
X OAE,<DN60 OPR at Node ^N/G$ARG1/ already exists>
X ONE,<OPR not Enabled for Message ^D/G$ARG1/ at Node ^N/G$ARG2/>
X OSF,<OPR Setup Failure on PID ^O/G$ARG1/ .. OPR Ignored>
X PER,<Command Error: ^T/@G$ARG1/>
X RWF,<^T/@G$ARG1/ File Retrevial Waits failed ^E/[-2]/>
X SIC,<Set Online ^T/@G$ARG1/ Channel Number ^O/G$ARG2/ Invalid>
X SID,<Set Online ^T/@G$ARG1/ Device Number ^O/G$ARG2/ Invalid>
X SJF,<Set Job Scheduler Error: ^E/G$ARG1/>
X SJN,<Set Job Invalid ,, Job ^D/G$ARG1/ Not Logged In>
X SPI,<Set Priority Value ^D/G$ARG1/ Invalid 63 is maximum>
X SSF,<Set Scheduler Error: ^E/G$ARG1/>
X TAB,<Take File Aborted Because ^T/@G$ARG1/ not running
on Command "^T/@G$ARG2/">
X WTL,<WTO/WTOR Message Length ^D/G$ARG1/ Exceeds Max of ^D/[WTOMAX]/>
X WVN,<Wrong ORNMAC Version Number ORION used Version ^O/[%%.OPR]/ AND OPR used Version ^O/.OHDRS+OPH.OV(MI)/>
LIST
SALL
>;END ERRTXT
DEFINE ORNMSG,<
XLIST
X CSE,<Class Scheduler ^T/@G$ARG1/>
X CWM,<Message ^D/G$ARG1/ Canceled^I/@G$ARG3/>
X FRW,<File Retrevial Waits ^T/@G$ARG1/d>
X JLO,<Message ^D/G$ARG1/ Canceled .. Job ^D/G$PRVS,MD.PJB/ Logged Out>
X LFC,<ORION Logging Disabled by ^I/@JOBTXT/>
X MCJ,<^D/G$ARG2/ Message(s) Canceled>
X ODM,<OUTPUT DISPLAY for OPR Modified>
X OLO,<ORION Logging Enabled by ^I/@JOBTXT/>
X SCC,<SEND Command Completed>
X SEM,<SYSERR entry made by the REPORT Command>
X SJM,<Job ^D/G$ARG1/ Modified>
X SOA,<Set Online Accepted>
X SSJ,<Job ^D/G$ARG1/ now in Class ^D/G$ARG2/>
X SSS,<Scheduler Setting Modified>
LIST
SALL
>;END ORNMSG
DEFINE ERRSET,<
EXTERNAL TXTTBL
EXTERNAL STSTBL
EXTERNAL ERRTBL
EXTERNAL RPTERR
DEFINE X(SUFFIX,TEXT),<
EXTERNAL E$'SUFFIX
>;END X
ERRCDS
ERRTXT
ORNMSG
>;END ERRSET
SUBTTL PARSER SETUP MACROS
DEFINE PARSET,<
EXTERNAL P$GPDB ;GET THE PDB BLOCK
EXTERNAL P$PNXT ;GET NEXT PDB GIVEN A PDB BLOCK
EXTERNAL P$PERR ;GET ERROR BLOCK FROM PDB GIVEN A PDB
EXTERNAL P$PDEF ;GET DEFAULT FILLING ROUTINE GIVEN A PDB
EXTERNAL P$PACT ;GET ACTION ROUTINE GIVEN A PDB
EXTERNAL P$NARG ;NEXT ARGUMENT TYPE TO PROCESS
EXTERNAL P$SETU ;SETUP POINTER TO PARSER BLOCKS
EXTERNAL P$CURR ;GET THE CURRENT LOCATION
EXTERNAL P$PREV ;SET THE PREVIOUS TO CURRENT
EXTERNAL P$FLOT ;FLOATING POINT NUMBER
EXTERNAL P$INIT ;PARSER INIT
EXTERNAL P$INTR ;PARSER INTERRUPTS
EXTERNAL P$TINT ;TIMER INTERRUPTS
EXTERNAL P$NFLD ;NEXT FIELD TYPE AND BLOCK ADDRESS
EXTERNAL P$DIR ;DIRECTORY FIELD
EXTERNAL P$NEXT ;GET NEXT FIELD
EXTERNAL P$TIME ;TIME/DATE CHECK
EXTERNAL P$COMMA ;COMMA CHECK
EXTERNAL P$CFM ;CONFIRM CHECK
EXTERNAL P$KEYW ;KEYWORD CHECK
EXTERNAL P$SWIT ;SWITCH CHECK
EXTERNAL P$USER ;USER CHECK
EXTERNAL P$NUM ;NUMBER CHECK
EXTERNAL P$FILE ;FILE SPEC CHECK
EXTERNAL P$IFIL ;INPUT FILE SPEC
EXTERNAL P$OFIL ;OUTPUT FILE SPEC
EXTERNAL P$FLD ;FIELD CHECK
EXTERNAL P$TOK ;TOKEN CHECK
EXTERNAL P$NODE ;NODE CHECK
EXTERNAL P$SIXF ;SIXBIT FIELD CHECK
EXTERNAL P$RNGE ;RANGE OF NUMBERS
EXTERNAL P$TEXT ;TEXT CHECK
EXTERNAL P$DEV ;DEVICE CHECK
EXTERNAL P$QSTR ;QUOTED STRING
>;END PARSET
SUBTTL Node/Operator Data Base
;THE NODE LIST EXTERNAL CONTAINS ONE FOR EACH NODE THAT
;HAS SIGNED ON TO ORION
PHASE 0
NOD.NM:! BLOCK 1 ;NODE NAME (SIXBIT)
NOD.NU:! BLOCK 1 ;NODE NUMBER
NOD.OP:!BLOCK 1 ;OPR LIST NUMBER
NOD.ML:!BLOCK 1 ;MESSAGE LIST NUMBER
NOD.CT:!BLOCK 1 ;NUMBER OF MESSAGES QUEUED FOR
; THIS NODE.
NOD.AO:!BLOCK 1 ;LIST OF ALTERNATE OUTPUT NODES
NOD.AI:! BLOCK 1 ;LIST OF ALTERNATE INPUT NODES
NOD.TM:!BLOCK 1 ;TIME OF LAST AUTO DISPLAY
NOD.OC:! BLOCK 1 ;NUMBER OF OPRS AT NODE
NOD.FL:! BLOCK 1 ;FLAGS FOR NODE LIST
ND.NLE==1B0 ;NODE LIST ENABLED
ND.SYS==1B1 ;SYSTEM OPERATOR NODE
ND.D60==1B2 ;D60 TYPE NODE
NOD.SZ:! ;SIZE OF THE NODE BLOCK
DEPHASE
SYSPRM NOD.NX,NOD.NU,NOD.NM ;NUMBER ON -10 NAME ON -20
;THE FOLLOWING IS THE FORMAT OF THE ALTERNATE NODE LIST
;FOR EACH NODE. THIS ENTRY IS GENERATED BY THE ENABLE COMMAND
NAL.FL:! BLOCK 1 ;FLAGS FOR ALTERNATE NODE
NAL.NM:! BLOCK 1 ;NAME OF NODE
NAL.NU:! BLOCK 1 ;NUMBER OF NODE
NAL.AD:! BLOCK 1 ;ADDRESS OF NODE ENTRY
NAL.SZ:! ;SIZE OF THE ENTRY
SUBTTL OPR LIST ENTRY
;THIS A DESCRIPTION OF AN OPR BLOCK USED TO DESCRIBE
;EACH OPR THAT HAS SIGNED ON TO ORION. THE OPRS ARE
;ASSOCIATED WITH THE NODE AT WHICH THEY ARE LOCATED.
PHASE 0
OPR.PD:!BLOCK 1 ;PID FOR THIS OPR
OPR.FL:!BLOCK 1 ;FLAG WORD FOR THIS OPR
OP.NST==1B0 ;OPR NOT SETUP YET
OP.REM==1B1 ;REMOTE OPERATOR
OP.TAK==1B2 ;IN A TAKE COMMAND
OP.ABT==1B3 ;ABORT TAKE FILES
OP.D60==1B4 ;DN60 OPERATOR
OPR.OF:! BLOCK 1 ;OBJECT FLAGS
OPR.AF:! BLOCK 1 ;APPLICATION SCREENING FLAGS
OPR.OC:! BLOCK 1 ;COMMANDS OUTPUT TO THIS OPR
OPR.IC:! BLOCK 1 ;COMMANDS INPUT FROM THIS OPR
OPR.ND:! BLOCK 1 ;NODE ENTRY ADDRESS FOR THIS OPR
OPR.LS:! BLOCK 1 ;OPR LIST CONTAINING THIS ENTRY
OPR.TN:! BLOCK 1 ;TERMINAL NUMBER OF OPR
OPR.JB:! BLOCK 1 ;JOB NUMBER OF THE OPR
OPR.US:! BLOCK 1 ;USER NUMBER OR PPN
IFN FTUUOS,<
OPR.UN:! BLOCK 2 ;USER NAME ON THE -10
>;END FTUUOS
OPR.TP:! BLOCK 1 ;TABLE ENTRY POINTER
IFN FTDN60,<
OPR.PL:! BLOCK 1 ;DN60 PORT LINE INFO
OPR.DN:! BLOCK 1 ;DN60 CHARACTERISTICS
>;END FTDN60
OPR.SZ:! ;SIZE OF THE OPR BLOCK
DEPHASE
DEFINE X(A,B),<
EV.'B==1B<.ZZ>
JM.'B==1B<.ZZ+1>
OM.'B==1B<.ZZ+2>
OP.OTH=OP.OTH!EV.'B
OP.AJB==OP.AJB!JM.'B
OP.AOP==OP.AOP!OM.'B
.ZZ==.ZZ+3
IFLE <^D36-.ZZ>,<PRINTX ? TOO MANY OBJECTS DEFINED IN OBJORN
PRINTX COMPILE ABORTED
END>
>;END OF X
OP.AJB==0
OP.AOP==0
OP.OTH==0
.KYUSR==2 ;USER CODE(OLD .OTNCU)
EV.USR==1B0 ;OTHER USER MESSAGES
JM.USR==1B1 ;USER JOB MESSAGES (IF ANY)
OM.USR==1B2 ;USER OPERATOR MESSAGES
OP.AUS==1B0!1B1!1B2 ;ALL USER MESSAGES
;UPDATE ALL TO INCLUDE USER DATA
OP.AJB==OP.AJB!JM.USR
OP.AOP==OP.AOP!OM.USR
OP.OTH==OP.OTH!EV.USR
.ZZ==3 ;FIRST THREE FOR USER MESSAGES
OBJORN ;BUILD THE VALUES
OP.AST==.ZZ+3 ;APPLICATION START BIT
OP.ALL==OP.AJB!OP.AOP!OP.OTH ;ALL MESSAGES ALLOWED
WO.EVM==1B0 ;OTHER MESSAGES
WO.JOB==1B1 ;JOB MESSAGE
WO.OAC==1B2 ;OPR ACTION MESSAGE
WO.ALL==WO.EVM!WO.JOB!WO.OAC ;ORIGINAL FLAGS
SUBTTL OPR TABLE DATA BASE STRUCTURE
;THIS IS THE FORMAT OF THE LIST ENTRY FOR THE OPR DATA BASE
;LIST WHICH IS BUILT BY ORION
PHASE 0
TOP.PD:! BLOCK 1 ;PID OF THE OPR
TOP.OA:! BLOCK 1 ;ADDRESS OF OPR ENTRY
TOP.SZ:! ;SIZE OF THE DATA BASE BLOCK
DEPHASE
SUBTTL OPERATOR MESSAGE LIST ENTRY
;THIS LIST CONTAINS ALL OPERATOR MESSAGES REQUIRING A REPLY
;AND IS ASSOCIATED WITH EACH NODE
PHASE 0
MSL.FL:!BLOCK 1 ;MESSAGE LIST FLAGS
MS.NDY==1B35 ;MESSAGE HASN'T BEEN DISPLAYED
MS.TER==1B34 ;NOTIFY ON TERMINAL ON SEND FAILURE
MSL.PD:!BLOCK 1 ;PID OF THE SENDER
MSL.JB:!BLOCK 1 ;JOB NUMBER MESSAGE IS FOR
MSL.JT:! BLOCK 1 ;LOGGED IN TIME OF SENDER
MSL.ND:! BLOCK 1 ;NODE THE MESSAGE IS PART OF
MSL.CD:! BLOCK 1 ;CODE PASSED IN WTOR
MSL.ID:! BLOCK 1 ;ID NUMBER OF MESSAGE
MSL.SZ:! ;SIZE OF THE MESSAGE LIST
DEPHASE
SUBTTL CONSTANT DEFINITIONS FOR PARSER
NCHPW==5 ;NUMBER OF ASCII CHARACTERS PER WORD
BUFSIZ==200 ;SIZE OF INPUT TEXT BUFFER
ATMSIZ==BUFSIZ ;SIZE OF ATOM BUFFER FOR COMND JSYS
FDBSIZ==.CMDEF+2 ;SIZE OF FUNCTION DESCRIPTOR BLOCK
;GTJFN BLOCK FOR COMMAND
IFN FTJSYS,<
GJFSIZ==.GJRTY+2 ;SIZE OF GTJFN BLOCK USED BY COMND JSYS
> ;END IFN FTJSYS
IFN FTUUOS,<
GJFSIZ==FDXSIZ
> ;END IFN FTUUOS
SUBTTL PARSER BLOCK DESCRIPTION
;THE FOLLOWING SYMBOLS ARE USED TO DESCRIBE AN
;ENTRY IN THE COMMAND MESSAGE AS OUTPUT BY THE PARSER
PHASE 0
PFD.HD:! BLOCK 1 ;HEADER WORD FOR BLOCK
PF.TYP==0,,-1 ;TYPE IN THE LEFT HALF
PF.LEN==-1,,0 ;LENGTH IN RIGHT HALF
;INCLUDES THIS WORD
PFD.D1:! BLOCK 1 ;FIRST DATA WORD
PFD.D2:! BLOCK 1 ;SECOND DATA WORD (IF NECESSARY)
PFD.SZ:! ;SIZE OF THE BLOCK
DEPHASE
SUBTTL PARSER FLAG VALUES
P.TAKE==1B0 ;TAKE COMMAND PROCESSED
P.CTAK==1B1 ;COMMAND FROM A TAKE COMMAND
P.ACTE==1B2 ;ACTION ROUTINE ERROR
P.NPRO==1B3 ;NO PROCESSING FOR COMMAND
P.ERRO==1B4 ;ERROR FLAG..ERROR OCCURRED
P.REPA==1B5 ;REPARSE REQUIRED
P.INTE==1B6 ;INTERRUPT EXIT FLAG
P.DSPT==1B7 ;DISPLAY THIS TAKE COMMAND
P.ENDT==1B8 ;END OF TAKE FILE
P.DERR==1B9 ;DEFAULT ROUTINE ERROR
P.CEOF==1B10 ;CORE PARSE END OF FILE
TEMTSZ==10 ;SIZE OF TEMP TABLE FOR SHRSWT
SUBTTL ARGUMENT BLOCK FOR CALLING THE PARSER
;THIS IS A DESCRIPTION OF THE ARGUMENT BLOCK USED
;TO CALL THE PARSER ROUTINE (OPRPAR)
; S1/ LENGTH OF THE BLOCK
; S2/ ADDRESS OF THE BLOCK
PHASE 0
PAR.TB:! BLOCK 1 ;ADDRESS OF THE TABLES
PAR.PM:! BLOCK 1 ;ADDRESS OF THE PROMPT STRING
;DEFAULT TO OPR> IF ZERO
PAR.CM:! BLOCK 1 ;ADDRESS TO STORE PARSED DATA
;DEFAULT TO GET PAGE IF ZERO
PAR.SR:! BLOCK 1 ;ADDRESS OF THE STRING TO PARSE
;DEFAULT TTY IF NOT SPECIFIED OR ZERO
;-1 MEANS DO A RESCAN FOR INCORE
PAR.SZ:! ;SIZE OF THE PARSER CALLING BLOCK
SUBTTL CALL BLOCK FOR ACTUON ROUTINES
;THIS BLOCK IS A DESCRIPTION OF THE ELEMENTS AVAILABLE TO THE
;ACTION,PREFILL, AND ERROR ROUTINES WHEN CALLED
;CALL S1/ LENGTH OF THE BLOCK
; S2/ ADDRESS OF THE BLOCK
COMMENT \ ;HERE FOR COMMENT ONLY... ARE DEFINED IN GLXMAC
PHASE 0
CR.FLG:! BLOCK 1 ;OFFSET FOR THE FLAG WORD
CR.RES:! BLOCK 1 ;OFFSET FOR THE RESULT WORD
CR.PDB:! BLOCK 1 ;GIVEN PDB,,USED PDB
CR.COD:! BLOCK 1 ;CODE TYPE OF PROCESSED FIELD
CR.SIZ:! ;SIZE OF THE BLOCK
DEPHASE
\;END OF COMMENT
PC.SIZ==CR.SIZ+1
CR.SAV==CR.SIZ ;DEFINE THE SAVE BLOCK
SUBTTL RETURN BLOCK FROM THE PARSER
;THIS BLOCK IS A DESCRIPTION OF THE ARGUMENT BLOCK RETURNED
;BY THE PARSER.
; S1/ LENGTH OF THE BLOCK
; S2/ ADDRESS OF THE BLOCK
PHASE 0
PRT.FL:! BLOCK 1 ;FLAG WORD FOR RETURN
PRT.CM:! BLOCK 1 ;COMMAND MESSAGE ADDRESS
PRT.CF:! BLOCK 1 ;COMMAND FLAG WORD
PRT.MS:! BLOCK 1 ;POINTER TO TEXT OF MESSAGE ON
PRT.SM:! ;SIZE OF PRT ON TRUE RETURN
;FALSE RETURN
PRT.EM:! BLOCK 1 ;POINTER TO ERROR MESSAGE ON
;FALSE RETURN
PRT.EC:! BLOCK 1 ;ERROR CODE RETURNED
;FROM ACTION ROUTINE
PRT.SZ:! ;SIZE OF PRT ON FALSE RETURN
DEPHASE
SUBTTL TABLE HANDLING DEFINITIONS
;THESE DEFINITIONS DESCRIBE THE ENTRY BLOCK FOR ALL
;SYNTAX TABLES USED BY ORION AND OPR
PHASE 0
TAB.HD:! BLOCK 1 ;HEADER WORD FOR TABLES
TB.LEN==0,,-1 ;LENGTH IN RIGHT HALF
TAB.IN:! BLOCK 1 ;TABLE ADDRESS OF .CMINI FUNCTION
TAB.KY:! BLOCK 1 ;TABLE ADDRESS OF MAIN KEYWORD TABLE
TAB.SZ:! ;SIZE OF THE ENTRY
DEPHASE
;FLAGS USED BY ORION
F.WTXT==1B18 ;WTO TEXT ARGUMENT PRESENT
F.WOBJ==1B19 ;WTO OBJECT BLOCK SPECIFIED
F.WDES==1B20 ;WTO DESTINATION FIELD PRESENT
F.WJOB==1B21 ;JOB NUMBER SPECIFIED IN WTO
F.WERR==1B22 ;ERROR CODE SPECIFIED IN WTO
F.WRTE==1B23 ;ROUTE CODE SPECIFIED IN WTO
F.WTYP==1B24 ;TYPE TEXT SPECIFIED IN WTO
F.WANS==1B25 ;ANSWER BLOCK SPECIFIED IN WTOR
F.WACD==1B26 ;APPLICATION CODE FIELD
F.WOCD==1B27 ;OBJECT TYPE BLOCK
F.WFLG==F.WTXT!F.WOBJ!F.WDES!F.WJOB!F.WERR!F.WRTE!F.WTYP!F.WANS!F.WACD!F.WOCD
SUBTTL RESEND LIST DATA BASE
;THIS LIST IS THE DATA STRUCTURE USED TO KEEP TRACK OF MESSAGES
;NEEDING TO BE RESENT TO AN OPR OR A PROCESSOR THAT HAD A
;RECOVERABLE SEND FAILURE
PHASE 0
RSD.HD:! BLOCK 1 ;HEADER FOR LIST ENTRY
RS.LEN==-1,,0 ;LENGTH OF ENTRY
RSD.TM:! BLOCK 1 ;TIME OF THE MESSAGE FIRST TRIED
RSD.MS:! BLOCK 1 ;OFFSET IN BLOCK TO MESSAGE TEXT
RSD.FL:! BLOCK 1 ;FLAGS FOR THE RESEND LIST
R.WAIT==1B0 ;WAIT FOR PID TO COME
R.NSNT==1B1 ;NOT SENT YET
R.SQSR==1B2 ;SEND TO QUASAR
R.SOPR==1B3 ;SEND TO OPR
R.SAPL==1B4 ;SEND TO APPLICATION
RSD.RT:! BLOCK 1 ;COUNT OF RETRIES
RSD.PD:! BLOCK 1 ;OFFSET FOR PID LIST
RSD.CT:! BLOCK 1 ;NUMBER OF PIDS TO SEND TO
RSD.SZ:! ;SIZE OF RESEND LIST
DEPHASE
SUBTTL SEND FAILURE DATA BASE
;THIS IS THE DATA BASE USED FOR THE SEND FAILURE TABLE
PHASE 0
SFL.PD:! BLOCK 1 ;PID WITH FAILURE
SFL.CT:! BLOCK 1 ;COUNT OF MESSAGES WITH FAILURE
SFL.SZ:!
DEPHASE
SUBTTL INTERRUPT DATA
IPCLEV==1 ;USE INTERRUPT LEVEL 1
SUBTTL DN200 OPR DEFINITIONS
DEBSRV==200 ;DEBUGGING SERVER TYPE
SRVTSK==57 ;TASK TO ACCEPT CONNECTIONS
DCNTSK==47 ;TASK TO DO OUTPUT FROM
NUMSRV==3 ;NUMBER OF SERVERS
NETBSZ==^D8 ;NETWORK BYTE SIZE
;ORION SRV: DEFINITIONS
CHNSRV==^D23 ;CHANNEL TO START GETTING SERVERS AT
;OPR SRV: DEFINITIONS
INPCHN==2 ;INPUT CHANNEL
OUTCHN==3 ;OUTPUT CHANNEL
OUTSIZ==^D381 ;SIZE OF LARGEST MESSAGE
CHNINT==<-1_<<NUMSRV*2>-^D36>>B<<NUMSRV*2>+CHNSRV-1> ;GET BITS FOR AIC
;SETTING ALL APPROPRIATE CHANNELS
SUBTTL DATA STRUCTURES FOR -20 SRV:
;THE SERVER DATA BASE
PHASE 0
SRV.CN:! BLOCK 1 ;INTERRUPT CHANNEL FOR THIS SERVER
SRV.IN:! BLOCK 1 ;INTERRUPT FLAG FOR CHANNEL
SRV.JF:! BLOCK 1 ;JFN FOR SERVER LINK
SRV.FK:! BLOCK 1 ;FORK HANDLE FOR PROCESS
SRV.SZ:! ;SIZE OF SERVER DATA BASE ENTRY
DEPHASE
;THE ACTIVE NETWORK SERVERS
PHASE 0
NET.FK:! BLOCK 1 ;FORK HANDLE OF THE SERVER
NET.PG:! BLOCK 1 ;PROGRAM JFN FOR SERVER
NET.LJ:! BLOCK 1 ;NETWORK LINK JFN
NET.SA:! BLOCK 1 ;SERVER DATA BASE ADDRESS
NET.SZ:! ;SIZE OF DATA BASE
DEPHASE
SUBTTL ERROPR -- ERROR TABLES FOR OPR
DEFINE ERROPR,<
XLIST
X E.NORM,<OPR TERMINATED NORMALLY>
IFN FTJSYS,<
X E.OPNF,<Unable to Open ^T/DCNDAT/>
X E.CONF,<Unable to Get Connects for ^T/DCNDAT/>
X E.ACFL,<Unable to Accept Connects for Server Links>
X E.OUTF,<Output over Link ^T/DCNDAT/ Failed LINK ABORTED>
X E.INPF,<Input over Server Link Failed LINK ABORTED>
X E.STSF,<Status Return for Input Server Link Failed LINK ABORTED>
X E.INVC,<Invalid Connect Status ^O/ARG1/ LINK ABORTED>
>;END FTJSYS
X E.EXIT,<EXIT Command Issued>
LIST
SALL
>;END ERROPR
DEFINE X(A,B),<
XLIST
A==.ZZ
.ZZ==.ZZ+1
LIST
SALL
>;END X
.ZZ==0
ERROPR
E.MAXE==.ZZ ;LAST ERROR CODE
END