Google
 

Trailing-Edge - PDP-10 Archives - BB-4172H-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/PJT	1-Jan-82


;
;
;        COPYRIGHT (c) 1975,1976,1977,1978,1979,1980,1981,1982
;                    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.

	SEARCH	GALCNF			;GET GALAXY OPTIONS

	SEARCH	GLXMAC
	SALL				; CLEAN LISTINGS

TOPS10 <
	IF1,<PRINTX BUILDING A GALAXY-10 ORNMAC>
		SEARCH	UUOSYM>
TOPS20 <
	IF1,<PRINTX BUILDING A GALAXY-20 ORNMAC>
		SEARCH	MONSYM>

	XP	FTRJE,FTRJE		;SETUP RJE VALUE
	XP	FTDN60,FTDN60		;SETUP DN60 VALUE

;Define TOPS20 OPR priv bits until formally defined

TOPS20 <
	ND	.OBSOP,1		;SYSTEM OPR PRIV
	ND	.OBLOP,2		;LOCAL OPR PRIV
	ND	.OBROP,3		;REMOTE OPR PRIV
> ;End TOPS20

	%%.OPR==33			;ORNMAC VERSION NUMBER
SUBTTL	Table of Contents

;               TABLE OF CONTENTS FOR ORNMAC
;
;
;                        SECTION                                   PAGE
;    1. Table of Contents.........................................   2
;    2. Operating system dependent definitions....................   3
;    3. KEYMAIN,KEYOBJ,OBJORN and KEYWORD symbol definitions......   4
;    4. SWITCH  Symbol definitions for switches...................   5
;    5. TABAPL  Syntax table macros...............................   6
;    6. GALCNF parameters.........................................   7
;    7. ORNKEY, ORNDSP,ORNSDP and ORNSWI command syntax macros....   8
;    8. General message format....................................   8
;    9. OPR/ORION message types...................................   9
;   10. Special AC assigments.....................................  10
;   11. The object block..........................................  11
;   12. COMMAND message...........................................  12
;   13. HELLO message.............................................  13
;   14. START,PAUSE,CONTINUE and SHUTDOWN messages................  14
;   15. SETUP message.............................................  15
;   16. SETUP REPLY message.......................................  16
;   17. HELLO message for applications (NSP)......................  17
;   18. HELLO ACKNOWLEDGEMENT message for applications (NSP)......  18
;   19. SET message...............................................  19
;   20. FORWARDSPACE and BACKSPACE message........................  20
;   21. HOLD and RELEASE message..................................  21
;   22. MODIFY message............................................  22
;   23. ROUTE message.............................................  23
;   24. DELETE message............................................  25
;   25. SEND message..............................................  26
;   26. NOTIFY message............................................  27
;   27. SUPPRESS message..........................................  28
;   28. CANCEL message............................................  29
;   29. REQUEUE message...........................................  30
;   30. DEFINE message............................................  31
;   31. TAPE and DISK messages....................................  32
;   32. SHOW messages for tapes...................................  33
;   33. SWITCH message............................................  34
;   34. DISMOUNT message..........................................  35
;   35. RECOGNIZE message (TOPS10)................................  35
;   36. SET TAPE and DISK messages................................  36
;   37. SET STRUCTURE message for disks...........................  37
;   38. SET TAPE INITIALIZE message...............................  38
;   39. ENABLE and DISABLE message for tapes......................  39
;   40. MOUNT message for tape and disk...........................  40
;   41. IDENTIFY message for tapes................................  41
;   42. RESPONSE message..........................................  42
;   43. LOCK/UNLOCK message.......................................  43
;   44. USAGE ACCOUNTING MESSAGES.................................  44
;   45. Standard message format...................................  45
;   46. DN60 command message......................................  46
;   47. WTO,WTOR and ACK formats for all programs.................  47
;   48. ALIGN message.............................................  48
;   49. STATUS message............................................  49
;   50. SHOW CONTROL-FILE message.................................  50
;   51. SHOW STATUS message.......................................  51
;   52. SHOW STATUS IBM-NODE message..............................  52
;   53. SHOW PARAMTERS IBM-NODE message...........................  52
;   54. MODIFY SYSTEM-LISTS message...............................  53
;   55. SHOW SYSTEM-LIST message..................................  54
;   56. SHOW ALLOCATION message...................................  55
;   57. LOGOUT Message - Function 27 (sent by IPCC)...............  56
;   58. ORION   Error codes and messages..........................  57
;   59. PARSET  Parser setup macros...............................  58
;   60. Node/Operator Data Base...................................  59
;   61. OPR list entry............................................  60
;   62. OPR table database structure..............................  60
;   63. OPERATOR message list entry...............................  61
;   64. Parser storage allocation definitions.....................  62
;   65. PDB     Parser data block definitions.....................  63
;   66. Parser flag values........................................  63
;   67. Parser argument block description.........................  64
;   68. Parser action routine argument block description..........  65
;   69. Parser return block definition............................  66
;   70. Parser keyword table descriptions.........................  67
;   71. Message resend list database description..................  68
;   72. Message send failure database description.................  69
;   73. Interrupt system definitions..............................  70
;   74. DN200 OPR definitions.....................................  71
;   75. SRV: Database for TOPS20..................................  72
;   76. Error tables for OPR......................................  73
SUBTTL	Revision History

COMMENT \

1	4/28/81  Add a revision history.
	Add an error message CLO
2	5/6/81  Add P$TAKE,P$ACCT & P$NPRO to parset for completness.
3	5/21/81	Add an error message INT

30	11/12/81  Remove definitions for LOGOUT messages.

32	 3/18/82 Add support for MOUNT FOO:/WRITE-LOCKED. GCOs 1272 and 1273

33	7/18/82 Add WT.SND bit in .OFLAG word.  GCO 1451

\  ;  End of revision history
SUBTTL	Operating system dependent definitions

;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	KEYMAIN,KEYOBJ,OBJORN and KEYWORD symbol definitions

;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

;;ADD NEW COMMANDS AT THE END OF THIS TABLE
	X	<\"32>,CTZ		;;Control-Z (TOPS-10 style exit)
	X	NEXT,NXT		;;[NXT] NEXT COMMAND

> ;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 FTFTS,<
X	<FAL>,FAL			;;FAL-STREAM
> ;End of FTFTS conditional
TOPS20 <
X	<FILE-RETRIEVAL>,RET 		;;RETREIVAL REQUESTS
> ;END TOPS20
IFN FTFTS,<
X	<FTS>,FTS			;;FTS Messages
> ;End of FTFTS conditional
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	AFTER,AFT			;;AFTER
X	ALL,ALL				;;ALL
X <ALL-MESSAGES>,ALM			;;ALL-MESSAGES
X <ALL-NODES>,ALG			;;ALL-NODES
X	ASK,ASK				;;ASK
X	ATTRIBUTE,ATR			;;ATTRIBUTE
X(<BEGINNING-OF>,BEG)			;;BEGINNING-OF
X <CONTROL-FILE>,CTL			;;CONTROL-FILE
X	COPY,CPY			;;COPY
X(<CURRENT-POSITION>,CUR)		;;CURRENT-POSITION
X <CURRENT-REQUEST>,ACR			;;AFTER-CURRENT-REQUEST
X	DAYTIME,DAY			;;DAYTIME
X <ERROR-MESSAGES>,ERM			;;ERROR-MESSAGES
X <EVERY-REQUEST>,AER			;;AFTER-EVERY-REQUEST
X	FILE,FIL			;;FILE
X (<FORMS-TYPE>,FOT)			;;FORMS-TYPE
X	IGNORE,IGN			;;IGNORE
X	IMMEDIATELY,IMM			;;IMMEDIATELY
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	SITGO,SIT			;;SITGO
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	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

;;	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
X	UNIT,UNI			;;UNIT (DISK UNIT)
X	<ACTIVE-SWAPPING-LIST>,ASL ;;DISK UNITS ON WHICH TO SWAP
X	<CRASH-DUMP-LIST>,CDL		;;STRS ON WHICH TO DUMP
X	<SYSTEM-SEARCH-LIST>,SSL ;;STRS IN SSL:
;;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
X	<SYSTEM-LISTS>,SLS		;;FOR SHOW SYSTEM-LISTS
X	<INCLUDE>,INC			;;INCLUDE (SYSTEM LISTS)
X	<EXCLUDE>,EXC			;;EXCLUDE (SYSTEM LISTS)
X	<ALLOCATION>,ALC		;;FOR SHOW ALLOCATION
X	<BATCH-REQUEST>,BRQ		;;BATCH REQ FOR SHOW ALLOCATION

;;USAGE COMMANDS

X	<USAGE>,USG			;;USAGE
X	<BILLING-CLOSURE>,UBC		;;BILLING-CLOSURE
X	<FILE-CLOSURE>,UFC		;;FILE-CLOSURE
X	<EVERY>,WKY			;;WEEKLY
X	<NOW>,NOW			;;NOW
X	<DAILY>,DLY			;;DAILY

> ;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
	SUPPRESS .OT'B
	> ;END X
	KEYOBJ
	OBJORN

.KYUSR==0		;USER MESSAGE **MUST BE ZERO**
SUBTTL	SWITCH	Symbol definitions 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	<NO-SIGNON-REQUIRED>,NSN;NO-SIGNON-REQUIRED
	X	<NOUNLOAD>,NUL		;;/NOUNLOAD
	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	<SIGNON-REQUIRED>,SON	;;SIGNON-REQUIRED
	X	<SUPERSEDE>,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	<REMOVE>,REM		;;/REMOVE A STR ON DISMOUNT
	X	<DISPLAY>,DSP		;;/DISPLAY
	X	<NODISPLAY>,NDP		;;/NODISPLAY
	X	<OPR-ACTION-MESSAGE>,OAM ;;/OPR-ACTION MESSAGES
	X	<OTHER>,OTH		;;/OTHER
	X	<USERS>,USR		;;/USER (ON SHO STA STR)
	X	<WRITE-LOCKED>,WLK	;;/WRITE-LOCKED ON A STR MOUNT

;;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:
	X	<NOCHECK>,NCK		;;DISMOUNT str:/NOCHECK

	X	<NO-SESSION-ENTRIES>,NOS ;;/NO-SESSION-ENTRIES

>
DEFINE	X(A,B),<
	IF1,<IFDEF .SW'B,< PRINTX ? DUPLICATE SWITCH CODE -- .SW'B>>
	.SW'B==..Z
	..Z==..Z+1
>
..Z==400000
	SWITCH
SUBTTL	TABAPL	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 command syntax macros

;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 OPR/ORION message types

;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 (TOPS20 REL 4.0)
		.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
		.OMRTD==200070		;DEVICE ROUTING COMMAND
		.OMNXT==200071		;[NXT] NEXT COMMAND
		.OMHGH==.OMNXT		;[NXT] HIGHEST DEFINE ORION MESSAGE
		.OMTXT==MT.TXT		;TEXT MESSAGE SYMBOL ***

;MESSAGE CODES USED FOR TAPE AND DISK COMMANDS IN RELEASE 4

		.ODMES==201000		;OFFSET FOR TAPE AND DISK MESSAGES

		.ODSHT==201001		;SHOW STATUS TAPE
		.ODSHD==201002		;SHOW STATUS DISK DRIVES
		.ODENA==201003		;ENABLE TAPE COMMAND
		.ODDIS==201004		;DISABLE MOUNT COMMAND
		.ODMTS==201005		;MOUNT STRUCTURE COMMAND
		.ODDSM==201006		;DISMOUNT COMMAND
		.ODSDK==201007		;SET DISK COMMAND
		.ODSTP==201010		;SET TAPE COMMAND
		.ODSST==201011		;SET STRUCTURE COMMAND
		.ODREC==201012		;RECOGNIZE COMMAND FOR -10
		.ODUNL==201013		;UNLOAD COMMAND
		.ODIDN==201014		;IDENTIFY MOUNT REQUEST MESSAGE
		.ODDMT==201015		;DELETE MOUNT REQUESTS
		.ODSWI==201016		;SWITCH COMMAND FOR TAPE REQUESTS
		.ODSTR==201017		;SHOW STATUS STRUCTURES
		.ODLOC==201020		;LOCK COMMAND
		.ODULC==201021		;UNLOCK COMMAND
		.ODCSL==201022		;CHANGE SYSTEM-LISTS
		.ODSSL==201023		;SHOW SYSTEM-LISTS
		.ODSAL==201024		;SHOW ALLOCATION
SUBTTL	Special AC assigments

;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 block

;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	COMMAND message

;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                     \
;	\                                                       \
;	!=======================================================!

;  All of this stuff is now defined in GLXMAC.  Check there
;  under General Message Format for the latest stuff.

;	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)
;.ORJNU==112				;JOB NUMBER FIELD

;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	HELLO message

;	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,PAUSE,CONTINUE and SHUTDOWN messages

;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

;THE STOP COMMAND HAS THE FOLLOWING BITS DEFINED IN .OFLAG:

	ST.IMM==1B0			;STOP THE DEVICE IMMEDIATELY
	ST.ACR==1B1			;STOP THE DEVICE AFTER THE CURRENT REQUEST
	ST.AER==1B2			;STOP THE DEVICE AFTER EVERY REQUEST
SUBTTL	SETUP message

;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	SETUP REPLY message

;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	HELLO message for applications (NSP)

;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	HELLO ACKNOWLEDGEMENT message for applications (NSP)

;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	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

;DN60 SET PARAMETERS
	.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


;GENERAL SET PARAMETERS

	.STATR==10421			;SET ATTRIBUTES

	.STEND==.STATR			;LAST SYMBOL
SUBTTL	FORWARDSPACE and BACKSPACE message

;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 message

;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
;THIS COMMAND IS ALSO USED TO USED TO CHANGE THE SYSTEM LISTS
;THOSE FORMATS AR DESCIRBED ELSEWHERE. THE MESSAGE TYPE
;IS .ODCSL

;	!=======================================================!
;	\                                                       \
;	\                  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 message

;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


;===========================================================================

;CONTINUED ON THE NEXT PAGE
					;MESSAGE FOR DEVICE ROUTING (TYPE .OMRTD)

;	!=======================================================!
;	\                                                       \
;	\                  THE MESSAGE HEADER                   \
;	\                                                       \
;	!-------------------------------------------------------!
;	!                       FLAG WORD                       !
;	!-------------------------------------------------------!
;	!                  ARGUMENT COUNT WORD                  !
;	!=======================================================!
;	

;ARGUMENT BLOCKS

	.RTEFM==1			;SOURCE OBJECT BLOCK

;	!-------------------------------------------------------!
;	!	4		!	.RTEFM			!
;	!-------------------------------------------------------!
;	\							\
;	\		SOURCE OBJECT BLOCK			\
;	\							\
;	!-------------------------------------------------------!


	.RTETO==2			;DESTINATION OBJECT BLOCK

;	!-------------------------------------------------------!
;	!	4		!	.RTETO			!
;	!-------------------------------------------------------!
;	\							\
;	\		DESTINATION OBJECT BLOCK		\
;	\							\
;	!-------------------------------------------------------!
SUBTTL	DELETE message

;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


; FLAG BITS FOR OPR MOUNT AND DISMOUNT COMMANDS

	.DMRMV==1B0			;IF OPR SAID DISMOUNT FOO:/REMOVE
	.DMNCK==1B1			;IF OPR SAID DISMOUNT FOO:/NOCHECK
	.MTWLK==1B2			;IF OPR SAID MOUNT FOO:/WRITE-LOCKED


;.ORREA		;OPTIONAL REASON IF SPECIFIED
SUBTTL	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	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	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 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 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 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.TPP==0,,-1			;Type of node
	DF.378==1			;3780
	DF.278==2			;2780
	DF.HSP==3			;HASP
	DF.FLG==-1,,0			;Flag, i.e. if signon required
	DF.NSN==1			;Signon not required
	DF.SON==2			;Signon required
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 messages

;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 messages for tapes

;THESE COMMANDS ARE PROCESSED BY MTCON ON THE -20 FOR THIS
;RELEASE

;	.ODSHS		;SHOW STATUS FOR TAPE AND DISKS
;	.ODSHP		;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

	ST.USR==1B0			;SHOW THE USERS OF THE FILES STRUCTURES
SUBTTL	SWITCH message

;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 message 

;DISMOUNT STRUCTURE COMMAND CONTAINS A DEVICE BLOCK .CMDEV
; FOR THE DEVICE TO DISMOUNT

;THE ARGUMENTS WILL  BE

;	 .STRDV 

;OPTIONAL FLAGS
;.DMRMV	REMOVE STRUCTURE ON DISMOUNT
;.DMNCK	TRY NOT TO TOUCH STRUCTURE DURING DISMOUNT (/NOCHECK)

;THE DISMOUNT TAPE COMMAND WILL CONTAIN A

; .TAPDV

; BLOCK FOR TAPE DRIVE 

SUBTTL	RECOGNIZE message (TOPS10)

;THE RECOGNIZE COMMAND WILL CONTAIN A .TAPDV FOR TAPE
;DRIVE TO RECOGNIZE
SUBTTL	SET TAPE and DISK messages


;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 message 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 INITIALIZE message

;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
	  ;%TFxxx defined in QSRMAC
	.SIDEN==20502			;DENSITY
	  ;.TFDnn defined in QSRMAC
	.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)
	.SICTR==20513			;COUNT OF TAPES TO DO (DECIMAL NUMBER)
TOPS10<	.SIABO==20514			;ABORT THE INITIALIZATION   >
SUBTTL	ENABLE and DISABLE message 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 message 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 message

;THIS MESSAGE CONTAINS THE FOLLOWING BLOCKS


;.STRDV		;STRUCTURE BLOCK
;.ORTIM		;TIME BLOCK


;THE TIME BLOCK IS OPTIONAL

;THE FOLLOWING BITS ARE DEFINED IN THE .OFLAG WORD:

	LC.NUL==1B0			;LOCK /NOUNLOAD
	SUBTTL	USAGE ACCOUNTING MESSAGES

;THE USAGE ACCOUNT MESSAGE GO TO THE ACTDAE. THEY ARE GALAXY FORMATED
;MESSAGES WITH AN ACTDAE MESSAGE TYPE.

;THE MESSAGES (FILE CLOSURE AND BILLING CLOSURE) HAVE ONLY 1 BLOCK
;DEFINED - .ORTIM - WHICH CONTAINS THE UDT WHEN THE ACTION IS TO
;TAKE PLACE. THERE ARE ALSO BITS DEFINED FOR .OFLAG:

		US.NOW==1B0	;DO IT NOW !!!
		US.DLY==1B1	;DO IT DAILY !!!
		US.WKY==1B2	;DO IT WEEKLY !!!
		US.NOS==1B3	;/NO-SESSION-ENTRIES
		US.DAY==0,,-1	;DAY OF THE WEEK 1 - 7 (SUNDAY IS 1)
SUBTTL	Standard message format

;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.
\
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
;NOTE THAT ON THE -10, THE QUEUE. UUO PASSES A WHOLE OTHER SET
;OF BLOCK TYPES (QC%xxx) DEFINED IN UUOSYM.
;THE CODE IN GOPHMS TURNS THOSE BLOCKS INTO DUMMIES (.WTNOP)
;OR TRADITIONAL BLOCKS .WTxxx AS KNOWN HEREIN.

.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
.WTNOP==12				;NOOP (DUMMY) BLOCK FOR MONITOR WTO MESSAGES

	.WTLST==.WTNOP			;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.SND==1B10			;SEND MSG TO CENTRAL AND SPECIFIED NODE
	WT.PRV==WT.JOB!WT.SJI!WT.NFO!WT.MOR!WT.NDA!WT.SND ;PRIVILEGE FLAGS


	WTOMAX==^D450			;LARGEST WTO MESSAGE ALLOWED
	TYPMAX==^D26			;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	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	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 message


;This command contains only a .ORNOD block to specify the node to
;be displayed





SUBTTL	SHOW PARAMTERS IBM-NODE message

;This command contains only a .ORNOD block to specify the node to
;be displayed
SUBTTL	MODIFY SYSTEM-LISTS message

;MESSAGE TYPE - .ODCSL
;This command allows the operator to manipulate
;the system search list, the crash dump list, and the active
;swapping list.

;THERE IS ONE BIT IN THE FLAG WORD:
;The add/remove bit. which says whether the OPR
;typed ADD or REMOVE.

	AD.REM==1B0			;1 if OPR said REMOVE
					;0 if OPR said ADD

;There ARE TWO argumentS to the message.  ONE block has
; the unit or structure name in SIXBIT

	.STRDV==.STRDV			;The block type

;THE OTHER DESCRIBES WHICH LIST TO MANIPULATE

	.SLSTY==20500			;THE BLOCK TYPE (LENGTH IS ALWAYS 2)

	.SLTYP==ARG.DA			;THE WORD CONTAINING THE LIST TYPE
	   SL.TCD==7B35			;FIELD CONATINING USEFUL INFO
		SL.TMN==1		;Minimum list type value
		SL.SSL==1		;System search list
		SL.CDL==2		;Crash dump list
		SL.ASL==3		;Active swapping list
		SL.TMX==SL.ASL		;Maximum list type value
SUBTTL	SHOW SYSTEM-LIST message

;MESSAGE TYPE - .ODSSL
;THIS COMMAND ALLOWS THE OPERATOR TO DISPLAY SOME OR ALL
;OF THE SYSTEM LISTS.
;THE MESSAGE HAS FROM 0 TO N BLOCKS.
;IF THERE ARE NO BLOCKS, THEN ALL SYSTEM LISTS SHOULD
;BE DISPLAYED.  IF THERE ARE BLOCKS, THEN JUST THE
;LISTS CORRESPONDING TO THE BLOCKS SHOULD BE DISPLAYED

	.ODSSL==.ODSSL			;THE MESSAGE TYPE

	.SLSTY==.SLSTY			;THE LEGAL BLOCK TYPE
					;(MAY BE MORE THAN 1 OF THESE)
SUBTTL	SHOW ALLOCATION message

;MESSAGE TYPE - .ODSAL
;THE COMMAND ALLOWS THE OPERATOR TO DISPLAY THE ALLOCATION
;REQUEST OF SOME JOB OR BATCH REQUEST ON THE SYSTEM.
;THE MESSAGE HAS ONE ARGUMENT BLOCK
;THE ALLOCATION FOR THE JOB OR REQUEST CORRESPONDING
;TO THE BLOCK ON THE MESSAGE WILL BE DISPLAYED

;THE LEGAL BLOCK TYPES ARE:

	.ORJNU==.ORJNU			;JOB NUMBER
	.ORREQ==.ORREQ			;BATCH REQUEST ID

;IF THE DATA FOR EITHER OF THESE ARGUMENTS IS -1,
;ALL THE JOBS (EITHER TYPE) WILL BE LISTED
SUBTTL	ORION	Error codes and messages

;ARGUMENTS USED ARE

;	X	'SUFFIX','TEXT'

;THE EXPANDER MUST DEFINE THE CORRECT X MACRO

DEFINE ERRCDS,<
	XLIST

	X	AON,<Application 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,<OPERATOR privileges required>
	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 Does not 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,<ERROR.SYS entry 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>
	X	ORS,<SYSTEM, HOST or REMOTE operator privilege required>
	X	OHS,<SYSTEM or HOST operator privilege required>
	X	OSY,<SYSTEM operator privilege required>
	X	SAF,<Send to ACTDAE failed for SET USAGE command>
	X	CLO,<Can't locate operator>

	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	INT,<Invalid node or no terminal lines for node ^N/G$ARG1/>
	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 for pid ^O/G$ARG1/ .. OPR ignored>
	X	PER,<Command error: ^T/@G$ARG1/>
	X	RWF,<^T/@G$ARG1/ file retrieval 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 command 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 retrieval waits ^T/@G$ARG1/d>
	X	JLO,<Message ^D/G$ARG1/ canceled .. job ^D/G$JOB/ 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,<Entry made in ERROR.SYS>
	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	PARSET	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
	EXTERNAL	P$UQST		;UNQUOTED STRING
	EXTERNAL	P$TAKE		;Take processing
	EXTERNAL	P$ACCT		;Account string
	EXTERNAL	P$NPRO		;No process required
> ;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

	PHASE	0

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

DEPHASE
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
	OP.SYS==1B5			;SYSTEM OPERATOR
	OP.LCL==1B6			;LOCAL OPERATOR
	OP.HST==1B7			;Host operator

OPR.OF:!BLOCK <.OTMAX+NUMAPL>/<^D36/^D3>+1 ;THREE FLAGS PER OBJECT
	WO.ALL==WO.EVM!WO.JOB!WO.OAC	;ALL FLAGS
	  WO.EVM==1B0			;OTHER MESSAGES
	  WO.JOB==1B1			;JOB MESSAGE
	  WO.OAC==1B2			;OPR ACTION MESSAGE

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
TOPS10 <
OPR.UN:! BLOCK	2			;USER NAME ON THE -10
> ;END TOPS10
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


SUBTTL	OPR table database 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	Parser storage allocation definitions

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

TOPS20 <
GJFSIZ==.GJRTY+2			;SIZE OF GTJFN BLOCK USED BY COMND JSYS
> ;END TOPS20

TOPS10 <
GJFSIZ==FDXSIZ
> ;END TOPS10
SUBTTL	PDB	Parser data block definitions

;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==20			;SIZE OF TEMP TABLE FOR SHRSWT
SUBTTL	Parser argument block description

;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 PARSER> 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	Parser action routine argument block description

;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

	SUPPRESS CR.SIZ
SUBTTL	Parser return block definition

;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.SM:!
PRT.MS:! BLOCK	1			;POINTER TO TEXT OF MESSAGE ON
					;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:!
	DEPHASE
SUBTTL	Parser keyword table descriptions

;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	Message resend list database description

;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	Message send failure database description

;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 system definitions

	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	SRV: Database for TOPS20

;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	Error tables for OPR

	DEFINE	ERROPR,<
	XLIST
X	E.NORM,<OPR terminated normally>
TOPS20 <
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 TOPS20
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

;SUPPRESS SYMBOLS REFERENCED BUT NOT DEFINED IN ORNMAC

SUPPRESS FTJSYS,FTUUOS,MSHSIZ,MT.TXT,OBJ.ND,OBJ.SZ,OBJ.TY,OBJ.UN,.ZZ

	END