Google
 

Trailing-Edge - PDP-10 Archives - BB-J713A-BM - language-sources/ornmac.mac
There are 44 other files named ornmac.mac in the archive. Click here to see a list.
UNIVERSAL	ORNMAC	--	Symbol File for ORION AND OPR
SUBTTL	MURRAY BERKOWITZ 23-Aug-79


;
;
;                COPYRIGHT (c) 1975,1976,1977,1978,1979
;                    DIGITAL EQUIPMENT CORPORATION
;
;     THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY  BE  USED
;     AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE
;     AND WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE.   THIS
;     SOFTWARE  OR ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR
;     OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.  NO  TITLE  TO
;     AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
;
;     THE INFORMATION  IN  THIS  SOFTWARE  IS  SUBJECT  TO  CHANGE
;     WITHOUT  NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT
;     BY DIGITAL EQUIPMENT CORPORATION.
;
;     DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
;     OF  ITS  SOFTWARE  ON  EQUIPMENT  WHICH  IS  NOT SUPPLIED BY
;     DIGITAL.

	.DIRECTIVE .NOBIN	;NO REL FILE NEEDED
	SEARCH	GALCNF		;GET GALAXY OPTIONS

	SEARCH	GLXMAC
IFN	FTUUOS,<
	IF1,<PRINTX BUILDING A GALAXY-10 ORNMAC>
		SEARCH	UUOSYM>
IFN	FTJSYS,<
	IF1,<PRINTX BUILDING A GALAXY-20 ORNMAC>
		SEARCH	MONSYM>

	SALL		; CLEAN LISTINGS

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

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

;               TABLE OF CONTENTS FOR ORNMAC
;
;
;                        SECTION                                   PAGE
;    1. MURRAY BERKOWITZ 2-APR-79.................................   1
;    2. Table of Contents.........................................   3
;    3. Operating System Dependent Definitions....................   3
;    4. DEFINE SYMBOLS FOR KEYWORD VALUES.........................   4
;    5. DEFINE SYMBOLS FOR SWITCHES...............................   5
;    6. SYNTAX TABLE MACROS.......................................   6
;    7. GALCNF PARAMETERS.........................................   7
;    8. ORNKEY, ORNDSP,ORNSDP AND ORNSWI MACROS FOR COMMAND TABLES   8
;    9. GENERAL MESSAGE FORMAT....................................   8
;   10. ORION Message Codes.......................................   9
;   11. SPECIAL ORION ACCUMULATOR ASSIGNMENTS.....................  10
;   12. THE OBJECT AREA...........................................  11
;   13. ORION COMMAND MESSAGES....................................  12
;   14. OPRHEL -- OPR HELLO MESSAGE TO ORION......................  13
;   15. START,STOP(PAUSE),CONTINUE AND SHUTDOWN...................  14
;   16. OPRSET  --      OPR SETUP MESSAGE FROM ORION..............  15
;   17. OPRSTR  --      OPR SETUP REPLY TO ORION..................  16
;   18. APLHEL  --      APPLICATION HELLO MESSAGE.................  17
;   19. APLACK  --      ACKNOWLEDGEMENT TO APPLICATION HELLO......  18
;   20. The SET Message...........................................  19
;   21. FORWARDSPACE AND BACKSPACE COMMANDS.......................  20
;   22. HOLD AND RELEASE COMMANDS.................................  21
;   23. MODIFY MESSAGE............................................  22
;   24. ROUTE COMMAND.............................................  23
;   25. DELETE COMMAND............................................  24
;   26. The SEND Message..........................................  25
;   27. The NOTIFY Message........................................  26
;   28. The SUPPRESS Message......................................  27
;   29. CANCEL COMMAND MESSAGE....................................  28
;   30. REQUEUE COMMAND MESSAGE...................................  29
;   31. DEFINE COMMAND MESSAGE....................................  30
;   32. TAPE AND DISK COMMANDS....................................  31
;   33. SHOW COMMANDS FOR TAPES...................................  32
;   34. SWITCH COMMAND............................................  33
;   35. DISMOUNT COMMAND..........................................  34
;   36. UNLOAD COMMAND............................................  35
;   37. RECOGNIZE COMMAND FOR -10.................................  35
;   38. SET TAPE AND DISK COMMANDS................................  36
;   39. SET STRUCTURE COMMAND FOR DISKS...........................  37
;   40. SET TAPE XXX INITIALIZE COMMAND...........................  38
;   41. ENABLE AND DISABLE COMMAND FOR TAPES......................  39
;   42. MOUNT COMMAND FOR TAPE AND DISK...........................  40
;   43. IDENTIFY MESSAGE FOR TAPES................................  41
;   44. RESPONSE MESSAGE..........................................  42
;   45. COMMAND Message...........................................  43
;   46. DN60 COMMAND MESSAGE......................................  44
;   47. WTO,WTOR AND ACK FORMATS FOR ALL PROGRAMS.................  45
;   48. ALIGN MESSAGE.............................................  46
;   49. The STATUS Message........................................  47
;   50. The SHOW CONTROL-FILE Message.............................  48
;   51. SHOW STATUS MESSAGE.......................................  49
;   52. LOGOUT Message - Function 27 (sent by IPCC)...............  50
;   53. ORION Fatal Error Codes...................................  51
;   54. PARSER SETUP MACROS.......................................  52
;   55. Node/Operator Data Base...................................  53
;   56. OPR LIST ENTRY............................................  54
;   57. OPR TABLE DATA BASE STRUCTURE.............................  54
;   58. OPERATOR MESSAGE LIST ENTRY...............................  55
;   59. CONSTANT DEFINITIONS FOR PARSER...........................  56
;   60. PARSER BLOCK DESCRIPTION..................................  57
;   61. PARSER FLAG VALUES........................................  57
;   62. ARGUMENT BLOCK FOR CALLING THE PARSER.....................  58
;   63. RETURN BLOCK FROM THE PARSER..............................  59
;   64. TABLE HANDLING DEFINITIONS................................  60
;   65. RESEND LIST DATA BASE.....................................  61
;   66. SEND FAILURE DATA BASE....................................  62
;   67. INTERRUPT DATA............................................  63
;   68. DN200 OPR DEFINITIONS.....................................  64
;   69. DATA STRUCTURES FOR -20 SRV:..............................  65
;   70. ERROPR  --      ERROR  TABLES FOR OPR.....................  66
SUBTTL	Operating System Dependent Definitions

;DEFINE THE COMND JSYS FUNCTIONS FOR ORION TO USE ON TOPS-10

SYSPRM(.CMKEY,0,)
SYSPRM(.CMNUM,1,)
SYSPRM(.CMNOI,2,)
SYSPRM(.CMSWI,3,)
SYSPRM(.CMIFI,4,)
SYSPRM(.CMOFI,5,)
SYSPRM(.CMFIL,6,)
SYSPRM(.CMFLD,7,)
SYSPRM(.CMCFM,10,)
SYSPRM(.CMDIR,11,)
SYSPRM(.CMUSR,12,)
SYSPRM(.CMCMA,13,)
SYSPRM(.CMINI,14,)
SYSPRM(.CMFLT,15,)
SYSPRM(.CMDEV,16,)
SYSPRM(.CMTXT,17,)
SYSPRM(.CMTAD,20,)
SYSPRM(.CMQST,21,)
SYSPRM(.CMUQS,22,)
SYSPRM(.CMTOK,23,)
SYSPRM(.CMNUX,24,)
SYSPRM(.CMACT,25,)
SYSPRM(.CMNOD,26,)


	;DEFINE TAPE AND TTY FLAGS FOR DEVICE DESIGNATORS

SYSPRM	DV%MTA,DV.MTA,.DVMTA	;TAPE VALUE
SYSPRM	DV%TTY,DV.TTY,.DVTTY	;TTY VALUE
SUBTTL	DEFINE SYMBOLS FOR KEYWORD VALUES

;THE VALUES HERE ARE USED TO PASS WHICH KEYWORD THE PARSER SAW
; TO THE EVENT PROCESSOR
	;THERE WILL BE 3 KEYWORD TABLES
	;	KEYMAIN	-	MAIN KEYWORDS THAT START COMMANDS
	;	KEYOBJ	-	KEYWORDS THAT ARE OBJECTS
	;	OBJORN	-	ORION OBJECTS ..DEVICES BAT,LPT,CDP,CDR
	;	KEYWORD	-	ALL OTHER KEYWORDS

DEFINE	KEYMAIN,<
	X	ALIGN,ALI		;ALIGN
	X	BACKSPACE,BKS		;BACKSPACE
	X	CANCEL,CNC		;CANCEL
	X	CLOSE,CLO		;CLOSE
	X	CONTINUE,CNT		;CONTINUE
	X	DELETE,DEL		;DELETE COMMAND
IFN	FTDN60,<
	X	DEFINE,DEF		;DEFINE
>;END FTDN60
	X	DISABLE,DIS		;DISABLE
	X	DISMOUNT,DSM		;DISMOUNT COMMAND
	X	ENABLE,ENA		; ENABLE
	X	ENTER,ENT		;ENTER
	X	EXIT,EXT		;EXIT
	X	FORWARDSPACE,FWS	;FORWARDSPACE
	X	HELP,HLP		;HELP COMMAND
	X	HOLD,HLD		;HOLD
	X	IDENTIFY,IDN		;IDENTIFY
	X	MODIFY,MOD		;MODIFY COMMAND
	X	MOUNT,MTN		;MOUNT COMMAND
	X	PAUSE,PAU		;PAUSE
TOPS20<	X	PUSH,PUS>		;PUSH COMMAND
	X	PRINT,PRT		;PRINT COMMAND
TOPS10 <	X	RECOGNIZE,REC >	;RECOGNIZE COMMAND
	X	RELEASE,REL		;RELEASE
	X	REPORT,RPT		;REPORT
	X	REQUEUE,REQ		;REQUEUE
	X	RESPOND,RSP		;RESPOND
	X	RETURN,RTN		;RETURN
	X	ROUTE,RTE		;ROUTE (ROUTE COMMAND FOR QUASAR)
	X	SEND,SND		;SEND
	X	SET,SET			;SET
	X	SHOW,SHW		;SHOW
	X	SHUTDOWN,SHD		;SHUTDOWN
	X	START,STA		;STARTUP
	X	SUBMIT,SUB		;SUBMIT COMMAND
	X	SUPPRESS,SUP		;SUPPRESS
	X	TAKE,TAK		;TAKE
	X	UNLOAD,UNL		;UNLOAD COMMAND
	X	WAIT,WAI		;WAIT COMMAND

	;COMMANDS FOR TAPE AND DISK
	X	SWITCH,SWI		;SWITCH COMMAND

	;COMMANDS FOR MDA ON -10
	X	LOCK,LOC		;LOCK COMMAND
	X	UNLOCK,ULC		;UNLOCK

>;END OF KEYMAIN


DEFINE	KEYOBJ,<
X	JOB,JOB			;JOB
X	OPERATOR,OPR		;OPERATOR
X	TERMINAL,TRM		;TERMINAL
>;END KEYOBJ


	; *** THE OBJORN ENTRIES MUST BE IN ALPHABETICAL ORDER. ***


DEFINE	OBJORN,<
X	(<BATCH>,BAT)		;BATCH-STREAM
X	(<CARD-PUNCH>,CDP)	;CARD-PUNCH
X	<CARD-READER-INTERPRETER>,BIN	;READER INTERPRETER
IFN	FTJSYS,<
X	<FILE-RETRIEVAL>,RET 	;RETREIVAL REQUESTS
>;END FTJSYS
IFN	FTDN60,<
X	<IBM>,IBM		;IBM EMULATION MESSAGES
>;END FTDN60
X	<MOUNT>,MNT	;MOUNT REQUESTS
X	(<PAPER-TAPE-PUNCH>,PTP);PAPER-TAPE-PUNCH
X	PLOTTER,PLT		;PLOTTER
X	PRINTER,LPT		;PRINTER
X	READER,RDR		;READER
>;END OBJORN

DEFINE KEYWORD,<
X	ALL,ALL			;ALL
X <ALL-MESSAGES>,ALM		;ALL-MESSAGES
X <ALL-NODES>,ALG		;ALL-NODES
X	ASK,ASK			;ASK
X(<BEGINNING-OF>,BEG)		;BEGINNING-OF
X <CONTROL-FILE>,CTL		;CONTROL-FILE
X	COPY,CPY		;COPY
X(<CURRENT-POSITION>,CUR)	;CURRENT-POSITION
X	DAYTIME,DAY		;DAYTIME
X <ERROR-MESSAGES>,ERM		;ERROR-MESSAGES
X	FILE,FIL		;FILE
X (<FORMS-TYPE>,FOT)		;FORMS-TYPE
X	IGNORE,IGN		;IGNORE
X	<JOB-MESSAGES>,JOM	;JOB MESSAGES
X	KEYPAD,KPD		;KEYPAD
X (<LIMIT-EXCEEDED-ACTION>,LEA)	;LIMIT-EXCEEDED-ACTION
X	LINE,LIN		;LINE....LINE NUMBER
X	LOG,LOG			;LOG
X	LOGGING,LGG		;LOGGING
X (<MEMORY-LIMITS>,MEM)		;MEMORY-LIMITS
X	MESSAGES,MSG		;MESSAGES
X	NODE,NOD		;NODE
X	NOKEYPAD,NKP		;NOKEYPAD
X(<NOOPR-INTERVENTION>,NOI)	;NOOPR-INTERVENTION
X <OPR-ACTION-MESSAGES>,OAM	;OPERATOR ACTION MESSAGES
X	<ONLINE>,ONL		;ONLINE
X(<OPR-INTERVENTION>,OIA)	;OPR-INTERVENTION
X	OTHER,OTH		;OTHER MESSAGES
X <OUTPUT-DISPLAY>,OPD		;OUTPUT-DISPLAY
X(<OUTPUT-LIMITS>,OPL)		;OUTPUT-LIMITS
X (<PAGE-LIMITS>,PGL)		;PAGE-LIMITS
X	PARAMETERS,PRM		;PARAMETERS
X	PRIORITY,PRI		;PRIORITY
X (<PRIORITY-LIMITS>,PRL)	;PRIORITY-LIMITS
X	REQUEST,RQN		;REQUEST NUMBER
X	QUEUE,QUE		;QUEUE
X	STATUS,STS		;STATUS
X	SYSTEM,SYS		;SYSTEM
X <TAKE-COMMANDS>,TAC		;TAKE-COMMANDS
X (<TIME-LIMITS>,TIM)		;TIME-LIMITS
X	TO,TO			;TO (USED IN ROUTE COMMAND)
X	TYPE,TYP		;TYPE (TERMINAL TYPE)


	;DN60 KEYWORDS

IFN	FTDN60,<

X	<BYTES-PER-MESSAGE>,BPM	;BYTES PER MESSAGE
X	<CLEAR-SEND-DELAY>,CSD	;CLEAR TO SEND DELAY
X	<DATA-TERMINAL-READY>,DTR ;DATA TERMINAL READY
X	<EMULATION>,EMU		;EMULATION
X	HASP,HSP		;HASP
X	<NO-SIGNON-REQUIRED>,NSN;NO-SIGNON-REQUIRED
X	OFF,OFF			;OFF
X	ON,ON			;ON
X	<RECORDS-PER-MESSAGE>,RPM ;RECORDS PER MESSAGE
X	SECONDARY,SEC		;SECONDARY PROTOCOL
X	<SILO-WARNING-LEVEL>,SWL ;SILO WARNING LEVEL
X	<SIGNON-REQUIRED>,SON	;SIGNON-REQUIRED

;	SYMBOL DEFINED BUT VALUE O.K.

;X	<TERMINATION>,TRM	;TERMINATION
X	<TIMEOUT-CATEGORY>,TOU	;TIMEOUT CATEGORY
X	<TRANSPARENCY>,TRA	;TRANSPARENCY
X	2780,278		;2780
X	3780,378		;3780

>;END FTDN60

	;TAPE AND DISK KEYWORDS

X	<ACKNOWLEDGED>,ACK	;ACKNOWLEDGED
X	<ALL-TAPE-DRIVES>,ATP	;ALL TAPE DRIVES
X	<ANSI>,ANS		;ANSI LABELS
X	<AUTOMATIC-VOLUME-RECOGNITION>,AVR	;AVR
X	<AVAILABLE>,AVA		;AVAILABLE
X	<CHANNEL>,CHN		;CHANNEL
X	<DRIVE>,DRV		;DRIVE
X	<DISK-DRIVE>,DSK	;DISK DRIVE
X	<DOMESTIC>,DOM		;DOMESTIC
X	<EBCDIC>,EBC		;EBCDIC
X	<FOREIGN>,FOR		;FOREIGN
X	<INITIALIZE>,INI	;INITIALIZE
X	NO,NO			;NO
X	<REGULATED>,REG		;REGULATED
X	<SCRATCH>,SCR		;SCRATCH
X	<STRUCTURE>,STR		;STRUCTURE
X	<TAPE-DRIVE>,TAP	;TAPE-DRIVE
X	<TOPS20>,T20		;TOPS-20 LABELS
X	<UNAVAILABLE>,UAV	;UNAVAILABLE
	;VALUE ALREADY DEFINED SO NO NEED TO DEFINE AGAIN
;X	<UNLABELED>,UNL		;UNLABELED
X	<UNREGULATED>,URG	;UNREGULATED
X	<VOLUME-ID>,VID		;VOLUME-ID
X	YES,YES			;YES
X	200,200			;DENSITY OF 200
X	556,556			;DENSITY OF 556
X	800,800			;DENSITY OF 800
X	160,160			;DENSITY OF 1600
X	625,625			;DENSITY OF 6250


	;TOPS20 COMMANDS

X	<BIAS-CONTROL>,BIA	;BIAS CONTROL
X	<SCHEDULER>,SCH		;SCHEDULER
X	<NONE>,NON		;NONE
X	<BACKGROUND>,BCK	;BACKGROUND
X	<CLASS>,CLS		;CLASS
X	<ACCOUNTS>,ACT		;ACCOUNTS
X	<ALLOCATED>,ALO		;ALLOACTED
X	<WITHHELD>,WHD		;WITHHELD
X	<POLICY-PROGRAM>,PPR	;POLICY PROGRAM


	;MDA COMMANDS

X	<AUTOMATIC-STRUCTURE-RECOGNITION>,ASR	;ASR

> ;END OF DEFINITION OF KEYWORDS
;NOW DEFINE THE X MACRO TO GENERATE THE NEEDED SYMBOLS

DEFINE	X(A,B),<
	IF1,<IFDEF .KY'B,< PRINTX ? DUPLICATE KEYWORD CODE -- .KY'B>>
	.KY'B==..Z
	..Z==..Z+1
>
;INITIALIZE THE COUNTER AND CALL KEYWORD TO GENERATE THE SYMBOLS
	..Z==100000
	KEYMAIN
	..Z==200000
	KEYWORD

	DEFINE	X(A,B),<
	IF1,<IFDEF .KY'B,< PRINTX ? DUPLICATE KEYWORD CODE -- .KY'B>>
	.KY'B=.OT'B
	>;END X
	KEYOBJ
	OBJORN
SUBTTL	DEFINE SYMBOLS FOR SWITCHES

;THESE SYMBOLS ARE USED TO INDICATE WHAT SWITCH WAS SEEN BY THE PARSER
;TO THE EVENT PROCESSOR

DEFINE SWITCH,<
	X	<ALL>,ALL		;/ALL
	X	<APPEND>,APD		;/APPEND
	X	<AVAILABLE>,AVA		;/AVAILABLE
	X	<CHARACTERISTICS>,CHR	;/CHARACTERISTICS
	X	<COPIES:>,CPY		;/COPIES:
	X	<CREATE>,CRE		;/CREATE
	X	<DEVICE:>,DEV		;/DEVICE:
	X	<FILE:>,FIL		;/FILE:
	X	<FREE>,FRE		;/FREE
	X	<LINES>,LNS		;/LINES
	X	<PAGES:>,PAG		;/PAGES:
	X	<JOBNAME:>,JOB		;/JOBNAME:
	X	<MOUNTED>,MNT		;/MOUNTED
	X	<NODE:>,NOD		;/NODE
	X	<PAUSE:>,PAU		;/PAUSE
	X	<REQUEST-ID:>,REQ	;/REQUEST-ID:
	X	<REPEAT-COUNT:>,RPT	;/REPEAT
	X	<SEQUENCE:>,SEQ		;/SEQUENCE:
	X	<SHORT>,SHT		;/SHORT
	X	<STOP>,STP		;/STOP
	X	<JOB>,JBX		;/JOB
	X	<SUPERCEDE>,SPR		;/SUPERCEDE
	X	<PURGE>,PUR		;/PURGE (FOR JOB ERROR )
	X	<ERROR-PROCESSING>,ERR	;/ERROR-PROCESSING
	X	<NOERROR-PROCESSING>,NER;/NOERROR-PROCESSING
	X	<REASON:>,RSN		;/REASON 
	X	<DISPLAY>,DSP		;/DISPLAY
	X	<NODISPLAY>,NDP		;/NODISPLAY
	X	<OPR-ACTION-MESSAGE>,OAM ;/OPR-ACTION MESSAGES
	X	<OTHER>,OTH		;/OTHER

	;TAPE AND DISK -20 COMMAND SWITCHES
	X	<COUNT:>,CNT		;/COUNT:
	X	<DENSITY:>,DEN		;/DENSITY:
	X	<INCREMENT:>,INC	;/INCREMENT:
	X	<LABEL-TYPE:>,LBT	;/LABEL-TYPE
	X	<OVERIDE-EXPIRATION:>,OVR;/OVERIDE-EXPIRATION
	X	<OWNER:>,OWN		;/OWNER:
	X	<PROTECTION>,PRO	;/PROTECTION:
	X	<STARTING-VOLUME-ID:>,SVI;/START-VOLUME-ID:
	X	<TAPE-DISPOSITION:>,TDP	;/TAPE-DISPOSITION
	X	<VOLUME-ID>,VID		;/VOLUME-ID

	;-20 SCHEDULER SWITCHES

	X	<WINDFALL:>,WFL		;/WINDFALL:
	X	<CLASS-ASSIGNMENTS:>,CAS	;/CLASS-ASSIGNMENTS:

>
DEFINE	X(A,B),<
	IF1,<IFDEF .SW'B,< PRINTX ? DUPLICATE SWITCH CODE -- .SW'B>>
	.SW'B==..Z
	..Z==..Z+1
>
..Z==400000
	SWITCH
	SUBTTL	SYNTAX TABLE MACROS

	;THESE MACROS ARE USED TO GET THE DATA FROM GALGEN AND BUILD
	;THE NECESSARY DATA NEEDED BY OPR AND ORION

	;DEFINE APPLICATION TABLES


	DEFINE	TABAPL,<
	;THIS TABLE MUST BE IN ALPAHABETICAL ORDER BY THE FIRST ARGUMENT
	;	X	NAME,CODE,TABLE NAME

	G$$ATB		;GET TABLE VALUES

	>;END TABAPL
	APLBEG==700000		;START APPLICATION CODES


	OP.AAP==0		;ALL APLLICATION MESSAGES
	DEFINE	X(A,B,C),<.ZZ==.ZZ+1
	IF1,<IFDEF .KY'B,< PRINTX ? DUPLICATE APPLICATION CODE -- .KY'B>>
	IF1,<IFDEF OP.'B,< PRINTX ? DUPLICATE MESSAGE FLAG -- OP.'B>>
	.KY'B==APLBEG+.ZZ
	OP.'B==1B<.ZZ>
	OP.AAP==OP.AAP!OP.'B
	>;END OF X

	.ZZ==0
	TABAPL		;EXPAND APPLICATION TABLES

	NUMAPL==.ZZ	;NUMBER OF TABLES
	IFG	<NUMAPL-^D18>,
<<PRINTX NUMBER OF APPLICATIONS IS GREATER THAN 18 COMPILE ABORTED>
<PRINTX PLEASE CORRECT THE GALGEN PROCEDURE AND RECOMPILE>
	END>

	%CHKTM==1	;CHECKPOINT LOG INTERVAL
	SUBTTL GALCNF PARAMETERS

	XP	O.LENA,G.OLOG

	DEFINE O$LOGN,<	G$$LGN	>;GET LOG NAME
	DEFINE	X(A),<>			;NULL X EXPANSION
	O$LOGN				;COPY IN MACRO
SUBTTL	ORNKEY, ORNDSP,ORNSDP AND ORNSWI MACROS FOR COMMAND TABLES

;THESE MACROS ARE USED TO DEFINE KEYWORD AND SWITCH TABLES
;THEY USE THE SOFTWARE HALF OF THE TABLE TO POINT TO A WORD
; CONTAINING   .KYXXX OR .SWXXX IN THE LH AND THE ADDRESS OF THE
; NEXT PDB CHAIN IN THE RH
;
;TO GENERATE A TABLE, YOU NEED ONE OF THESE MACROS PER ENTRY.
;THEY MUST BE IN ALPHABETICAL ORDER

DEFINE ORNDSP(NXT,KEY,CODE,FLAGS),<
	DSPTAB(NXT,.KY'CODE,KEY,FLAGS)
>;END ORNDSP
DEFINE ORNKEY(KEY,CODE,FLAGS),<
	KEYTAB(.KY'CODE,KEY,FLAGS)
>;END ORNKEY

DEFINE ORNSWI(SWITCH,CODE,FLAGS),<
	KEYTAB(.SW'CODE,SWITCH,FLAGS)
>;END ORNSWI
DEFINE ORNSDP(NXT,SWITCH,CODE,FLAGS),<
	DSPTAB(NXT,.SW'CODE,SWITCH,FLAGS)
>;END ORNSWI
SUBTTL	GENERAL MESSAGE FORMAT

COMMENT $

All ORION messages consist of a message header, at least one object 
area, an ORNMAC version number, and a pointer to an argument length
word.

$
SUBTTL ORION Message Codes

;The following codes are placed into the message header field, MS.TYP to
;	indicate what type of message follows.

		.OMOFF==200000		;OFFSET OF FIRST ORION MESSAGE
		.OMSTA==200002		;START MESSAGE
		.OMSHT==200003		;SHUTDOWN MESSAGE
		.OMPAU==200004		;PAUSE MESSAGE
		.OMCON==200005		;CONTINUE MESSAGE
		.OMSHS==200006		;SHOW STATUS MESSAGE
		.OMAHL==200007		;APPLICATION HELLO MESSAGE
		.OMSTS==200010		;STATUS MESSAGE
		.OMWTO==200011		;WRITE TO OPERATOR MESSAGE
		.OMRSP==200012		;RESPONSE TO WTO MESSAGE (SENT BY ORION)
		.OMWTR==200013		;WTOR MESSAGE
		.OMACK==200014		;ACKNOWLEDGEMENT MESSAGE
		.OMOHL==200015		;OPR HELLO MESSAGE
		.OMOST==200016		;OPR SETUP MESSAGE
		.OMOSR==200017		;OPR SETUP REPLY
		.OMHAC==200020		;HELLO ACK FOR APPLICATIONS
		.OMQHL==200021		;QUASAR HELLO MESSAGE
		.OMREQ==200025		;REQUEUE MESSAGE
		.OMCAN==200026		;CANCEL MESSAGE
		.OMSET==200027		;SET MESSAGE
		.OMFWS==200031		;FORWARDSPACING MESSAGE
		.OMALI==200032		;ALIGN MESSAGE
		.OMSUP==200033		;SUPPRESS MESSAGE
		.OMBKS==200034		;BACKSPACE COMMAND
		.OMSND==200035		;SEND COMMAND
		.OMSHC==200036		;SHOW CONTROL FILE(EXAMINE)
		.OMSHP==200037		;SHOW PARAMETERS MESSAGE
		.OMRTE==200040		;ROUTE COMMAND
		.OMSHQ==200041		;SHOW QUEUES COMMAND
		.OMHLD==200042		;HOLD COMMAND
		.OMREL==200043		;RELEASE COMMAND
		.OMSHR==200044		;SHOW ROUTE TABLES COMMAND
		.OMACS==200045		;ACK FOR SHOW MESSAGES
		.OMTKE==200046		;END OF TAKE FILE FLAG
		.OMCMD==200050		;OPR COMMAND MESSAGE
		.OMDSP==200051		;DISPLAY MESSAGE TO PASS A DISPLAY TO OPR
		.OMSHM==200052		;SHO MOUNT REQUESTS
		.OMLOG==200053		;LOG MESSAGE TYPE
		.OMNFY==200054		;NOTIFY MESSAGE FROM QUASAR
		.OMDEL==200055		;DELETE COMMAND
		.OMSUB==200056		;SUBMIT COMMAND
		.OMPRT==200057		;PRINT COMMAND
		.OMMOD==200060		;MODIFY COMMAND
		.OMQUE==200061		;QUEUE REQUEST ENABLE/DISABLE
		.OMENA==200062		;ENABLE MESSAGE
		.OMDIS==200063		;DISABLE MESSAGE
		.OMDEF==200064		;DEFINE COMMAND
		.OMD60==200065		;DN60 COMMAND MESSAGE
		.OMSSN==200066		;SHOW STATUS NETWORK-NODE
		.OMSPN==200067		;SHOW PARAMETERS NETWORK-NODE
		.OMLOC==200070		;LOCK COMMAND
		.OMULC==200071		;UNLOCK COMMAND
		.OMSTR==200072		;SHOW STATUS STRUCTURES
		.OMHGH==.OMSTR		;HIGHEST DEFINE ORION MESSAGE
		.OMTXT==MT.TXT		;TEXT MESSAGE SYMBOL ***

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

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

		.OTSHT==201001		;SHOW STATUS TAPE
		.OTSHD==201002		;SHOW STATUS DISK DRIVES
		.OTENA==201003		;ENABLE TAPE COMMAND
		.OTDIS==201004		;DISABLE MOUNT COMMAND
		.OTMTS==201005		;MOUNT STRUCTURE COMMAND
		.OTDSM==201006		;DISMOUNT COMMAND
		.OTSDK==201007		;SET DISK COMMAND
		.OTSTP==201010		;SET TAPE COMMAND
		.OTSST==201011		;SET STRUCTURE COMMAND
		.OTREC==201012		;RECOGNIZE COMMAND FOR -10
		.OTUNL==201013		;UNLOAD COMMAND
		.OTIDN==201014		;IDENTIFY MOUNT REQUEST MESSAGE
		.OTDMT==201015		;DELETE MOUNT REQUESTS
		.OTSWI==201016		;SWITCH COMMAND FOR TAPE REQUESTS
	SUBTTL	SPECIAL ORION ACCUMULATOR ASSIGNMENTS

;CHANGE MI TO 15 AND MO TO 14 FROM 16 AND 15
	MI==15				;POINTER TO MESSAGE RECEIVED
	MO==14				;POINTER TO MESSAGE TO SEND
;	PB==14				;POINTER TO FIELD IN MESSAGE RECEIVED
	FLAG==13			;FLAG AC

	;P4 WILL BE USED AS A FLAG REGISTER FLAG AND THEREFORE SHOULD 
	;NOT BE USED ANYWHERE ELSE
	SUBTTL	THE OBJECT AREA

;THIS AREA IS USED TO DEFINE WHAT OBJECT OR OBJECTS A PARTICULAR
;MESSAGE APPLIES TO. AT LEAST ONE OF THESE IS IN EVERY MESSAGE.

;THIS AREA IS AN EXACT COPY A GALAXY DEVICE-OBJECT DESIGNATOR DESCRIBED
;IN GLXMAC
;SEE GLXMAC FOR A DESCRIPTION OF ITS CONTENTS

	PHASE	MSHSIZ

.OBJTY==.+OBJ.TY			;OBJECT TYPE WORD
.OBJUN==.+OBJ.UN			;OBJECT UNIT NUMBER WORD
.OBJND==.+OBJ.ND			;NODE NAME

	BLOCK	OBJ.SZ			;SAVE THE SPACE SO LATER AREAS ARE 
					;CORRECTLY PLACED

OBJSIZ:!				;SIZE OF OBJECT AREA
	DEPHASE
.OBJLN==OBJ.SZ+1			;SIZE OF OBJECT ARGUMENT BLOCK


	;THE ARGUMENT COUNT WORD

	PHASE	OBJSIZ
.ARGLN:! BLOCK	1			;ARGUMENT COUNT POINTER

	DEPHASE
	SUBTTL	ORION COMMAND MESSAGES

	;THE FOLLOWING IS A DESCRIPTION OF THE LAYOUT OF ALL MESSAGES
	;SENT TO AN OBJECT PROCESSOR SIGNING ON WITH THE STANDARD HELLO
	;MESSAGE AS WELL AS RESPOND MESSAGES FOR WTO

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!

	PHASE MSHSIZ
.OFLAG:! BLOCK	1			;FLAG WORD FOR MESSAGE
.OARGC:! BLOCK	1			;ARGUMENT COUNT WORD
.OHDRS:!				;SIZE OF THE HEADER

	DEPHASE

	;DESCRIPTION OF THE ARGUMENT BLOCK

	PHASE 0
ARG.HD:! BLOCK	1			;ARGUMENT HEADER WORD
	AR.LEN==-1,,0			;LENGTH OF THE BLOCK
	AR.TYP==0,,-1			;TYPE OF BLOCK
ARG.DA:! BLOCK	1			;START OF DATA AREA
ARG.SZ:!				;MINIMUM SIZE OF THE BLOCK

	DEPHASE


	;GENERAL DATA TYPES FOR ALL MESSAGES
.OROBJ==100				;OBJECT BLOCK
.ORTYP==101				;OBJECT TYPE FIELD
.ORJBN==102				;JOBNAME TYPE FIELD
.ORSEQ==103				;SEQUENCE NUMBER FIELD
.ORREA==104				;REASON TYPE FIELD
.ORDSP==105				;OPR DISPLAY ARGUMENT
.ORREQ==106				;REQUEST NUMBER FIELD
.ORNOD==107				;NODE BLOCK FOR QUASAR VALIDATION
.ORD60==110				;DN60 BLOCK OF DATA
.ORTIM==111				;TIME BLOCK (UDT)

	;THE FOLLOWING ARE THE COMMAND TYPES CURRENTLY USED AS
	;GENERAL ARGUMENT TYPES
	;
	;.CMNOD			FOR NODE NAME TYPE
	;.CMTXT			FOR TEXT ASCIZ DATA
	;.CMIFI			FOR INPUT FILE SPEC
	;.CMUSR			FOR USER ID INFORMATION
	;.CMDEV			FOR DEVICE DESIGNATOR
	SUBTTL	OPRHEL -- OPR HELLO MESSAGE TO ORION

;	THIS MESSGE IS SENT BY AN OPR TO ORION IDENTIFYING WHAT
;	NODE THE OPR IS AT.

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


;	THIS MESSAGE USES THE STANDARD ARGUMENT HEADER LAYOUT
;	AND REQUIRES ONE ARGUMENT BLOCK AT THIS TIME
;
;	THIS ARGUMENT BLOCK CONTAINS FOUR WORDS
;
;	1.	NODE NAME WHERE OPR LOCATED
;	2.	OPR VERSION NUMBER
;	3.	ORNMAC VERSION NUMBER


	;THE FOLLOWING FLAGS WILL BE TURNED ON BY AN OPR ON THE -20
	;WITH REMOTE PRIVILEGES.

	OP.RMT==1B0		;REMOTE OPERATOR HELLO

	.OPHEL==100		;OPR HELLO BLOCK TYPE

	PHASE ARG.DA
OPH.ND:! BLOCK	1		;OPR HELLO NODE LOCATION
OPH.VN:! BLOCK	1		;VERSION NUMBER OF THE OPR
OPH.OV:! BLOCK	1		;ORNMAC VERSION NUMBER
OPH.SZ:!			;LENGTH OF THE BLOCK

	DEPHASE
	SUBTTL	START,STOP(PAUSE),CONTINUE AND SHUTDOWN

	;THE FORMAT FOR THESE MESSAGES IS JUST AN OBJECT BLOCK
	;EXCEPT THAT THE  START COMMAND FOR PRINTERS WILL TAKE
	;AN OPTIONAL ARGUMENT FOR DEVICE


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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


;	THE MESSAGES ALL CONTAIN AN OBJECT BLOCK	.OROBJ
;	AND FOR START OF PRINTERS AND OPTIONAL		.CMDEV
;
;

	;THE START AND SHUTDOWN COMMANDS CAN CONTAIN JUST A .ORNOD BLOCK FOR
	;THE SHUTDOWN/START NODE COMMAND
	SUBTTL	OPRSET	--	OPR SETUP MESSAGE FROM ORION

	;THIS MESSAGE IS SENT BY ORION TO AN OPR IN RESPONSE TO
	;THE HELLO MESSAGE. THIS MESSAGE IS USED TO SYNCRONIZE
	;ALL OPRS WITH THE CURRENT APPLICATION TABLE SETTINGS


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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THIS MESSAGE WILL CONTAIN APPLICATION NAMES TO BE ADDED
	;TO TABLES IN OPR.
	;
	;	.APNAM		ASCIZ BLOCK OF NAME TO ADD


.APNAM==10000			;DEFINE APPLICATION NAME CODE
	SUBTTL	OPRSTR	--	OPR SETUP REPLY TO ORION

	;THIS MESSAGE IS SENT TO ORION BY OPR IN RESPONSE TO
	;A SETUP MESSAGE. AFTER THIS MESSAGE IS SENT THE OPR
	;CAN NOW INPUT COMMANDS TO ORION IF SUCCESSFUL
	;


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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE ARGUMENT BLOCK CONSISTS OF THE FOLLOWING
	;OPR WILL RETURN WITH A CODE FOR SUCCESS OR FAILURE
	;
	;.ORSUC		FOR SUCCESS TYPE....LENGTH OF 1
	;.ORFAL		FOR FAILURE TYPE....LENGTH OF 1

.ORSUC==10100			;SUCCESS IF ZERO
.ORFAL==10101			;FAILURE IF 1
	SUBTTL	APLHEL	--	APPLICATION HELLO MESSAGE

;THIS MESSAGE IS SENT BY AN APPLICATION PROGRAM WISHING
;TO USE AN ALTERNATE SET OF COMMAND TABLES AS SPECIFIED
;AT ORION STARTUP. THE STRING SPECIFIED WILL
;BE USED AS THE PROMPT IF YOU ENTER THE APPLICATION LEVEL
;OR AS THE KEYWORD TO IDENTIFY THE APPLICATION COMMAND
;THE MESSAGE FORMAT USES THE NEW MESSAGE HEADER AND THE STANDARD
;ARGUMENT BLOCK FORMAT AS DESCRIBED UNDER ORION COMMAND MESSAGES

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!
	;CURRENTLY THE FOLLOWING ARE THE DEFINED APPLICATION
	;TYPES THAT CAN BE INCLUDED IN THE MESSAGE

	;APPLICATION HELLO TYPES

	.AHNAM==10200	;TYPE FOR THE APPLICATION NAME STRING  
			;THE ARGUMENT BLOCK WILL CONTAIN THE NAME STRING
			;IN THE ARGUMENT DATA AREA.
			;THE ARGUMENT LENGTH INCLUDES THE ARGUMENT HEADER
			;AND THE APPLICATION NAME STRING.
			;THE NAME MUST BE ASCIZ.
			;THE ARGUMENT COUNT WORD IN THE HEADER SHOULD
			;CONTAIN A 1.
	SUBTTL	APLACK	--	ACKNOWLEDGEMENT TO APPLICATION HELLO

;THIS MESSAGE IS SENT BY ORION TO AN APPLICATION IN RESPONSE
;TO THE APPLICATION HELLO MESSAGE CONTAINING THE INTERNAL TYPE
;CODE ASSIGNED TO THIS APPLICATION PROCESSOR. THIS CODE WILL BE
;USED TO IDENTIFY ALL REQUESTS FROM ORION TO THE APPLICATION.
;
;THE FORMAT OF THE MESSAGE IS THE STANDARD ORION MESSAGE HEADER
;FOR COMMANDS WITH AN ARGUMENT BLOCK
;	!=======================================================!
;	\                                                       \
;	\                  THE MESSAGE HEADER                   \
;	\                                                       \
;	!-------------------------------------------------------!
;	!                       FLAG WORD                       !
;	!-------------------------------------------------------!
;	!                  ARGUMENT COUNT WORD                  !
;	!=======================================================!
;	


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!
	;CURRENTLY THE FOLLOWING ARE THE DEFINED APPLICATION
	;TYPES THAT CAN BE INCLUDED IN THE MESSAGE

	;APPLICATION HELLO ACKNOWLEDGEMNT TYPES


	.AHTYP==10300	;THIS CODE IS USED TO DESCRIBE THE FIELD 
			;CONTAINING THE APPLICATION TYPE CODE 
			;RETURNED BY ORION. THE CODE IS A FULL WORD.
			;THE ARGUMENT BLOCK WILL CONSIST OF A HEADER 
			;AND ONE DATA WORD FOR A LENGTH OF 2
			;THE ARGUMENT COUNT WILL HAVE A 1
SUBTTL	The SET Message

;THE SET MESSAGE IS USED TO SET SCHEDULING PARAMETERS FOR AN OBJECT
;ONLY ONE PARAMETER CAN BE SET AT A TIME

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!

	;ARGUMENT TYPES AND VALUES
	;FOR ARGUMENTS WHERE THE TYPE IS SUFFICENT THE BLOCK WILL
	;HAVE A LENGTH OF ONE, OTHERWISE THE BLOCK WILL CONTAIN THE 
	;APPROPRIATE DATA ELEMENT AND INCLUDE ITS LENGTH IN THE BLOCK
	;HEADER.

	;THE MESSAGE WILL ALWAYS CONTAIN AN OBJECT BLOCK TO DESCRIBE THE
	;OBJECT
	;		.OROBJ		OBJECT BLOCK ARGUMENT TYPE

	.STPGL==10400		;PAGE LIMITS..HEADER..MIN..MAX
	.STOPL==.STPGL		;SET OUPUT-LIMIT
	.STFRM==10401		;FORMS TYPE..HEADER..SIXBIT FORMS TYPE
	.STMEM==10402		;CORE LIMITS..HEADER..MIN..MAX
	.STTIM==10403		;TIME LIMITS..HEADER..MIN..MAX
	.STPRI==10404		;PRIORITY LIMITS..HEADER..MIN..MAX
	.STOIA==10405		;OPR INTERVENTION..HEADER
	.STNOI==10406		;NOOPR-INTERVENTION..HEADER
	.STLEA==10407		;LIMIT EXCEED ACTION HEADER..DATA
	  .STCAN==1		;CANCEL
	  .STASK==2		;ASK
	  .STIGN==3		;IGNORE
	.STEND==.STLEA		;LAST DEFINED SET PARAMETER

IFN	FTDN60,<
	.STCSD==10410		;CLEAR TO SEND DELAY
	.STDTR==10411		;DATA TERMINAL READY
	  ST.ON==1		;ON
	  ST.OFF==2		;OFF
	.STRPM==10412		;RECORDS PER MESSAGE
	.STSWL==10413		;SILO WARNING LEVEL
	.STTOU==10414		;TIMEOUT CATEGORY
	  ST.PRI==1		;PRIMARY
	  ST.SEC==2		;SECONDARY
	.STTRA==10415		;TRANSPARENCY (ST.ON OR ST.OFF)
	.STBPM==10416		;BYTES PER MESSAGE
	.STSON==10417		;SIGNON-REQUIRED
	.STNSN==10420		;NO-SIGNON-REQUIRED

	.STEND==.STNSN		;LAST SYMBOL
>;END FTDN60
	SUBTTL	FORWARDSPACE AND BACKSPACE COMMANDS

	;THESE TWO COMMANDS ARE IDENTICAL EXCEPT THAT THE MESSAGE TYPE
	;WILL DESCRIBE THE DESIRED ACTION

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE FOLLOWING ARE THE DEFINED ARGUMENT TYPES FOR FORWARDSPACE
	;AND BACKSPACE. IN ALL CASES THE ARGUMENT BLOCK WILL HAVE
	;A LENGTH OF 2 AND THE POSTIONING AMOUNT WILL APPEAR IN THE
	;ARGUMENT DATA WORD.
	;ALL MESSAGES WILL CONTAIN AN OBJECT BLOCK DESCRIBING
	;THE PARTICULAR UNIT
	;
	;	.OROBJ	OBJECT BLOCK TYPE
	;

	.SPPAG==10500		;SPACING NUMBER OF PAGES
	.SPCPY==10501		;SPACING NUMBER OF COPIES
	.SPFIL==10502		;SPACING NUMBER OF FILES
	SUBTTL	HOLD AND RELEASE COMMANDS

	;THE FORMAT OF THE HOLD AND RELEASE COMMANDS ARE IDENTICAL 
	;EXCEPT FOR THE MESSAGE TYPE
	;THE MESSAGE STRUCTURE IS THE STANDARD MESSAGE HEADER AND 
	;A NUMBER OF ARGUMENT BLOCKS DESCRIBING THE JOB(S) TO HOLD OR 
	;RELEASE

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE FOLLOWING ARE THE DEFINED ARGUMENTS FOR THE HOLD AND 
	;RELEASE COMMAND
	;
	;	.ORTYP		THE QUEUE AFFECTED BY THE HOLD
	;	.CMUSR		THE USERS JOBS IN THAT QUEUE TO AFFECT
	;	.ORRQN		THE REQUEST NUMBER OF THE JOB
	;
	; IF ONLY THE .ORTYP FIELD IS SPECIFIED THEN  ALL JOBS IN THE 
	; SPECIFIED QUEUE ARE TO BE HELD. OTHERWISE EACH ARGUMENT WILL
	; FURTHER QUALIFY THE JOB(S) TO HOLD/RELEASE.
	SUBTTL	MODIFY MESSAGE

	;THE MODIFY MESSAGE IS USED TO MODIFY THE PARAMETERS OF A
	;JOB REQUEST

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE FOLLOWING ARE THE DEFINED ARGUMENTS TO DESCRIBE THE ENTRY
	;TO BE MODIFIED
	;
	;	.ORTYP		THE QUEUE AFFECTED BY THE HOLD
	;	.CMUSR		THE USERS JOBS IN THAT QUEUE TO AFFECT
	;	.ORRQN		THE REQUEST NUMBER OF THE JOB
	;
	; IF ONLY THE .ORTYP FIELD IS SPECIFIED THEN  ALL JOBS IN THE 
	; SPECIFIED QUEUE ARE TO BE MODIFIED. OTHERWISE EACH ARGUMENT WILL
	; FURTHER QUALIFY THE JOB(S) TO MODIFY.

	;THE FOLLOWING ARE THE VALID PARAMTERS FOR ALL QUEUES

	.MOPRI==11600		;MODIFY PRIORITY..BLOCK WITH PRIORITY IN IT
	SUBTTL	ROUTE COMMAND

	;THE ROUTE COMMAND WILL ROUTE THE OUTPUT FROM ONE NODE TO 
	;ANOTHER

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE ROUTE COMMAND SUPPORTS THE FOLLOWING BLOCK TYPES
	;
		.ORRTN==11500		;ROUTE NODE BLCOK
		.ORRTJ==11501		;ROUTE JOB BLOCK
	;
	;THE .ORRTN HAS THE FOLLOWING FIELDS
	;
	.SNODE==ARG.DA
	.DNODE=ARG.DA+1

	;WHERE .SNODE IS THE SOURCE NODE TO ROUTE AND
	;.DNODE IS THE DESTINATION NODE TO ROUTE
	;THE OPR ISSUING THE COMMAND MUST HAVE AUTHORIZATION FOR THE
	;SOURCE NODE FOR THE COMMAND TO BE VALID
	SUBTTL	DELETE COMMAND

	;THE DELETE COMMAND WILL  PASS THE QUEUE AND THE REQUEST NUMBER IN
	;A REQUEST ID BLOCK


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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!



;	THE BLOCKS ARE THE SAME FOR HOLD EXCEPT THAT THERE MUST BE A USER OR
;	REQUEST NUMBER BLOCK

	;	.ORTYP			;QUEUE TYPE
	;	.ORREQ			;REQUEST NUMBER
	;	.ORUSR			;USER NUMBER OR PPN


	; FOR DELETE OF MOUNT REQUEST THE FOLLOWING BLOCKS ARE POSSIBLE


	;.ORREQ		;REQUEST NUMBER OF REQUEST TO DELETE
	;	- OR -
	;.STRDV		;STRUCTURE BLOCK FOR DELETING ALL ON A STRUCTURE


	;.ORREA		;OPTIONAL REASON IF SPECIFIED
	SUBTTL	The SEND Message
	;THIS MESSAGE IS USED TO SEND TEXT TO A PARTICULAR BATCH STREAM
	;OR USER IDENTIFIED BY TERMINAL NUMBER OR JOB NUMBER.

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE BLOCK WILL CONTAIN A STANDARD ORION OBJECT BLOCK TO DESCRIBE
	;THE OBJECT THE MESSAGE IS BEING SENT TO.
	;
	;	.OROBJ		OBEJCT BLOCK TYPE
	;
	;AT THE CURRENT TIME THE OTHER ARGUMENT IS TEXT
	;AND USES THE STANDARD ORION TEXT TYPE
	;
	;	.CMTXT		;THE TEXT TYPE FOR MESSAGE
	;
	;THE DATA WILL BE ASCIZ TEXT WITH THE LENGTH INCLUDING ALL
	;TEXT AND THE HEADER
	SUBTTL	The NOTIFY Message

	;THIS MESSAGE IS USED BY QUASAR TO HAVE ORION DISPLAY A MESSAGE
	;ABOUT A USERS JOB

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

	;FLAG WORD BITS

	NT.MLU==1B0		;NOTIFY USER VIA MAIL


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THIS MESSAGE HAS FOUR ARGUMENTS

		.JOBID==200	;THE USER'S TERMINAL NBR & LOGIN TIME
		.NTSUB==201	;SUBJECT STRING FOR MAIL
	;	.CMDIR		;THE USER DIRECTORY NUMBER
	;	.CMTXT		;THE MESSAGE BODY

	;THE JOB ID BLOCK CONTAINS THE FOLLOWING DATA

		PHASE	ARG.DA

JBI.JB:! BLOCK	1			;JOB NUMBER
JBI.LI:! BLOCK	1			;JOB LOGGED IN TIME
JBI.SZ:!				;SIZE OF THE BLOCK

	;IF THE INFO MATCHES THE CURRENT JOB ON SYSTEM A MESSAGE WILL BE
	;DISPLAYED TO THE TERMINAL IF LOGGED IN.. PITCHED IF NOT OR DETACHED
SUBTTL	The SUPPRESS Message

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE SUPPRES COMMAND WILL ALWAYS CONTAIN AN ORION OBEJCT BLOCK
	;TO DESCRIBE THE OBJECT
	;
	;	.OROBJ		OBJECT BLOCK TYPE

	;THE SUPRRESS COMMAND SUPPORTS THE FOLLOWING ARGUMENT TYPES
	;
	.SUPFL==10600		;SUPRRESS CURRENT FILE
	.SUPJB==10601		;SUPPRESS CURRENT JOB
	.SUPST==10602		;STOP DOING SUPPRESSION

	;ALL ARGUMENTS ARE JUST THE ARGUMENT HEADER WITH THE APPROPRIATE
	;TYPE AND A LENGTH OF 1

	;THIS MESSAGE WILL ALWAYS CONTAIN AN ARGUMENT COUNT OF 2
	SUBTTL	CANCEL COMMAND MESSAGE

	;THIS MESSAGE IS USED TO CANCEL A PARTICULAR JOB RUNNING ON A 
	;PARTICULAR OBJECT

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!



	;THE CANCEL COMMAND WILL ALWAYS CONTAIN A ORION OBJECT BLOCK
	;TO DESCRIBE THE OBJECT WHERE JOB IS TO BE CANCELED.
	;
	;	.OROBJ		ORION OBJECT BLOCK
	;
	;THE FOLLOWING ARE THE VALID ARGUMENT TYPES FOR THIS MESSAGE
	
	.CANTY==10700		;CANCEL TYPE WITH THE FOLLOWING DATA

		.CNERR==1	;CANCEL WITH ERROR PROCESSING
		.CNNER==2	;CANCEL NO ERROR-PROCESSING
		.CNPRG==3	;CANCEL AND PURGE THE REQUEST


	;THE FOLLOWING ARGUMENT TYPES ARE OPTIONAL AND WILL
	;BE INCLUDED IF SPECIFIED
	;
	;	.ORRQN		;REQUEST NUMBER
	;	.ORREA		;REASON FOR CANCEL..EXPLANATION IF GIVEN
	;			;DATA IS THE TEXT
	SUBTTL	REQUEUE COMMAND MESSAGE

	;THIS MESSAGE IS TO REQUEUE A JOB ON A PARTICULAR OBJECT


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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!

	;THE REQUEUE COMMAND WILL ALWAYS CONTAIN AN OBJECT BLOCK
	;
	;	.OROBJ		OBJECT BLOCK
	;
	;THE FOLLOWING ARE THE VALID ARGUMENT TYPES FOR REQUEUE
	;
	.REQTY==11000		;REQUEUE TYPE OF OPERATION
		.RQBJB==1	;BEGINNING OF JOB
		.RQBFL==2	;BEGINNING OF FILE
		.RQBCP==3	;BEGINNING OF CURRENT COPY
		.RQCUR==4	;CURRENT POSITION

	;THE FOLLOWING ARGUMENT TYPES ARE OPTIONAL AND MAY BE INCLUDED
	;IN THE COMMAND IF SPECIFIED.
	;
	;	.ORRQN		REQUEST NUMBER OF JOB
	;	.ORREA		REASON FOR CANCEL..EXPLANATION IF GIVEN
	;			THE DATA IS THE TEXT
	SUBTTL	DEFINE COMMAND MESSAGE

	;THIS MESSAGE IS USED FOR DN60 TO DEFINE A NODE TO A PARTICULAR
	;PORT , LINE AND PROTOCOL


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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THIS MESSAGE CURRENTLY SUPPORTS ONLY ONE BLOCK

	.DFBLK==11100		;THE DEFINE BLOCK TYPE

	PHASE	ARG.DA

DEF.TY:! BLOCK	1			;TYPE OF NODE
	DF.378==1			;3780
	DF.278==2			;2780
	DF.HSP==3			;HASP
DEF.MD:! BLOCK	1			;MODE OF NODE
	DF.TRM==1			;TERMINATION
	DF.EMU==2			;EMULATION
DEF.PT:! BLOCK	1			;PORT
DEF.LN:! BLOCK	1			;LINE
DEF.SZ:!

	DEPHASE
	SUBTTL	TAPE AND DISK COMMANDS

	;THESE COMMANDS ALL HAVE THE STANDARD ORION HEADER 
	;WITH THE MESSAGE CODES IN THE .MSTYP WORD MS.TYP FIELD

	
	;TAPE AND DISK DEVICE INFO BLOCKS

	.TAPDV==20000		;TAPE DRIVE DEVICE BLOCK
	
	;THE BLOCK WILL CONTAIN A STRING FOR THE DEVICE WHICH ONE
	;CAN THEN CONVERT TO A DEVICE DESIGNATOR IF VALID. IF IT MUST BE
	;VALID OPR WILL NOT SET CM%PO AND FORCE OPR TO TYPE IN VALID NAME
	;BUT THE BLOCK WILL STILL CONTAIN A STRING

	;	*** THE STRING WILL NOT END IN A COLON *** 


	.DSKDV==20001		;DISK DEVICE BLOCK

	;THIS BLOCK WILL CONSIST OF 3 WORDS INCLUDING THE HEADER WITH
	;THE FIRST DATA WORD BEING THE CHANNEL NUMBER AND THE SECOND
	;BEING THE DRIVE NUMBER


	.STRDV==20002		;STRUCTURE BLOCK

	;THIS BLOCK WILL CONTAIN THE STRING TYPED BY THE OPERATOR AND 
	;IT WILL BEGIN AFTER THE HEADER. THE LENGTH OF BLOCK WILL 
	;INCLUDE THE WHOLE ASCIZ STRING
;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!
	SUBTTL	SHOW COMMANDS FOR TAPES

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

	;	.OTSHS		;SHOW STATUS FOR TAPE AND DISKS
	;	.OTSHP		;SHO PARAMTERS FOR TAPES AND DISKS

	;THERE ARE THREE POSSIBLE BLOCKS THAT CAN BE IN THE MESSAGE

	;.TAPDV BLOCK FOR TAPE TO SHOW
	 .ALTAP==20010		; BLOCK FOR ALL TAPES LENGTH OF 1
	 .ALDSK==20011		; BLCOK FOR ALL DISKS LENGTH OF 1
	 .ALSTR==20012		;BLOCK FOR ALL STRUCTURES (MDA ONLY)


	;FLAGS IN .OFLAG TO DESCRIBE OPTIONS OF DISPLAY(FOR TAPE AND DISK)


	ST.ALL==1B0		;ALL
	ST.AVA==1B1		;AVAILABLE DRIVES(FREE)
	ST.CHR==1B2		;CHARACTERISTICS
	ST.MNT==1B3		;MOUNTED


	;FOR STRUCTURES THERE MAY ALSO BE A.STRDV FOR THE PARTICULAR STRUCTURE
	SUBTTL	SWITCH COMMAND

	;THIS COMMAND IS USED BY MOUNTR ON THE -20 TO DETERMINE WHERE
	;THE NEXT VOLUME IS TO BE FOUND FOR A GIVEN REQUEST

	;THE MESSAGE CONSISTS OF THE FOLLOWING BLOCKS

	;.ORREQ		REQUEST NUMBER
	;.VOLID		VOLUME ID
	;.TAPDV		TAPE DEVICE BLOCK	(OPTIONAL)
	SUBTTL	DISMOUNT COMMAND 

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

	;THE ARGUMENTS WILL  BE

	;	 .STRDV 


	;THE DISMOUNT TAPE COMMAND WILL CONTAIN A

	; .TAPDV

	; BLOCK FOR TAPE DRIVE 

	SUBTTL	RECOGNIZE COMMAND FOR -10

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


	;THIS COMMAND WILL CONTAIN EITHER A TAPE BLOCK OR A DISK BLOCK
	;AS THE FIRST ARGUMENT AND THEN

	.DVAVL==20100		;DEVICE AVAILABLE BLOCK LENGTH 1
	.DVUAV==20101		;DEVICE UNAVAILABLE BLOCK LENGTH  1
	.DVINI==20102		;DEVICE INITIALIZE MODE
	SUBTTL	SET STRUCTURE COMMAND FOR DISKS

	;THIS COMMAND WILL HAVE A STRUCTURE BLOCK AS THE FIRST ARGUMENT
	;AND THEN A CHARACTERISTIC BLOCK WITH ONE OF THE FOLLOWING 
	;SYMBOLS

		.STCHR==20200		;STRUCTURE CHARACHTERISTICS

	S.ACKN==1		;ACKNOWLEDGED
	S.AVAL==2		;AVAILABLE
	S.DOMS==3		;DOMESTIC
	S.FORN==4		;FOREIGN
	S.IGNO==5		;IGNORED
	S.REGU==6		;REGULATED
	S.UAVL==7		;UNAVAILABLE
	S.UREG==10		;UNREGULATED
	SUBTTL	SET TAPE XXX INITIALIZE COMMAND

	;THIS COMMAND IS TO SETUP A TAPE-DRIVE FOR INITIALIZING VOLUMES

	;THE MESSAGE WILL CONSIST OF A SET OF BLOCKS WITH THE FIRST ONE
	;BEING
	;	.TAPDV		TAPE DRIVE BLOCK

	;THEN THERE WILL BE THE OPTIONS FOR THE INITIALIZE

	;.DVINI		FOR INITIALIZE STATE
	;.VOLID		FOR VOLUME ID

	.SILBT==20501			;LABEL TYPE
IFN	FTUUOS,<
		S.ANSI==1		;ANSI
		S.EBCD==2		;EBCDIC
		S.T20==3		;TOPS-20
		S.UNLA==4		;UNLABELED
>;END FTUUOS
IFN	FTJSYS,<
		S.ANSI==.LTANS			;ANSI
		S.EBCD==.LTEBC			;EBCDIC
		S.T20==.LTT20			;TOPS-20
		S.UNLA==.LTUNL			;UNLABELED
>;END FTJSYS
	.SIDEN==20502			;DENSITY
IFN	FTUUOS,<
		S.200==1		;200
		S.556==2		;556
		S.800==3		;800
		S.1600==4		;1600
		S.6250==5		;6250
>;END FTUUOS
IFN	FTJSYS,<
		S.200==.SJDN2		;200
		S.556==.SJDN5		;556
		S.800==.SJDN8		;800
		S.1600==.SJD16		;1600
		S.6250==.SJD62		;6250
>;END FTJSYS
	.SIOWN==20503			;OWNER...USER ID OR PPN
	.SIPRO==20504			;OCTAL NUMBER FOR PROTECTION
	.SIUNL==20505			;UNLOAD TAPE WHEN DONE
	.SIHLD==20506			;HOLD TAPE WHEN DONE
	.SIOVR==20507			;OVERIDE EXPIRATION
	.SINOV==20510			;NO OVERIDING OF EXPIRATIONS
	.SISVI==20511			;STARTING VOLUME ID (DECIMAL NUMBER)
	.SIINC==20512			;INCREMENT FOR VOLUMES (DECIMAL NUMBER)
	.SICNT==20513			;COUNT OF TAPES TO DO (DECIMAL NUMBER)
	SUBTTL	ENABLE AND DISABLE COMMAND FOR TAPES

	;THIS COMMAND WILL CONTAIN THE FOLLOWING POSSIBLE BLOCKS

	.AVREC==20300		;AUTOMATIC VOLUME RECOGNITION BLOCK
	
	;AND EITHER A .TAPDV BLOCK FOR A TAPE DEVICE OR
	;	.ALTAP BLOCK FOR ALL TAPE DRIVES


	.ASREC==20301		;AUTOMATIC STRUCTURE RECOGNITION
	SUBTTL	MOUNT COMMAND FOR TAPE AND DISK

	;THIS COMMAND IS ONLY USED FOR STRUCTURE MOUNTING
	;
	;	THIS  MESSAGE CONTAINS A .STRDV FOR THE STRUCTURE DEVICE
	;	BLOCK


	;	AND OPTIONALLY AN ALIAS BLOCK OF .STALS

		.STALS==20401

	;IF ALIAS IS NOT SPECIFIED IT IS ASSUMED TO BE THE SAME AS THE
	;STRUCTURE DEVICE BLOCK
	SUBTTL	IDENTIFY MESSAGE FOR TAPES

	;THIS MESSAGE WILL ASSOCIATE A TAPE DRIVE WITH A PARTICULAR TAPE
	;REQUEST OR TAPE

	;THERE WILL ALWAYS BE A TAPE DEVICE BLOCK
	;	.TAPDV

	;THE SECOND PART OF THE COMMAND CAN BE ONE OF THE FOLLOWING

	.SCRTP==20402		;SCRATCH TAPE BLOCK	(LEN 1)
	.VOLID==20403		;VOLUME ID BLOCK SPECIFYING
				;THE PARTICULAR VOLUME ID
	
	;.ORREQ			;TO SPECIFY THE REQUEST THE TAPE IS TO BE
				;ASSIGNED TO
	SUBTTL	RESPONSE MESSAGE

	;THE RESPONSE MESSAGE USES THE STANDARD ORION HEADER
	;AND ARGUMENT BLOCKS WITH VALID TYPES DESCRIBED BELOW

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


	;THE VALID RESPONSE TYPES ARE

	;	.CMTXT		;FOR TEXT DATA

	;AT THE CURRENT TIME THE ONLY VALID ARGUMENTS FOR A RESPONSE
	;IS ASCIZ TEXT AND ACK ID CODE.
	;THIS CODE IS THE OPR HANDLE TO SEND ACK TO IF DESIRED.


	.ACKID==12000			;ACK FOR OPR ID
					;ORIGIN OF ANSWER (TERMINAL # OR NODE
					;NAME IN SIXBIT

		;THIS BLOCK HAS TWO WORDS OF DATA
		;
		;1	ACK ID  FOR OPR
		;2	NODE OR TERMINAL NUMBER

	;IN THE FUTURE, WHEN ANSWER BLOCKS ARE SUPPORTED
	;OTHER COMMAND FUNCTION CODES WILL BE ALLOWED.
	SUBTTL	LOCK/UNLOCK COMMAND

	;THIS MESSAGE CONTAINS THE FOLLOWING BLOCKS


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


	;THE TIME BLOCK IS OPTIONAL
SUBTTL	COMMAND Message

;THIS MESSAGE CONSISTS OF THE STANDARD MESSAGE HEADER FOLLOWED BY A PARSER
;BLOCK AS DEFINED BELOW

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


;	!-------------------------------------------------------!
;	!		COMMAND OBJECT TYPE			!
;	!-------------------------------------------------------!
;	!		   SOURCE NODE				!
;	!-------------------------------------------------------!
;	!		OFFSET  TO PARSER BLOCK			!
;	!-------------------------------------------------------!
;	!              OFFSET  TO TEXT OF COMMAND               !
;	!=======================================================!

	PHASE	.OHDRS
COM.TY:! BLOCK	1			;OBJECT TYPE CODE
					;VALID FOR APPLICATIONS ONLY
COM.SN:! BLOCK	1			;SOURCE NODE OF COMMAND
COM.PB:! BLOCK	1			;POINTER TO THE PARSER BLOCK
COM.CM:! BLOCK	1			;POINTER TO MESSAGE TEXT
COM.SZ:!				;SIZE OF HEADER
	DEPHASE

COM.AL==COM.SZ-COM.SN		;SIZE OF ARGUMENT BLOCK

		;VALID FLAGS FOR THE COMMAND MESSAGE

	CM.NPR==1B0			;NO PROCESSING REQUIRED..SENT TO
					;ORION TO LOG

COMMENT \

THE PARSER DATA BLOCKS WILL BE SIMILIAR TO THE OTHER
DATA STRUCTURES USED IN OPR AND ORION. EACH FIELD PARSED
WILL GENERATE A BLOCK WITH THE LENGTH IN THE LEFT HALF
AND COMMAND CODE TYPE IN THE RIGHT HALF.

THE LENGTH OF THE BLOCK INCLUDES THE HEADER WORD.

 .CMKEY==0	WORD CONTAINING KEYWORD IDENTIFIER
 .CMNUM==1	WORD FOR NUMBER AND WORD FOR RADIX
 .CMNOI==2	NOT SAVED
 .CMSWI==3	WORD CONTAINING SWITCH IDENTIFIER
 .CMIFI==4	FILE SPEC IN GALAXY FD FORMAT
 .CMOFI==5	FILE SPEC IN GALAXY FD FORMAT
 .CMFIL==6	FILE SPEC IN GALAXY FD FORMAT
	
 .CMFLD==7	ASCIZ STRING
 .CMCFM==10	JUST HEADER WORD
 .CMDIR==11	DIRECTORY NUMBER OR PPN
 .CMUSR==12	USER NUMBER OR PPN
 .CMCMA==13	JUST HEADER WORD
 .CMINI==14	NOT SAVED
 .CMFLT==15	NUMBER
 .CMDEV==16	DEV. DESIGNATOR
 .CMTXT==17	ASCIZ STRING
 .CMTAD==20	INTERNAL DATE/TIME
 .CMQST==21	ASCIZ STRING
 .CMUQS==22	ASCIZ STRING
 .CMTOK==23	ASCIZ STRING
 .CMNUX==24	NUMBER WORD AND RADIX WORD
 .CMACT==25	ASCIZ STRING
 .CMNOD==26	NODE SPECIFICATION -ONE WORD
\
	SUBTTL	DN60 COMMAND MESSAGE

	;THIS MESSAGE FOR CDRIVE TO SEND ORION AN OPR COMMAND
	;TO BE PARSED.

	;THIS MESSAGE CONTAINS THE FOLLOWING BLOCKS

	;	.ORNOD		;NODE BLOCK
	;	.ORD60		;D60 BLOCK

	;	(DATA WORD 1) PORT LINE INFO
	;	(DATA WORD 2) DN60 CHARACTERISTICS DEFINED IN QSRMAC
	;
	;	.CMTXT		;TEXT BLOCK (MUST HAVE CR,LF)
	SUBTTL	WTO,WTOR AND ACK FORMATS FOR ALL PROGRAMS

	;THE FOLLOWING IS A DESCRIPTION OF THE NEW FORMAT FOR WTO,
	;WTOR AND ACK MESSAGES TO BE SENT BY ANY PROGRAM AND ORION.
	;THE FORMAT CONSISTS OF A HEADER, FLAG WORD, ARGUMENT COUNT
	;WORD AND AN ARGUMENT BLOCK. THE ARGUMENT COUNT WORD REFLECTS 
	;THE NUMBER OF ARGUMENT BLOCKS INCLUDED IN THE MESSAGE.
	;THE LENGTH ASSOCIATED WITH EACH BLOCK INCLUDES THE ARGUMENT
	;BLOCK HEADER WORD.
	;THE HEADER IS THE  STANDARD GALAXY MESSAGE HEADER  DEFINED 
	;IN ORNMAC.

;	!=======================================================!
;	\                                                       \
;	\                  THE MESSAGE HEADER                   \
;	\                                                       \
;	!=======================================================!
;	!                       FLAG WORD                       !
;	!-------------------------------------------------------!
;	!                  ARGUMENT COUNT WORD                  !
;	!=======================================================!
;	
;
;			ARGUMENT DATA BLOCK
;	
;	
;	
;	!-------------------------------------------------------!
;	! LENGTH OF ARGUMENT BLOCK  !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                 DATA FOR THE ARGUMENT                 \
;	\                                                       \
;	!=======================================================!

	PHASE	MSHSIZ
	;THE HEADER DATA USES THE STANDARD ORION MESSAGE BLOCK
	;WITH MESSAGE HEADER, .OFLAG, AND .OARGC

	;THE ARGUMENT BLOCK IS THE STANDARD ARGUMENT BLOCK USED IN
	;ORION MESSAGES

	;VALID ARGUMENT TYPES FOR WTO MESSAGE

.WTTXT==0			;TEXT MESSAGE
.WTOBJ==1			;GALAXY OBJECT BLOCK FOR USE BY GALAXY
				;COMPONENTS..MUST BE PRIVILEDGED
.WTDES==2			;DESTINATION VALUE
.WTJOB==3			;JOB NUMBER OF USER OR OTHER USER
				;PRIVILEGED
.WTERR==4			;ERROR CODE FOR ERROR DISPLAY
.WTRTE==5			;ROUTE CODE FOR FUNCTION SETUP OPRS
.WTTYP==6			;TYPE FIELD TEXT ..PRIVILEGED
.WTANS==7			;ANSWER BLOCK FOR WTOR ONLY
.WTACD==10			;APPLICATION CODE BLOCK
.WTOCD==11			;OBJECT TYPE BLOCK

	.WTLST==.WTOCD		;LAST VALID TYPE ASSIGNED


	;VALID FLAGS FOR WTO MESSAGE IN .OFLAG
	WT.KIL==1B0		;KILL THE WTOR REQUEST USING .MSCOD HANDLE
	WT.MOR==1B1		;MORE DISPLAY PAGES ARE COMMING.
	WT.NFY==1B2		;NOTIFY IF PID GOES AWAT VIA TTMSG(-10 TRMOP)
	WT.JOB==1B5		;JOB MESSAGE..PRIVILEGED
	WT.SJI==1B6		;SUPPRESS JOB INFO ON DISPLAY
	WT.NFO==1B7		;NO FORMATING OF DISPLAY
	WT.NDA==1B8		;NO DASHES ON TYPE MESSAGE
	WT.KAL==1B9		;KILL ALL MESSAGES FOR THE JOB
	WT.PRV==WT.JOB!WT.SJI!WT.NFO!WT.MOR!WT.NDA ;PRIVILEGE FLAGS


	WTOMAX==^D450		;LARGEST WTO MESSAGE ALLOWED
	TYPMAX==^D11		;LARGEST TYPE BLOCK IN WORDS
	TYPMIN==^D7		;STANDARD TYPE SIZE MAXIMUM IN WORDS
	TYPAPL==^D9		;SIZE OF APPLICATION TYPE MESSAGES

	SYSPRM	OB.WTO,OB.WTO,OB%WTO		;WTO FLAGS IN BATCH JOB TABLE
	SYSPRM	OB.BSS,OB.BSS,OB%BSS		;BATCH-STREAM NUMBER IS SET
	SUBTTL	ALIGN MESSAGE

	;THIS MESSAGE IS SENT TO DESCRIBE THE ALIGNMENT OPTIONS AND
	;FILE TO USE 

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE ALIGN MESSAGE WILL ALWAYS CONTAIN AN OBJECT BLOCK
	;
	;	.OROBJ		OBJECT BLOCK
	;
	;THE FOLLOWING OPTIONS ARE ALSO VALID
	;
	;	.CMIFI		INPUT FILE SPEC TO USE
	.ALPAU==11100		;ALIGN PAUSE AMOUNT BETWEEN REPEATS
				;THE ARGUMENT DATA WILL CONTAIN TIME
	.ALRPT==11101		;THE REPEAT COUNT ON THE FILE
				;THE DATA WILL CONTAIN THE COUNT
	.ALSTP==11102		;STOP THE ALIGNMENT..NO DATA FOR THIS FIELD
SUBTTL	The STATUS Message

;THIS MESSAGE IS SENT BY A PROCESSOR TO ORION IN RESPONSE TO A
;SHOW MESSAGE REQUESTING STATUS.

;	!=======================================================!
;	\                                                       \
;	\                  THE MESSAGE HEADER                   \
;	\                                                       \
;	!=======================================================!
;	!                 ORNMAC VERSION NUMBER                 !
;	!=======================================================!
;	\                                                       \
;	\                    THE OBJECT AREA                    \
;	\                                                       \
;	!=======================================================!
;	\                                                       \
;	\                TEXT BLOCK OF STATUS                   \
;	\                                                       \
;	!=======================================================!

;THE STATUS MESSAGE CONSISTS OF AS MANY OBJECT AREA/TEXT BLOCKS
;PAIRS AS NEEDED.
;THE FIRST WORD OF A TEXT BLOCK IS THE NUMBER OF WORDS IN THE
;TEXT BLOCK, FOLLOWED BY AN ASCIZ STRING

	PHASE	OBJSIZ		;START AFTER THE OBJECT AREA

STS.TB:!	BLOCK	1		;START OF BLOCK -- COUNT FOR THIS BLOCK
STS.TX:!				;WHERE THE TEXT IS

	DEPHASE
SUBTTL	The SHOW CONTROL-FILE Message

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE SHOW-CONTROL-FILE COMMAND WILL ALWAYS CONTAIN AN ORION 
	;OBJECT BLOCK
	;
	;	.OROBJ		OBJECT BLOCK TYPE

	;THE SHOW CONTROL-FILE COMMAND SUPPORTS ONE ARGUMENT TYPE
	;
	.SHCLN==11200		;LINE COUNT FOR SHOW CONTROL-FILE
	SUBTTL	SHOW STATUS MESSAGE

	;THE SHOW STATUS MESSAGE IS SENT TO QUASAR REQUESTING
	;INFORMATION ABOUT ONE OR MORE OBJECTS

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


;			ARGUMENT DATA BLOCKS


;	
;	!=======================================================!
;	!  LENGTH OF THE ARGUMENT   !     TYPE OF ARGUMENT      !
;	!-------------------------------------------------------!
;	\                                                       \
;	\                     ARGUMENT DATA                     \
;	\                                                       \
;	!=======================================================!


	;THE SHOW STATUS MESSAGE CONISTS OF AN OBJECT BLOCK
	;THAT DESCRIBES THE NUMBER AND TYPE OF OBJECTS DESIRED.
	;
	;	.OROBJ		OBJECT BLOCK TYPE
	;
	;THE OBJECT BLOCK HAS THE FOLLOWING ADDITIONAL VALUES AND MEANINGS
	;
	;	TYPE		VALUE			MEANING
	;
	;	OBJ.TY		-1			ALL OBJECTS
	;	OBJ.UN		-1			ALL UNITS
	;	OBJ.ND		-1			ALL NODES

	;
	;THE FOLLOWING FLAGS ARE USED TO DESCRIBE THE TYPE OF JOBS
	;TO BE LISTED FOR THE OBJECT DESCRIBED
	;
	.STACT==11201		;JOBS ON ACTIVE OBJECTS
	.STHLD==11202		;JOBS WAITING FOR OBJECTS
	.STWAT==11203		;WAITING TO BE PROCESSED JOBS
	.STALL==11204		;ALL JOBS
	SUBTTL	SHOW STATUS IBM-NODE


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





	SUBTTL	SHOW PARAMTERS IBM-NODE

	;This command contains only a .ORNOD block to specify the node to
	;be displayed
	SUBTTL	LOGOUT Message - Function 27 (sent by IPCC)

IFN FTUUOS,<

;	!=======================================================!
;	!          LENGTH           !   FUNCTION 27 - LOGOUT    !
;	!-------------------------------------------------------!
;	!        JOB NUMBER         !  JBTLOC(J)  !    FLAGS    !
;	!=======================================================!

	PHASE	0

LGO.HD:! BLOCK	1		;THE HEADER FROM IPCC
LGO.JB:! BLOCK	1		;USERS JOB NUMBER
	LG.JOB==-1,,0		;THE JOB NUMBER OF THE USER LOGGING OUT
	LG.LOC==777B26		;THE CURRENT REMOTE STATION NUMBER OF THIS JOB
	LG.BAT==1B27		;THIS IS A BATCH JOB
	LG.DFR==1B28		;DEFERRED MODE SPOOLING

LGO.SZ:!			;SIZE OF THE LOGOUT MESSAGE

	DEPHASE

>  ;END IFN FTUUOS

IFN FTJSYS,<

;	!=======================================================!
;	!                 FUNCTION 27 - LOGOUT                  !
;	!-------------------------------------------------------!
;	!    NO. OF HEADER WORDS    !        JOB NUMBER         !
;	!-------------------------------------------------------!
;	!           FLAGS           !      STATION NUMBER       !
;	!=======================================================!

	PHASE 0

LGO.HD:! BLOCK	1		;HEADER FROM IPCC
LGO.JB:! BLOCK	1		;JOB INFORMATION
	LG.NHW==-1,,0		;NUMBER OF HEADER WORDS
	LG.JOB==0,,-1		;JOB NUMBER

LGO.FL:! BLOCK	1		;FLAG WORD
	LG.BAT==1B0		;THIS WAS A BATCH JOB
	LG.DFR==1B1		;DEFERRED MODE SPOOLING
	LG.LOC==0,,-1		;JOBS STATION NUMBER

LGO.SZ:!			;SIZE OF THE LOGOUT MESSAGE

	DEPHASE

>  ;END IFN FTJSYS
SUBTTL	ORION Fatal Error Codes

;ARGUMENTS USED ARE

;	X	'SUFFIX','TEXT'

;THE EXPANDER MUST DEFINE THE CORRECT X MACRO

DEFINE ERRCDS,<
	XLIST

	X	AON,<Application Block, Object Block and Object Type Block Not allowed Together in WTOR/WTO/ACK Message>
	X	CMI,<Command Message Invalid>
	X	UPO,<Unknown Processor Object>
	X	UPT,<Unidentified Processor Type>
	X	IPE,<Insufficient Privileges Enabled>
	X	IOE,<Invalid OPR Entry>
	X	IFC,<Illegally Formatted Command Message>
	X	IRS,<Illegal Range Specified>
	X	MTS,<Message Too Short>
	X	BML,<Bad Message Length>
	X	CSU,<Cannot SEND to specified User>
	X	NOM,<No Outstanding Messages>
	X	ICS,<Invalid Argument Count Specified in Command>
	X	IAL,<Invalid Argument Length Specified>
	X	ITM,<Invalid Type Argument in Message>
	X	ONS,<OPR Not Setup..Command Ignored>
	X	DTM,<Duplicate Type Specified in Message>
	X	WJP,<WTO, WTOR, or ACK Job Number Field Requires Privileges>
	X	WTP,<WTO, WTOR or ACK Object Type Field Requires Privileges>
	X	IWF,<Invalid WTO or WTOR Field>
	X	WOP,<WTO, WTOR, or ACK Object Block Field Requires Privileges>
	X	IOU,<Invalid Object Unit Specified in Object Block>
	X	RIW,<Range Invalid in WTO, WTOR or ACK Object Block>
	X	OPD,<OPR PID Already Defined>
	X	ISM,<OPR SETUP Message Invalid..OPR did not send HELLO>
	X	OAS,<OPR Already SETUP..OPR Deleted>
	X	ANI,<Application Name Invalid in Application Hello Message>
	X	ODE,<OPR Doesn't Exist..Message Not Sent>
	X	MTF,<WTO Message Type Field required with WT.SJI set>
	X	IAC,<Invalid Acknowledgement code,,Code was Zero>
	X	CNI,<Command Not Yet Implemented>
	X	IPS,<Invalid Pid for Sender  Pid was zero>
	X	ISC,<Invalid Switch Specified in Command>
	X	WNA,<Write To Operator Function not Allowed for this Job>
	X	LNI,<Logging not Enabled>
	X	RNA,<Range not allowed in START Command with /DEVICE>
	X	IQS,<Invalid Queue Specified in Command>
	X	SUF,<SYSERR update Failed on REPORT Command>
	X	IUM,<Invalid User Specified in Message>
	X	ARP,<ACK Messages Require WHEEL or OPERATOR Privileges>
	X	NRW,<Notify Message requires WHEEL or OPERATOR Privileges>
	X	JDE,<Job to be Notified No Longer Exists>
	X	NJD,<Job to be Notified is DETACHED .. Notify Ignored>
	X	BNR,<Batch Commands Not Allowed From Remote Nodes>
	X	NOD,<No Operators Defined>
	X	DOL,<Device Already Online   COMMAND IGNORED>
	X	SFF,<Scheduler Functions Failed for Show Scheduler Command>

	LIST
	SALL
>;END OF DEFINE ERRCDS
	DEFINE	ERRTXT,<
		XLIST
	X	ACI,<Application Code ^D/G$ARG1/ Invalid .. WTO Rejected>
	X	AHF,<^T/@G$ARG1/ Hello Acknowledgement Failed .. Hello Ignored>
	X	ANS,<Application ^T/@G$ARG1/ not Signed on yet .. WTO/WTOR/ACK Rejected>
	X	CPM,<WTO/WTOR/ACK request for ^T/@G$ARG1/ has Different Pid from Hello ..WTO Rejected>
	X	CSF,<Class Scheduler Error: ^E/G$ARG1/>
	X	DDI,<Disk Drive Number ^D/G$ARG1/ Invalid on SET Command>
	X	DJF,<SET ONLINE Failed because ^E/G$ARG1/>
	X	IAP,<^T/@G$ARG1/ is not Running>
	X	ICN,<Channel Number ^D/G$ARG1/ Invalid on SET Command>
	X	IDD,<^T/@G$ARG1/ is not a Valid Disk Structure .. Command Ignored>
	X	IDS,<^T/@G$ARG1/ is not supported for /DEVICE .. Command Ignored>
	X	IMT,<Illegal Message Type ^O/G$ARG1/>
	X	INS,<Operator at Node ^N/G$ARG1/ not Enabled for Node ^N/G$ARG2/>
	X	ION,<OPR Hello Message Node ^N/G$ARG1/ Invalid .. OPR Ignored>
	X	IOT,<Invalid Object Type ^O/G$ARG1/ Specified in Message>
	X	ITD,<^T/@G$ARG1/ is not a Valid Tape Drive .. Command Ignored>
	X	LAO,<ORION Log File ^F/@LOGFD/ Already Open .. Command Ignored>
	X	LFE,<ORION Log Error ^E/[-1]/  Logging Disabled>
	X	MNV,<Message ^D/G$ARG1/ No Longer Valid .. Sender has gone away>
	X	NMC,<No Messages Found with Code ^O/G$ARG1/>
	X	NMN,<No Messages for Node ^N/G$ARG1/>
	X	NON,<No Operators at Node ^N/G$ARG1/>
	X	NSM,<Message ^D/G$ARG1/ does not exist>
	X	NTD,<^T/@G$ARG1/ is not a Tape Drive or Valid Structure .. Command Ignored>
	X	OAE,<DN60 OPR at Node ^N/G$ARG1/ already exists>
	X	ONE,<OPR not Enabled for Message ^D/G$ARG1/ at Node ^N/G$ARG2/>
	X	OSF,<OPR Setup Failure on PID ^O/G$ARG1/ .. OPR Ignored>
	X	PER,<Command Error: ^T/@G$ARG1/>
	X	RWF,<^T/@G$ARG1/ File Retrevial Waits failed  ^E/[-2]/>
	X	SIC,<Set Online ^T/@G$ARG1/ Channel Number ^O/G$ARG2/ Invalid>
	X	SID,<Set Online ^T/@G$ARG1/ Device Number ^O/G$ARG2/ Invalid>
	X	SJF,<Set Job Scheduler Error: ^E/G$ARG1/>
	X	SJN,<Set Job Invalid ,, Job ^D/G$ARG1/ Not Logged In>
	X	SPI,<Set Priority Value ^D/G$ARG1/ Invalid  63 is maximum>
	X	SSF,<Set Scheduler Error: ^E/G$ARG1/>
	X	TAB,<Take File Aborted Because ^T/@G$ARG1/ not running
		on Command "^T/@G$ARG2/">
	X	WTL,<WTO/WTOR Message Length ^D/G$ARG1/ Exceeds Max of ^D/[WTOMAX]/>
	X	WVN,<Wrong ORNMAC Version Number ORION used Version ^O/[%%.OPR]/ AND OPR used Version ^O/.OHDRS+OPH.OV(MI)/>
		LIST
		SALL
	>;END ERRTXT

	DEFINE	ORNMSG,<
		XLIST
	X	CSE,<Class Scheduler ^T/@G$ARG1/>
	X	CWM,<Message ^D/G$ARG1/ Canceled^I/@G$ARG3/>
	X	FRW,<File Retrevial Waits ^T/@G$ARG1/d>
	X	JLO,<Message ^D/G$ARG1/ Canceled .. Job ^D/G$PRVS,MD.PJB/ Logged Out>
	X	LFC,<ORION Logging Disabled by ^I/@JOBTXT/>
	X	MCJ,<^D/G$ARG2/ Message(s) Canceled>
	X	ODM,<OUTPUT DISPLAY for OPR Modified>
	X	OLO,<ORION Logging Enabled by ^I/@JOBTXT/>
	X	SCC,<SEND Command Completed>
	X	SEM,<SYSERR entry made by the REPORT Command>
	X	SJM,<Job ^D/G$ARG1/ Modified>
	X	SOA,<Set Online Accepted>
	X	SSJ,<Job ^D/G$ARG1/ now in Class ^D/G$ARG2/>
	X	SSS,<Scheduler Setting Modified>
		LIST
		SALL
		>;END ORNMSG
	DEFINE	ERRSET,<
		EXTERNAL TXTTBL
		EXTERNAL STSTBL
		EXTERNAL ERRTBL
		EXTERNAL RPTERR
		DEFINE	X(SUFFIX,TEXT),<
		EXTERNAL	E$'SUFFIX
		>;END X
		ERRCDS
		ERRTXT
		ORNMSG
	>;END ERRSET
	SUBTTL	PARSER SETUP MACROS

	DEFINE	PARSET,<
	EXTERNAL	P$GPDB		;GET THE PDB BLOCK
	EXTERNAL	P$PNXT		;GET NEXT PDB GIVEN A PDB BLOCK
	EXTERNAL	P$PERR		;GET ERROR BLOCK FROM PDB GIVEN A PDB
	EXTERNAL	P$PDEF		;GET DEFAULT FILLING ROUTINE GIVEN A PDB
	EXTERNAL	P$PACT		;GET ACTION ROUTINE GIVEN A PDB

	EXTERNAL	P$NARG		;NEXT ARGUMENT TYPE TO PROCESS
	EXTERNAL	P$SETU		;SETUP POINTER TO PARSER BLOCKS
	EXTERNAL	P$CURR		;GET THE CURRENT LOCATION
	EXTERNAL	P$PREV		;SET THE PREVIOUS TO CURRENT
	EXTERNAL	P$FLOT		;FLOATING POINT NUMBER
	EXTERNAL	P$INIT		;PARSER INIT
	EXTERNAL	P$INTR		;PARSER INTERRUPTS
	EXTERNAL	P$TINT		;TIMER INTERRUPTS
	EXTERNAL	P$NFLD		;NEXT FIELD TYPE AND BLOCK ADDRESS
	EXTERNAL	P$DIR		;DIRECTORY FIELD
	EXTERNAL	P$NEXT		;GET NEXT FIELD
	EXTERNAL	P$TIME		;TIME/DATE CHECK
	EXTERNAL	P$COMMA		;COMMA CHECK
	EXTERNAL	P$CFM		;CONFIRM CHECK
	EXTERNAL	P$KEYW		;KEYWORD CHECK
	EXTERNAL	P$SWIT		;SWITCH CHECK
	EXTERNAL	P$USER		;USER CHECK
	EXTERNAL	P$NUM		;NUMBER CHECK
	EXTERNAL	P$FILE		;FILE SPEC CHECK
	EXTERNAL	P$IFIL		;INPUT FILE SPEC
	EXTERNAL	P$OFIL		;OUTPUT FILE SPEC
	EXTERNAL	P$FLD		;FIELD CHECK
	EXTERNAL	P$TOK		;TOKEN CHECK
	EXTERNAL	P$NODE		;NODE CHECK
	EXTERNAL	P$SIXF		;SIXBIT FIELD CHECK
	EXTERNAL	P$RNGE		;RANGE OF NUMBERS
	EXTERNAL	P$TEXT		;TEXT CHECK
	EXTERNAL	P$DEV		;DEVICE CHECK
	EXTERNAL	P$QSTR		;QUOTED STRING
>;END PARSET
SUBTTL	Node/Operator Data Base

	;THE NODE LIST EXTERNAL CONTAINS ONE FOR EACH NODE THAT
	;HAS SIGNED ON TO ORION

	PHASE	0
NOD.NM:! BLOCK	1			;NODE NAME (SIXBIT)
NOD.NU:! BLOCK	1			;NODE NUMBER
NOD.OP:!BLOCK	1			;OPR LIST NUMBER
NOD.ML:!BLOCK	1			;MESSAGE LIST NUMBER
NOD.CT:!BLOCK	1			;NUMBER OF MESSAGES QUEUED FOR
					; THIS NODE.
NOD.AO:!BLOCK	1			;LIST OF ALTERNATE OUTPUT NODES
NOD.AI:! BLOCK	1			;LIST OF ALTERNATE INPUT NODES
NOD.TM:!BLOCK	1			;TIME OF LAST AUTO DISPLAY
NOD.OC:! BLOCK	1			;NUMBER OF OPRS AT NODE
NOD.FL:! BLOCK	1			;FLAGS FOR NODE LIST
	ND.NLE==1B0			;NODE LIST ENABLED
	ND.SYS==1B1			;SYSTEM OPERATOR NODE
	ND.D60==1B2			;D60 TYPE NODE
NOD.SZ:!				;SIZE OF THE NODE BLOCK
	DEPHASE

	SYSPRM	NOD.NX,NOD.NU,NOD.NM	;NUMBER ON -10 NAME ON -20


	;THE FOLLOWING IS THE FORMAT OF THE ALTERNATE NODE LIST
	;FOR EACH NODE. THIS ENTRY IS GENERATED BY THE ENABLE COMMAND


NAL.FL:! BLOCK	1			;FLAGS FOR ALTERNATE NODE
NAL.NM:! BLOCK	1			;NAME OF NODE
NAL.NU:! BLOCK	1			;NUMBER OF NODE
NAL.AD:! BLOCK	1			;ADDRESS OF NODE ENTRY
NAL.SZ:!				;SIZE OF THE ENTRY
	SUBTTL	OPR LIST ENTRY

	;THIS A DESCRIPTION OF AN OPR BLOCK USED TO DESCRIBE
	;EACH OPR THAT HAS SIGNED ON TO ORION. THE OPRS ARE
	;ASSOCIATED WITH THE NODE AT WHICH THEY ARE LOCATED.
	PHASE	0
OPR.PD:!BLOCK	1			;PID FOR THIS OPR
OPR.FL:!BLOCK	1			;FLAG WORD FOR THIS OPR
	OP.NST==1B0			;OPR NOT SETUP YET
	OP.REM==1B1			;REMOTE OPERATOR
	OP.TAK==1B2			;IN A TAKE COMMAND
	OP.ABT==1B3			;ABORT TAKE FILES
	OP.D60==1B4			;DN60 OPERATOR
OPR.OF:! BLOCK	1			;OBJECT FLAGS
OPR.AF:! BLOCK	1			;APPLICATION SCREENING FLAGS
OPR.OC:! BLOCK	1			;COMMANDS OUTPUT TO THIS OPR
OPR.IC:! BLOCK	1			;COMMANDS INPUT FROM THIS OPR
OPR.ND:! BLOCK	1			;NODE ENTRY ADDRESS FOR THIS OPR
OPR.LS:! BLOCK	1			;OPR LIST CONTAINING THIS ENTRY
OPR.TN:! BLOCK	1			;TERMINAL NUMBER OF OPR
OPR.JB:! BLOCK	1			;JOB NUMBER OF THE OPR
OPR.US:! BLOCK	1			;USER NUMBER OR PPN
IFN	FTUUOS,<
OPR.UN:! BLOCK	2			;USER NAME ON THE -10
>;END FTUUOS
OPR.TP:! BLOCK	1			;TABLE ENTRY POINTER
IFN	FTDN60,<
OPR.PL:! BLOCK	1			;DN60 PORT LINE INFO
OPR.DN:! BLOCK	1			;DN60 CHARACTERISTICS
>;END FTDN60
OPR.SZ:!				;SIZE OF THE OPR BLOCK
	DEPHASE


DEFINE	X(A,B),<
	EV.'B==1B<.ZZ>
	JM.'B==1B<.ZZ+1>
	OM.'B==1B<.ZZ+2>
	OP.OTH=OP.OTH!EV.'B
	OP.AJB==OP.AJB!JM.'B
	OP.AOP==OP.AOP!OM.'B
	.ZZ==.ZZ+3
IFLE <^D36-.ZZ>,<PRINTX ? TOO MANY OBJECTS DEFINED IN OBJORN
	PRINTX	COMPILE ABORTED
	END>
>;END OF X
	OP.AJB==0
	OP.AOP==0
	OP.OTH==0


	.KYUSR==2			;USER CODE(OLD .OTNCU)
	EV.USR==1B0			;OTHER USER MESSAGES
	JM.USR==1B1			;USER JOB MESSAGES (IF ANY)
	OM.USR==1B2			;USER OPERATOR MESSAGES
	OP.AUS==1B0!1B1!1B2		;ALL USER MESSAGES

	;UPDATE ALL TO INCLUDE USER DATA

	OP.AJB==OP.AJB!JM.USR
	OP.AOP==OP.AOP!OM.USR
	OP.OTH==OP.OTH!EV.USR

	.ZZ==3			;FIRST THREE FOR USER MESSAGES
	OBJORN		;BUILD THE VALUES

	OP.AST==.ZZ+3			;APPLICATION START BIT
	OP.ALL==OP.AJB!OP.AOP!OP.OTH	;ALL MESSAGES ALLOWED

	WO.EVM==1B0			;OTHER MESSAGES
	WO.JOB==1B1			;JOB MESSAGE
	WO.OAC==1B2			;OPR ACTION MESSAGE

	WO.ALL==WO.EVM!WO.JOB!WO.OAC	;ORIGINAL FLAGS

	SUBTTL	OPR TABLE DATA BASE STRUCTURE

	;THIS IS THE FORMAT OF THE LIST ENTRY FOR THE OPR DATA BASE
	;LIST WHICH IS BUILT BY ORION

	PHASE	0

TOP.PD:! BLOCK	1		;PID OF THE OPR
TOP.OA:! BLOCK	1		;ADDRESS OF OPR ENTRY
TOP.SZ:!			;SIZE OF THE DATA BASE BLOCK

	DEPHASE
	SUBTTL	OPERATOR MESSAGE LIST ENTRY

	;THIS LIST CONTAINS ALL OPERATOR MESSAGES REQUIRING A REPLY
	;AND IS ASSOCIATED WITH EACH NODE
	PHASE	0
MSL.FL:!BLOCK	1			;MESSAGE LIST FLAGS
	MS.NDY==1B35			;MESSAGE HASN'T BEEN DISPLAYED
	MS.TER==1B34			;NOTIFY ON TERMINAL ON SEND FAILURE
MSL.PD:!BLOCK	1			;PID OF THE SENDER
MSL.JB:!BLOCK	1			;JOB NUMBER MESSAGE IS FOR
MSL.JT:! BLOCK	1			;LOGGED IN TIME OF SENDER
MSL.ND:! BLOCK	1			;NODE THE MESSAGE IS PART OF
MSL.CD:! BLOCK	1			;CODE PASSED IN WTOR
MSL.ID:! BLOCK	1			;ID NUMBER OF MESSAGE
MSL.SZ:!				;SIZE OF THE MESSAGE LIST
	DEPHASE
	SUBTTL	CONSTANT DEFINITIONS FOR PARSER 

NCHPW==5			;NUMBER OF ASCII CHARACTERS PER WORD
BUFSIZ==200			;SIZE OF INPUT TEXT BUFFER
ATMSIZ==BUFSIZ			;SIZE OF ATOM BUFFER FOR COMND JSYS
FDBSIZ==.CMDEF+2		;SIZE OF FUNCTION DESCRIPTOR BLOCK

	;GTJFN BLOCK FOR COMMAND

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

IFN FTUUOS,<
GJFSIZ==FDXSIZ
>   ;END IFN FTUUOS
	SUBTTL	PARSER BLOCK DESCRIPTION

	;THE FOLLOWING SYMBOLS ARE USED TO DESCRIBE AN
	;ENTRY IN THE COMMAND MESSAGE AS OUTPUT BY THE PARSER

	PHASE	0
PFD.HD:! BLOCK	1			;HEADER WORD FOR BLOCK
	PF.TYP==0,,-1			;TYPE IN THE LEFT HALF
	PF.LEN==-1,,0			;LENGTH IN RIGHT HALF
					;INCLUDES THIS WORD
PFD.D1:! BLOCK	1			;FIRST DATA WORD
PFD.D2:! BLOCK	1			;SECOND DATA WORD (IF NECESSARY)
PFD.SZ:! 				;SIZE OF THE BLOCK

	DEPHASE

	SUBTTL	PARSER FLAG VALUES

	P.TAKE==1B0			;TAKE COMMAND PROCESSED
	P.CTAK==1B1			;COMMAND FROM A TAKE COMMAND
	P.ACTE==1B2			;ACTION ROUTINE ERROR
	P.NPRO==1B3			;NO PROCESSING FOR COMMAND
	P.ERRO==1B4			;ERROR FLAG..ERROR OCCURRED
	P.REPA==1B5			;REPARSE REQUIRED
	P.INTE==1B6			;INTERRUPT EXIT FLAG
	P.DSPT==1B7			;DISPLAY THIS TAKE COMMAND
	P.ENDT==1B8			;END OF TAKE FILE
	P.DERR==1B9			;DEFAULT ROUTINE ERROR
	P.CEOF==1B10			;CORE PARSE END OF FILE

	TEMTSZ==10			;SIZE OF TEMP TABLE FOR SHRSWT
	SUBTTL	ARGUMENT BLOCK FOR CALLING THE PARSER

	;THIS IS A DESCRIPTION OF THE ARGUMENT BLOCK USED
	;TO CALL THE PARSER ROUTINE (OPRPAR)
	;	S1/	LENGTH OF THE BLOCK
	;	S2/	ADDRESS OF THE BLOCK

	PHASE	0
PAR.TB:! BLOCK	1			;ADDRESS OF THE TABLES
PAR.PM:! BLOCK	1			;ADDRESS OF THE PROMPT STRING
					;DEFAULT TO OPR> IF ZERO
PAR.CM:! BLOCK	1			;ADDRESS TO STORE PARSED DATA
					;DEFAULT TO GET PAGE IF ZERO
PAR.SR:! BLOCK	1			;ADDRESS OF THE STRING TO PARSE
					;DEFAULT TTY IF NOT SPECIFIED OR ZERO
					;-1 MEANS DO A RESCAN FOR INCORE
PAR.SZ:!				;SIZE OF THE PARSER CALLING BLOCK
	SUBTTL	CALL BLOCK FOR ACTUON ROUTINES

	;THIS BLOCK IS A DESCRIPTION OF THE ELEMENTS AVAILABLE TO THE
	;ACTION,PREFILL, AND ERROR ROUTINES WHEN CALLED

	;CALL	S1/	LENGTH OF THE BLOCK
	;	S2/	ADDRESS OF THE BLOCK
	COMMENT \	;HERE FOR COMMENT ONLY... ARE DEFINED IN GLXMAC

	PHASE	0
CR.FLG:! BLOCK	1			;OFFSET FOR THE FLAG WORD
CR.RES:! BLOCK	1			;OFFSET FOR THE RESULT WORD
CR.PDB:! BLOCK	1			;GIVEN PDB,,USED PDB
CR.COD:! BLOCK	1			;CODE TYPE OF PROCESSED FIELD
CR.SIZ:!				;SIZE OF THE BLOCK

	DEPHASE
	\;END OF COMMENT
	PC.SIZ==CR.SIZ+1
	CR.SAV==CR.SIZ			;DEFINE THE SAVE BLOCK
	SUBTTL	RETURN BLOCK FROM THE PARSER

	;THIS BLOCK IS A DESCRIPTION OF THE ARGUMENT BLOCK RETURNED
	;BY THE PARSER.
	;	S1/	LENGTH OF THE BLOCK
	;	S2/	ADDRESS OF THE BLOCK

	PHASE	0
PRT.FL:! BLOCK	1			;FLAG WORD FOR RETURN
PRT.CM:! BLOCK	1			;COMMAND MESSAGE ADDRESS
PRT.CF:! BLOCK	1			;COMMAND FLAG WORD
PRT.MS:! BLOCK	1			;POINTER TO TEXT OF MESSAGE ON
PRT.SM:!				;SIZE OF PRT ON TRUE RETURN
					;FALSE RETURN
PRT.EM:! BLOCK	1			;POINTER TO ERROR MESSAGE ON
					;FALSE RETURN
PRT.EC:! BLOCK	1			;ERROR CODE RETURNED
					;FROM ACTION ROUTINE
PRT.SZ:!				;SIZE OF PRT ON FALSE RETURN
	DEPHASE
	SUBTTL	TABLE HANDLING DEFINITIONS

	;THESE DEFINITIONS DESCRIBE THE ENTRY BLOCK FOR ALL
	;SYNTAX TABLES USED BY ORION AND OPR

	PHASE 0
TAB.HD:! BLOCK	1			;HEADER WORD FOR TABLES
	TB.LEN==0,,-1			;LENGTH IN RIGHT HALF
TAB.IN:! BLOCK	1			;TABLE ADDRESS OF .CMINI FUNCTION
TAB.KY:! BLOCK	1			;TABLE ADDRESS OF MAIN KEYWORD TABLE
TAB.SZ:!				;SIZE OF THE ENTRY

	DEPHASE

	;FLAGS USED BY ORION

	F.WTXT==1B18		;WTO TEXT ARGUMENT PRESENT
	F.WOBJ==1B19		;WTO OBJECT BLOCK SPECIFIED
	F.WDES==1B20		;WTO DESTINATION FIELD PRESENT
	F.WJOB==1B21		;JOB NUMBER SPECIFIED IN WTO
	F.WERR==1B22		;ERROR CODE SPECIFIED IN WTO
	F.WRTE==1B23		;ROUTE CODE SPECIFIED IN WTO
	F.WTYP==1B24		;TYPE TEXT SPECIFIED IN WTO
	F.WANS==1B25		;ANSWER BLOCK SPECIFIED IN WTOR
	F.WACD==1B26		;APPLICATION CODE FIELD
	F.WOCD==1B27		;OBJECT TYPE BLOCK


	F.WFLG==F.WTXT!F.WOBJ!F.WDES!F.WJOB!F.WERR!F.WRTE!F.WTYP!F.WANS!F.WACD!F.WOCD
	SUBTTL	RESEND LIST DATA BASE

	;THIS LIST IS THE DATA STRUCTURE USED TO KEEP TRACK OF MESSAGES
	;NEEDING TO BE RESENT TO AN OPR OR A PROCESSOR THAT HAD A 
	;RECOVERABLE SEND FAILURE

	PHASE	0

RSD.HD:! BLOCK	1			;HEADER FOR LIST ENTRY
	RS.LEN==-1,,0			;LENGTH OF ENTRY
RSD.TM:! BLOCK	1			;TIME OF THE MESSAGE FIRST TRIED
RSD.MS:! BLOCK	1			;OFFSET IN BLOCK TO MESSAGE TEXT
RSD.FL:! BLOCK	1			;FLAGS FOR THE RESEND LIST
	R.WAIT==1B0			;WAIT FOR PID TO COME
	R.NSNT==1B1			;NOT SENT YET
	R.SQSR==1B2			;SEND TO QUASAR
	R.SOPR==1B3			;SEND TO OPR
	R.SAPL==1B4			;SEND TO APPLICATION
RSD.RT:! BLOCK	1			;COUNT OF RETRIES
RSD.PD:! BLOCK	1			;OFFSET FOR PID LIST
RSD.CT:! BLOCK	1			;NUMBER OF PIDS TO SEND TO
RSD.SZ:! 				;SIZE OF RESEND LIST

	DEPHASE
	SUBTTL	SEND FAILURE DATA BASE

	;THIS IS THE DATA BASE USED FOR THE SEND FAILURE TABLE

	PHASE 0
SFL.PD:! BLOCK	1			;PID WITH FAILURE
SFL.CT:! BLOCK	1			;COUNT OF MESSAGES WITH FAILURE
SFL.SZ:!

	DEPHASE
	SUBTTL	INTERRUPT DATA

	IPCLEV==1		;USE INTERRUPT LEVEL 1
	SUBTTL	DN200 OPR DEFINITIONS
	DEBSRV==200			;DEBUGGING SERVER TYPE

	SRVTSK==57			;TASK TO ACCEPT CONNECTIONS
	DCNTSK==47			;TASK TO DO OUTPUT FROM
	NUMSRV==3			;NUMBER OF SERVERS
	NETBSZ==^D8			;NETWORK BYTE SIZE

	;ORION SRV: DEFINITIONS

	CHNSRV==^D23			;CHANNEL TO START GETTING SERVERS AT


	;OPR SRV: DEFINITIONS

	INPCHN==2			;INPUT CHANNEL
	OUTCHN==3			;OUTPUT CHANNEL
	OUTSIZ==^D381			;SIZE OF LARGEST MESSAGE

	CHNINT==<-1_<<NUMSRV*2>-^D36>>B<<NUMSRV*2>+CHNSRV-1>	;GET BITS FOR AIC
					;SETTING ALL APPROPRIATE CHANNELS
	SUBTTL	DATA STRUCTURES FOR -20 SRV:

	;THE SERVER DATA BASE
	PHASE 0

SRV.CN:! BLOCK	1			;INTERRUPT CHANNEL FOR THIS SERVER
SRV.IN:! BLOCK	1			;INTERRUPT FLAG FOR CHANNEL
SRV.JF:! BLOCK	1			;JFN FOR SERVER LINK
SRV.FK:! BLOCK	1			;FORK HANDLE FOR PROCESS
SRV.SZ:!				;SIZE OF SERVER DATA BASE ENTRY


	DEPHASE


	;THE ACTIVE NETWORK SERVERS


	PHASE 0

NET.FK:! BLOCK	1			;FORK HANDLE OF THE SERVER
NET.PG:! BLOCK	1			;PROGRAM JFN FOR SERVER
NET.LJ:! BLOCK	1			;NETWORK LINK JFN
NET.SA:! BLOCK	1			;SERVER DATA BASE ADDRESS
NET.SZ:!				;SIZE OF DATA BASE

	DEPHASE
	SUBTTL	ERROPR	--	ERROR  TABLES FOR OPR

	DEFINE	ERROPR,<
	XLIST
X	E.NORM,<OPR TERMINATED NORMALLY>
IFN	FTJSYS,<
X	E.OPNF,<Unable to Open ^T/DCNDAT/>
X	E.CONF,<Unable to Get Connects for ^T/DCNDAT/>
X	E.ACFL,<Unable to Accept Connects for Server Links>
X	E.OUTF,<Output over Link ^T/DCNDAT/ Failed  LINK ABORTED>
X	E.INPF,<Input over Server Link Failed  LINK ABORTED>
X	E.STSF,<Status Return for Input Server Link Failed  LINK ABORTED>
X	E.INVC,<Invalid Connect Status ^O/ARG1/  LINK ABORTED>
>;END FTJSYS
X	E.EXIT,<EXIT Command Issued>

	LIST
	SALL
>;END ERROPR

	DEFINE	X(A,B),<
	XLIST
	A==.ZZ
	.ZZ==.ZZ+1
	LIST
	SALL
	>;END X

	.ZZ==0
	ERROPR
	E.MAXE==.ZZ			;LAST ERROR CODE
	END