Google
 

Trailing-Edge - PDP-10 Archives - bb-jr93k-bb - 10,7/initia/intprm.mac
There are 6 other files named intprm.mac in the archive. Click here to see a list.
SUBTTL	SPIDER/RCB	20-JUL-89




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


INTWHO==0		; LAST MODIFIER
INTVER==12		; MAJOR VERSION
INTMIN==1		; MINOR VERSION
INTEDT==354		; EDIT LEVEL

	SALL				; CLEAN ASSEMBLY LISTINGS

	SEARCH	JOBDAT,MACTEN,UUOSYM

	TITLE. (INT,INTPRM,SYSTEM START-UP PROGRAM SYMBOLS AND DEFINITIONS)
	INTUNV
	INTPTX

; MAKE SURE OF VERSION NUMBERS IF USING TIM'S MACRO
IFDEF .MCRV.,<IFDEF .VERSION,<.VERSION <VRSN.(INT)>>>

DEFINE	PROLOG(MODULE),<
	SALL
	SEARCH	JOBDAT,MACTEN,UUOSYM
	TITLE.	(INT,MODULE,SYSTEM START-UP PROGRAM)
	INTTTL
	INTPTX
	IFDEF .MCRV.,<IFDEF .VERSION,<.VERSION <VRSN.(INT)>>>
	%%JOBD==%%JOBD
	%%MACT==%%MACT
	%%UUOS==%%UUOS

	TWOSEG
	RELOC	400000

	GLOB	<E$$BMB,CPOPJ,CPOPJ1>

OPDEF	BOMB$	[JSP BP,E$$BMB]	;;DEBUGGING AID--PERMANENT FEATURE

> ;END OF PROLOG DEFINITION
;ASSEMBLY INSTRUCTIONS:
;	.COMPILE INTPRM.MAC
;	.LOAD INITIA.MAC,INTCUS.MAC
;	.SSAVE INITIA
;MACRO FOR DEALING WITH GLOBAL ASSEMBLY PARAMETERS
DEFINE NDG(S,V),<
 IF2,<INTERN S>
 ND(S,<V>)>

;ASSEMBLY PARAMETERS

ND	L$PDL,40	;LENGTH OF PUSH-DOWN LIST
ND	L$TTBF,^D125	;SIZE OF TTY OUTPUT BUFFER IN WORDS
ND	N$HSGF,^D50	;NUMBER OF FILES WHICH CAN BE REMEMBERED
ND	N$STRS,^D36	;NUMBER OF STRUCTURES IN S/L (MAX)
ND	FLN$MX,^D300	;NUMBER OF CHARACTERS TO BUFFER TO FRCLIN
ND	FLO$MX,^D80	;MAXIMUM CHARS FOR PRE-7.03 MONITORS
ND	CTYHPQ,1	;HPQ TO RUN IN ON THE CTY
ND	NETSLP,^D5	;NETWORK SLEEP TIME IN FILCON
ND	TTWMAX,^D08	;.GT. 0 THEN FRCLIN INITIA STOMPS ON "OPEN" TTY LINES
			; WHERE "OPEN" := .GE. TTWMAX CHARS PER SECOND INPUT
ND	TTWSLP,^D60	;TIME TO SLEEP 'TWIXT SAMPLINGS
ND	LNTPAG,600	;START PAGE TO USE TO MAP IN LINTAB
ND	LDBPAG,640	;START PAGE TO USE TO MAP IN LDBS
ND	L$TERM,<<^D16+3>/4> ;LENGTH OF PORT ID STRING IN WORDS
ND	L$NNAM,<<^D16+3>/4> ;LENGTH OF NODE NAME STRING IN WORDS
L$SBLK==L$NNAM		;DEFAULT LENGTH FOR GENERIC STRING BLOCK
IFG <L$TERM-L$NNAM>,<L$SBLK==L$TERM> ;UNLESS THE PORT ID IS BIGGER

ND	ASKWTM,^D3000	;BASE NUMBER OF MILLISECONDS TO WAIT FOR CHARACTER
			; DURING TYPE INQUIRY
ND	MINWTM,^D250	;MINIMUM NUMBER OF MILLISECONDS TO WAIT FOR CHARACTER
ND	NETWTF,3	;WAIT-TIME FACTOR FOR DECNET LINE
NDG	PRMMAX,^D24	;MAXIMUM NUMBER OF PARAMETERS TO HANDLE AFTER CSI
SUBTTL	REVISION HISTORY

;%3	OCT, 71

;40	UPDATE DEC APR TABLES
;41	(10-11146) CORRECT FILEX PPN
;42	CONVERT TO C AND MAKE REENTRANT
;43	ADD APR S/N TO SIGNON MESSAGE
;44	HANDLE CASE OF .HELLO (TTY DATASET ANSWER)
;45	CHANGE TERMINET OPTION TO COMMAND LINE
;46	ADD STRUCTURE COMMAND TO COMMAND LINE
;47	LOOK AT FILE SYS:TTY.INI. LINES ARE ALL, OTHER, TTYX,TTYX-Y
;50	ADD ALL TRMOP'S FROM TTY.INI
;51	ADD HELP
;52	ADD KSYS OPTION
;53	ADD JOB # AND USER NAME IF LOGGED IN
;54	ADD ".LOGIN A,B" WHEN LOGGING IN
;55	ADD NOTICE OPTION
;56	ADD TTY OPTION
;57	GET REAL S/L IF POSSIBLE
;60	IMPLEMENT DIAL OPTION
;61	ALLOW CONTINUATION IN FILE TTY.INI AND COMMENTS ON
;	ALL COMMANDS
;62	ENSURE . IS ALWAYS TYPED JUST ONCE AT EXIT
;63	USE C AS A UNIVERSAL
;64	ADD NONAME
;65	ADD NORUN
;66	ADD NOSETTTY
;67	IF LOGGED IN, ALSO USE SWITCH.INI
;70	ALLOW TT: FOR TTY:
;71	DEFAULT TO NOSETTTY IF LOGGED IN
;72	SEPARATE USER SETTABLE TTY STUFF IN TTY TYPEOUT
;73	FIX BUGS REPORTED IN QAR-1563 (WPI)
;74	ALLOW () IN .INI OPTIONS
;%4(74)	JUNE, 1974
;75	HAVE INITIA REMEMBER TTY.INI AND STR.TXT IN HISEG
;76	CHANGE ALL OUTCHR UUO'S TO SUBROUTINE CALLS AND DO
;	BUFFERED TTY OUTPUT FOR SPEED
;77	ADD RTCOMPAT TO LIST OF TTY SWITCHES
;100	USE NON-BLOCKING TTY I/O TO AVOID GETTING HUNG IN 'TO'
;	STATE.
;101	(10-13,784) GET JOB NUMBER CORRECTLY IF JOBSTS FAILS
;102	(10-13,784) ADD OPTION FOR DAEMON
;103	OUTPUT "OR ATTACH" ONLY IF SOME DETACHED JOBS
;104	(SER 922) DON'T PRINT SPEED:0
;105	(10-13,595) REMOVE INICER MESSAGE ON NULL COMMAND
;106	(10-14,000) FIX BUG WHICH MISSED OTHER IN SWITCH.INI
;107	SUPPRESS "PLEASE LOGIN" IF SCHED 7
;110	(CER S70-725) WHEN LISTING USER NAME, ALSO GIVE PPN
;111	HANDLE UP TO 36 STRS IN S/L
;112	SET DEFAULT PHY & VIRT LIMITS TO 1000P
;113	REMOVE KSYS CALL OF KJOB (OPSER 5A DOES IT)
;114	DON'T LOGIN [1,2] UNLESS LOCAL TERMINAL
;115	PREVENT LOOP IF UNMATCHED '(' IN TTY.INI OR SWITCH.INI
;116	IMPLEMENT BATCH KEYWORD
;117	FIX HILOOK BUG
;120	IMPLEMENT TEXT KEYWORD
;121	BE SUSPICIOUS OF DEAD HI-SEG INTERLOCKS -- SLOWS SYS START UP
;122	ADD SYSV52 AND SYSV61 [TTY.INI COMMANDS--SYSVFT AND SYSVSO]
;123	FIX PROBLEM WITH CORE UUO FAILURE
;124	DON'T GIVE ALL PRIVILEGES TO REMOTE OPR
;125	UNKNOWN.
;126    CHANGES  TO  IMPLEMENT  'DETECT  XXXX'   FOR   SPEED
;       DEPENDENT SETUP OF DIAL-UP LINES, 'LINSPD' FOR LINES
;       RUNNING AT SPECIFIED BAUD, AND  'OTHSPD'  FOR  LINES
;       NOT AT THE SPECIFIED BAUD.
;127	ADD NETWORK CAPABILITIES FOR DIRECT ACCESS TO PHYSICAL TTY'S
;130	MERGE EDITS 126-127.
;131-132 CLEAN UP LISTING.
;133	CLEAR EOF BIT BEFORE READING ACCOUNTING FILE.
;134	FIX BUG IN NTKSYS ROUTINE..USED WRONG
;	UUO TO GET STATION STATUS.
;135	FIX BUG THAT SETUP NETWORK LINES IMPROPERLY.
;136	INSTALL CONTROL-C INTERCEPT SO HIGH SEGMENT DOESN'T
;	GET LEFT IN AN INTERLOCKED STATE.
;137	DON'T TYPE NETWORK STUFF UNLESS WERE ON A NODE,
;	QAR#631.
;	FIX CTY BUG IN XPNTTY ROUTINE.
;	USE TITLE. MACRO FROM MODUNV.UNV.
;140	MINOR FIXUPS...QAR'S 10-00671 & 10-00681
;141	MAKE SURE THAT NO LINE, LOCAL OPR OR NOT, GETS TO
;	BE A REMOTE OPR, IF IT'S ON NODE 0.
;142	1) EDIT 136 ALLOWS CONTROL-C INTERCEPT TO HAPPEN FOR ALL
;	JOBS RUNNING AT SYSTEM STARTUP TIME....DON'T DO THAT.
;	TURN THE INTERCEPT OFF AGAIN AS SOON AS WE FIND OUT
;	THAT WE'RE GOING TO WAIT FOR SOMEONE ELSE TO DO THE
;	DIRTY WORK!
;	2) PURGE REMOTE STATION STUFF..RUNNING OF REMLOD ETC.
;	AND CHANGE CODE FOR CENTRAL OPR TO GET CENTRAL OPR AND
;	NOT LOCAL OPR.
;143	CLEAN UP LISTING. REMOVE VRSN. MACRO.
;144	FIX FAULTY COMPARE AT NOTFND ROUTINE. CAUSED REMOTE
;	STATION OPR TERMINAL NOT TO COME UP.
;145	MAKE 144 WORK. CHANGE TO VERSION 7 FOR DISTRIBUTION.
;	CHANGE KEYWORD "BLANK" TO "BLANKS" IN STANDARD COMMAND TABLES.
;146	1) FIX TO HANDLE TTY0 AT CENTRAL SITE.
;	2) GET HELPER.REL FROM REL: RATHER THAN DSK:  IN ".REQUEST"
;	   PSEUDO-OP.
;	3) ELIMINATE REFERENCE TO MODUNV.UNV FILE.
;	   MACROS DEFINED IN MACTEN.UNV.
;147	(WEM) MAKE 'TTY.INI' AND 'AUXACC.SYS' LOOKUPS PHYSICAL
;	      ONLY.
;150	(WEM) MAKE INITIA USE THE HIBER AND WAKE UUO'S IN ORDER
;	      TO LESSEN THE AMOUNT OF TIME IT SPENDS WAITING ON
;	      THE HIGH-SEGMENT INTERLOCK.
;151	(KPY) FIX SOME BUGS INTRODUCED WITH EDIT 150
;	      AND REMOVE SOME EXTRANEOUS CODE.
;152    MAKE IT SKIP TABS PRECEDING COMMAND
;153    INCLUDE SKIPPING OF TABS WITHIN COMMAND LINE
;154    FIX RESCANNING OF COMMENT AT END OF LINE
;155	REMOVE CHECK IF TTY# EQUALS PHYSICAL LINE #
;	(HISTORICAL REASONS ONLY) THUS PRINT MESSAGE
;	"CONNECTED TO NODE" IN ANY CASE.
;156	ADD CODING FOR SETTING/REPORTING TERMINAL TYPE
;157	MAKE TERMINAL TYPE COMPATIBLE WITH "NO" CONSTRUCTION
;160	MORE ON "NO" CONSTRUCTION FOR TERMINAL TYPE
;161	MAKE TERMINAL TYPE SETTING SAME AS OTHER TTY SETUP FEATURES
;162	MAKE CHANGE FOR NEW TRMOP. WHICH RETURNS TERMINAL TYPE
;	IN SIXBIT
;163	ADD LOCATE:NN COMMAND WHICH WILL LOCATE USER TO NODE
;	SPECIFIED.  OR IN THE ABSENCE OF A LOCATE COMMAND, LOCATE TO
;	THE CENTRAL SITE IF HE IS BEING LOGGED IN ON A NODE WITHOUT
;	AN LPT
;164	CHANGE ORDER OF TRMOP.S,  DO TYPE BEFORE PAGESIZE
;	(IN DOTTYT: .TOTRM BEFORE .TOPSZ)
;165	ON A FORCED RUN OF INITIA AT SYSTEM STARTUP, ONLY ONE COPY OF
;	INITIA WAS RUNNING AT A TIME.  THIS IS ONLY NEEDED WHEN THE
;	FIRST ONE TO RUN IS READING THE FILES INTO THE HIGH SEG.
;	AFTER THIS IS DONE, ALLOW ALL OTHER COPIES TO RUN CONCURRENTLY.
;	ALSO DO SOME PERFORMANCE WORK TO MAKE INITIA RUN FASTER AT
;	SYSTEM STARTUP.
;166	ADD GALOPR COMMAND IN TTY.INI TO GIVE CCL RUN TO GALAXY OPR
;167	PUSH THE CONTENTS OF SYS:SYSJOB.INI DOWN FRCLIN DURING SYSTEM STARTUP
;170	DO SETUUO TO SETUP OPR PRIVILEGES BEFORE LOGGING IN
;	SET ONLY REMOTE OPR PRIV IF LOGGING IN A REMOTE OPR
;171	MORE OF EDIT 165
;172	RE-FORMAT OUTPUT OF TTY CHARACTERISTICS
;173	FIX BUG WHICH ALLOWED "INITIA SETTTY NO REMOTE" IN SWITCH.INI
;	TO ACTUALLY SET THE LINE NO REMOTE
;174	ACCEPT "DEFER" IN TTY.INI/SWITCH.INI FOR DEFERED ECHOING
;	REPORT SAME IN TYPTTY.
;**** SHIPPED WITH 701
;**** START VERSION 10
;175	SPR #30106	BCM	10-DEC-80
;	DETACH FROM FRCLIN SO COMMANDS CAN START TO BE PROCESSED
;176	SPR #30351	RKB	31-DEC-80
;	THE CODE AROUND FILE.1 WAS NOT READING SYS:TTY.INI PROPERLY FOR
;	NODES NAMED "OTHER", "DETECT", "LINSPD", OR "OTHSPD".
;177	NO SPR		RDH	14-JAN-81
;	ADD "CONNECT" PSEUDO-COMMAND TO TTY.INI
;200	NO SPR		RDH	20-JAN-81
;	IF TTWMAX .GT. 0 THEN HAVE FRCLIN INITIA HANG AROUND AND WATCH FOR
;	TTY LINES RUNNING OPEN AND STOMP ON 'EM
;201	SPR #30510	BCM	16-Apr-81
;	REMOVE OBSOLETE "BATCH" OPTION SINCE MPB IS GONE
;	ALSO CHANGE THE OPR PRIV. SINCE UUOSYM CHANGED
;202	SPR #30875	BCM	16-Apr-81
;	IF SYSJOB.INI DOES NOT EXIST, DIE GRACEFULLY
;203	NO SPR		TARL	21-apr-81
;	MORE EDIT 200. MAKE INITIA ASSIGN THE OPEN LINES, SO THEY WON'T
;	WAKE UP AGAIN WHEN THE -11 SENDS THE DISCONNECT MESSAGE. ALSO
;	LOG INITIA IN, SO IT LOOKS LESS LIKE A MUNCHING PROGRAM AND
;	DOESNT GET CAUGHT BY KILL DOING A 'ZAP *'
;204	NO SPR	TARL	23-Jul-81
;	ADD XONXOFF TO LIST OF CHARACTERISTICS DISPLAYED ON .I TTY
;	[KEEP WSM HAPPY]
;205	NO SPR	TARL	8-Aug-81
;	CHANGE INPUT BUFFER CHECK IN FRCLIN PROCESSING FROM .TOSIP TO
;	A .TOTTC, SINCE A .TOSIP WILL MAKE RESCANS FROM FRCLIN FAIL.
;206	NO SPR TARL 9-Aug-81
;	MORE EDIT 200. CLEAN UP SOME EDIT 203, AND GIVE MORE INFORMATIVE
;	MESSAGES WHEN WE STOMP ON A LINE
;207	NO SPR TARL 18-oct-81
;	CLEAN UP CLEAN UP PROCEDURES FOR TTY STOMPER.
;210	NO SPR TARL 19-jan-82
;	MAKE TTY STOMPER GIVE SIXBIT LOGICAL NAMES TO THE TTYS IT OPENS.
;211	NO SPR TARL 16-Feb-82
;	FIX STACK SKEW PROBLEM WITH EDIT 206
;212	NO SPR TARL 24-aug-82
;	GIVE AN ERROR (TNF) IF SYS:TTY.INI CAN'T BE FOUND.
;213	NO SPR TARL 24-aug-82
;	MAKE TTY STOMPER SET IT'S PROGRAM NAME TO SOMETHING RECOGNIZABLE
;	AND FINDABLE BY WHO: "STOMPR". ALSO DO CLRBFI'S ON ALL TTY LINES
;	THAT HAVE ANY CHARACTERS IN THEIR INPUT BUFFERS.
;214	NO SPR Tarl 11-Apr-83
;	ASSORTED CLEANUPS.
;	  ALLOW TURNING OFF TTY STOMPER (MISSING ANGLE BRACKET)
;	  ALLOCATE ONLY ENOUGH ENTRIES FOR REAL TTYS (LH %CNPTY) IN STOMPER
;		TABLES.
;	  MAKE MESSAGES FROM STOMPER SAY "%%TTY STOMPER -". RESERVE THE HEADING
;		"%%FRCLIN INITIA" TO ITS FRCLIN STAGE.
;	  MAKE STOMPR LESS VICIOUS. IF A TERMINAL IS BUSY, MERELY FLAG THE FACT
;		AND DON'T GET CHARACTER COUNTS. WE'LL GET THEM WHEN TTY IS FREE.
;	  MAKE STOMPR FASTER. MAP IN LINTAB AND LDBS, SO WE CAN CHECK FAST IF
;		TTY IS BUSY. IF NO DDB, WE GO THROUGH NORMAL ALGORITHM.
;215	NO SPR Tarl 25-Apr-83
;	MORE 214. ALLOW TURNING OFF TTY STOMPER AGAIN. MAKE SURE INITIA GOES
;	AWAY IF HE DECIDES TO LOG OUT.
;216	QAR 125089 Tarl 25-Apr-83
;	MAKE THE STOMPR FUNCTION DEPENDANT ON THE "STOMP" KEYWORD BEING
;	PRESENT IN TTY.INI. ALSO MAKE "STOMP" INLINE COMMAND WORK VIA
;	JUMPPR, SO THAT WE ARE APPROPRIATLEY CLEANED UP.
;	NOTE THAT IT IS NO LONGER NECESSARY TO TURN OFF STOMPR VIA TTWMAX,
;	YOU CAN MERELY NOT INCLUDE THE STOMP COMMAND IN TTY.INI
;217	QAR 125113 Tarl 25-Apr-83
;	MAKE INITIA RUN THE RIGHT VERSION OF SYSDPY DEPENDING ON WHAT TERMINAL
;	TYPE YOU ARE. ALL SYSDPY KEYWORDS NOW DISPATCH TO THE SAME LOCATION,
;	WHICH WILL DETERMINE TERMINAL TYPE, AND THEN RUN A VERSION OF SYSDPY.
;
;	CUSTOMERS: TO ADD TERMINAL TYPES, LOOK AT "DPYNAM" MACRO.
;
;220	QAR        Tarl 22-May-83
;	KEEP IT RUNNABLE ON KI'S. CHANGE ADJSP TO POP P,(P)
;
;CLOSE HERE FOR 7.02 SHIP.
;221	QAR 125818	SMW 22-Feb-84
;	FRCLIN SHOULD NOT SET CUSTOMER PRIV BITS.
;
;222	SPR 34526	TARL 22-Feb-84
;	DON'T THINK TTY0 OF AN MCR IS A REMOTE OPR. HE ISN'T.
;
;223	SPR 35019	DRB 05-Dec-84
;	ALLOW LEADING SPACES ON DECIMAL ARGUMENTS IN TTY.INI.
;
;224	SPR 34181	DRB 14-Dec-84
;	GUARD AGAINST SPURIOUS WAKES WHILE WAITING FOR TERMINAL OUTPUT
;	TO COMPLETE AT TTYP.1.
;
;225	NO SPR		DRB 03-Jan-85
;	THE STARTUP CODE IS ZEROING ONE TOO MANY WORDS OF LOW SEGMENT.
;	DON'T DO THAT.
;
;226	NO SPR		DRB 03-Jan-85
;	CHANGE HOW SYSJOB.INI WORKS:  THE .TOTYP TRMOP. WILL NOW SEND THE
;	ENTIRE STRING IT'S GIVEN IN A FASHION THAT MAKES ANY RACE CONDITION
;	IMPOSSIBLE.  SEND ALL TEXT IN SYSJOB.INI THAT OCCURS BETWEEN LOGIN
;	COMMANDS AS A SINGLE STRING TO .TOTYP, SO THERE IS NO THREAT OF A RACE
;	CONDITION ON THE FRCLIN COMMAND EXECUTION.  FOR EXAMPLE:
;		...
;		LOG
;		BATCON
;		LOG
;		LPTSPL
;		LOG
;		...
;	WILL SEND "LOG<CR>BATCON<CR>" AS A SINGLE STRING,
;	THEN "LOG<CR>LPTSPL<CR>"
;
;227	NO SPR		DRB 04-Jan-85
;	REMOVE TO CODE TO READ THE SEARCH LIST FOM AUXACC.SYS, NOW THAT
;	ACTDAE IS IN CHARGE OF THESE THINGS.  SINCE WE'RE HERE TO LOG THINGS
;	IN BEFORE ACTDAE IS AROUND, WE CAN'T COUNT ON ACTDAE TELLING US
;	EITHER, SO WE'LL JUST HAVE TO GO WITH THE SYS SEARCH LIST.
;
;230	NO SPR		DRB 17-Jan-85
;	ADD NEW "EIGHTBIT", "ESCAPE", "QUOTE", "IDLEDISC" AND "UNPAUSE"
;	TERMINAL PARAMETERS TO TTY.INI.  THIS ALSO IMPLEMENTS GCHVAL WHICH
;	READS CHARACTER VALUE ARGUMENTS TO "ESCAPE" AND "UNPAUSE".
;
;231	NO SPR		DRB 21-Jan-85
;	MAKE THE TTY STOMPER LOOK IN THE CORRECT SECTION FOR THE LDBS.
;
;232	NO SPR		DRB 21-Jan-85
;	DON'T TYPE ANYTHING ON A LINE WE MAY HAVE JUST SLAVED.
;
;233	NO SPR		DRB 25-Jan-85
;	ADD VT220 AND VT240 TO THE TABLE OF TERMINAL TYPES FOR SYSDPY.
;
;234	NO SPR		DRB 12-Feb-85
;	LENGTHEN THE STACK TO ACCOMODATE THE NEW HELPER.
;
;235	NO SPR		DRB 19-Feb-1985
;	USE %CNPRV TO SET THE PRIVILEGE WORD FOR JOBS WE LOG IN.
;
;236	10-35151	DRB 28-MAR-85
;	ADD THE "ACCOUNT" ARGUMENT FOR TTY.INI TO BE APPLIED TO JOBS WE'RE
;	LOGGING IN.  CREATE A NEW "FRCLIN" TTY SPECIFIER TO MEAN THE
;	FRCLIN JOB.  ALLOW THIS ARGUMENT ON THE "STOMP" COMMAND AS WELL.
;
;237	QAR 868003	DRB 1-Apr-85
;	ALLOW TERMINAL SPECIFIERS OF THE FORM NODE_NN AS WELL AS NODE_TTYNN
;	AS DOCUMENTED IN THE SOFTWARE INSTALLATION GUIDE.
;
;240	NO SPR		DRB 8-Apr-85
;	DON'T TYPE ANYTHING ON DIALUPS THAT AREN'T DIALED INTO.  REWORK THE
;	CODE FOR NOT TYPING ON SLAVED LINES SO THAT SYSDPY CAN STILL BE RUN.
;
;241	NO SPR		DRB 16-Apr-85
;	DON'T SAY "NOESCAPE" OR "NOUNPAUSE" WHEN THE RESPECTIVE CHARACTER IS
;	ZERO.  JUST USE THE "NO" PREFIX WHEN THE CHARACTER HAS ITS DEFAULT
;	VALUE.
;
;242	QAR868121	DRB 31-May-85
;	NOSLAVE CAUSES THE OUTPUT TO BE SUPPRESSED 'CAUSE WE'RE CHECKING THE
;	WRONG THING.  FIX IT.
;
;243	NO SPR		DRB 07-Aug-85
;	SET PHYSICAL AND VIRTUAL PAGE LIMITS TO 512 (EACH) WHEN LOGGING IN A
;	JOB.
;
;244	NO SPR		LEO  12-Aug-85
;	DO COPYRIGHTS.
;
;245	NO SPR		DRB 03-Sep-85
;	ASSIGN LARGE PID QUOTAS FOR JOBS WE RUN OPR ON.
;
;246	QAR868260	DRB 09-Sep-85
;	RE-IMPLEMENT DOWNWARD COMPATIBILITY WITH OLDER (PRE 7.03) MONITORS.
;
;247	NO SPR		DRB 17-Sep-85
;	LEARN ABOUT LAT AND DECNET TERMINALS.  (READ TTY.INI, ETC)
;
;250	NO SPR		DRB 30-Sep-85
;	EDIT 245 ISN'T WORKING 'CAUSE WE'RE TRYING TO SET THE QUOTAS BEFORE
;	THE JOB IS LOGGED IN.  DON'T ATTEMPT TO SET THE IPCF QUOTAS UNTIL
;	THE LOGIN UUO HAS BEEN CALLED.
;
;251	NO SPR		DRB 1-Oct-85
;	TYPE "LINE " INSTEAD OF "LINE # " IF WE'RE DISPLAYING A LAT PORT ID
;	INSTEAD OF AN ANF-10 OR CTERM TERMINAL NUMBER.
;
;252	QAR868358	DRB 18-Oct-85
;	WHEN USING REMEMBERED FILES IN THE HIGH SEGMENT, LOOKUP THE REAL FILE
;	AND COMPARE THE CREATION DATE WITH THE REMEMBERED COPY TO MAKE SURE
;	THE REAL FILE HASN'T CHANGED.  THIS SHOULDN'T CAUSE MUCH OF A 
;	PERFORMANCE PROBLEM AT STARTUP, AS ALL THAT INFORMATION SHOULD BE
;	LAYING ABOUT IN THE MONITOR'S DATABASE AND DISK CACHE.
;
;253	NO SPR		DRB 18-Oct-85
;	EXPAND THE LOGGED IN JOB'S CORE LIMITS TO 32 SECTIONS INSTEAD OF
;	JUST 511 PAGES.
;
;254	10-35378	DRB 14-Nov-85
;	THE TTY STOMPER IS ZERO BAUDING LINES TOO SOON, AS IT HAS THE MISTAKEN
;	IMPRESSION THAT IT CAN ZERO THE LINE'S INPUT CHARACTER COUNT.  DON'T
;	TRY TO DO THIS, AND JUST USE THE PREVIOUS SAVED CHARACTER COUNT FOR
;	COMPARISONS.
;
;%11(254) Shipped with 7.03, Spring 1986
;
;255	10-35379	DPM 18-APR-86
;	TTY STOMPER CHANNELS ARE NOT ALWAYS RELEASED.  IF USER TYPES ^C^C
;	BUT THE SYSTEM-WIDE ACTIVITY IS LOW, WE DON'T POLL THE LINES.  KEEP
;	A COUNT OF THE NUMBER OF INIT'ED LINES WE HAVE.  IF NON-ZERO, THEN
;	ALWAYS POLL.
;
;%11A(255) After Autopatch 14, Summer 1986
;
;256	10-35524	JAD 15-AUG-86
;	INIF.5 CAN'T HANDLE TWO EOLS IN SYSJOB.INI IN SUCCESSION.
;
;257	NO SPR		RCB 11-SEP-86
;	IMPLEMENT [NO]EDIT IN TTY.INI TO TRACK MCO 13076.
	ND	.TOEDT,1107
;
;260	NO SPR		RCB 11-SEP-86
;	DISPLAY APC TYPE IN TTY VALUES DISPLAY (RIGHT AFTER TTY TYPE).
;	(CURRENTLY DISABLED BY A SINGLE SEMICOLON IN DOTTYT.)
;
;261	NO SPR		RCB 17-SEP-86
;	PERSUANT TO MCO 13083, REMOVE ALL 2741 SUPPORT FROM INITIA.  THE
;	DEBREAK, TIDY, AND ELEMENT KEYWORDS ARE NOW GONE.
;
;262	NO SPR		RCB 17-SEP-86
;	ALLOW .I TTY TO TAKE .I TTY:TTYN AND THE LIKE TO SHOW THE STATUS OF
;	OTHER TTYS (IF SUITABLY PRIVILEGED).
;
;263	NO SPR (YET)	RCB 19-SEP-86
;	FIX 256, WHICH REQUIRED "LOG" NOT TO END A LINE (OR BE LOST).
;
;264	NO SPR		RCB 22-SEP-86
;	PURSUANT TO 262, ADD NOT AS A SYNONYM FOR NOTICE IN THE COMMAND TABLES,
;	DUE TO A CONFLICT WITH NOTTY.
;
;265	10-35567	RCB 30-SEP-86
;	FIX MORE OF SYSJOB.INI LOGIC.  OLD MONITORS GOT JUNK LINES BEFORE
;	EVERY VALID "LOG" LINE.
;
;%11B(265) Shipped on Autopatch 15, Fall 1986
;
;266	NO SPR		RCB  1-FEB-87
;	FIX MORE TTY STOPMER LOGIC.  CERTAIN ERROR CASES COULD CAUSE US TO
;	STOMP A LINE INCORRECTLY.  ALSO FIX UP 8-BIT ASCII CASE COMPARISONS.
;
;267	NO SPR		RCB 27-MAY-87
;	THE SYSDPY OPTIONS ARE USELESS ON REMOTE OPR TERMINALS.  FORGET ABOUT
;	BEING A REMOTE OPR IF WE WANT TO RUN SYSDPY.  JUST LOGIN TO [1,2].
;
;270-327 RESERVED FOR V11 MAINTENANCE FIXES
;
;270	10-35707	RCB 31-AUG-87
;	FIX ECHO HANDLING TO CORRESPOND TO THE MONITOR.  ADD THE LOCALCOPY
;	KEYWORD TO REPLACE THE OLD NOECHO.
;
;BEGIN VERSION 12 HERE
;
;330	NO SPR		RCB 10-JUL-87
;	BEGIN SUPPORT OF TTY ATRIBUTES FOR 7.04.
;
;331	NO SPR		RCB 14-JUL-87
;	SPLIT INTO INTPRM,INITIA, AND INTCUS FOR 7.04 ATTRIBUTES & TYPE
;	CHECKING.
;
;332	NO SPR		RCB 17-JUL-87
;	FIX COMPLAINTS ABOUT TYPE CHECKING.  SPLIT TTY SETTINGS INTO TWO
;	PARTS, ONE BEFORE THE SIGNON MESSAGE, AND ONE AFTER.  INCLUDE
;	TYPE CHECKING AS PART OF THE SECOND, RATHER THAN THE FIRST.
;	WHEN DIDDLING C1 TRANSMISSION MODE IN DSP3.1, PUT IT BACK TO
;	7-BIT AFTER WE SATISFY OURSELVES AS TO THE 8-BIT QUALITY OF THE
;	COMMUNICATIONS PATH.
;
;333	NO SPR		RCB 17-JUL-87
;	ADD THE SUDS TERMINALS TO INTCUS UNDER FTDECD.
;
;334	NO SPR		RCB 17-JUL-87
;	ADD WHAT LITTLE WE KNOW ABOUT ANN ARBOR TERMINALS TO INTCUS UNDER
;	THE NEW FTANNARBOR.
;
;335	NO SPR		RCB 17-JUL-87
;	TRY TO FIX UP "CHECK" WHEN DEALING WITH SYSTEM STARTUP OR
;	INITIAL LAT CONNECTS.  THE LATTER ARE ESPECIALLY TROUBLESOME
;	WHEN DEALING WITH DIALOUT PROGRAMS THAT ADD EXTRA DELAYS.
;
;336	NO SPR		RCB 21-JUL-87
;	CHANGE SUDS TERMINAL SUPPORT TO DEPEND ON FTSUDS.  ADD AVSIZE TO
;	HANDLE VARIABLY-SIZED TERMINALS WHICH SUPPORT DSR/CPR BUT NOT
;	<ESC>7 AND <ESC>8.
;
;337	NO SPR		RCB 30-JUL-87
;	CHANGE THE DETECTION OF SILENCED TERMINALS TO NOTICE BEING ON
;	A CPU THAT'S NOT RUNNING.
;
;340	NO SPR		RCB 07-AUG-87
;	CHANGE VT100 RECOGNITION TO NOTE THAT THE PPO IS A STP OPTION.
;	CHANGE THE SYSDPY ROUTINE TO USE ATTRIBUTES TO GUESS WHETHER AN
;	UNKNOWN TERMINAL TYPE SHOULD RUN SYSV52 OR SYSANS.
;
;341	NO SPR		RCB 23-OCT-87
;	IMPLEMENT CHECK:DEFAULT TO TEST FOR THE TERMINAL TYPE ONLY
;	IF THE CURRENT TYPE IS THE SYSTEM-DEFAULT TYPE.
;
;342	NO SPR		RCB 29-OCT-87
;	FIX NAPPING INITIAS ON SYSTEM STARTUP.  SWITCH TO DOING CHECK WITH
;	ASYNCH I/O.  THIS REQUIRES CHANGING ALL OF INITIA TO DO 8-BIT I/O.
;	BE MORE DEFENSIVE ABOUT NOTICING THAT OUR TTY IS ON A DEAD CPU.
;
;343	QAR 704-74	RCB 29-OCT-87
;	DUE TO A BUG IN VT200 FIRMWARE, DON'T ISSUE A DECSCL SEQUENCE TO
;	THEM.  IT RESETS THEIR COLORS EVEN WHEN IT SHOULDN'T.  INSTEAD,
;	ASSUME (DEMAND?) THAT THEIR DA RESPONSE BE A GOOD INDICATOR OF
;	THEIR CONFORMANCE LEVEL SETTING.  JUST TWIDDLE C1 TRANSMISSION MODE.
;	(NOTE--I DON'T HAVE A VT340 TO TEST AGAINST.  IT MAY HAVE THE SAME
;	BUG.)
;
;344	QAR 704-10019	RCB 14-APR-88
;	FIX THE HANDLING OF ASYNCH. I/O AND TIMEOUTS.  DON'T TIMEOUT BASED
;	ON THE LDB UNTIL THE CHARACTERS HAVE LEFT OUR BUFFER AND ENTERED
;	SCNSER'S CHUNKS.
;
;345	QAR 704-30008	RCB 16-AUG-88
;	FIX SOME MORE OF "I CHECK" HANDLING.
;
;346	NO SPR		RCB 31-JAN-89
;	ADD VT320 TO THE TYPE TABLE
;
;347	NO SPR		RCB 04-FEB-89
;	MAKE VT52-CLASS INTERROGATION OPTIONAL, AND ALSO ADD AN OPTION
;	AS TO WHETHER IT COMES BEFORE OR AFTER ANSI-CLASS TESTING.
;	IF FTESCZ IS ZERO, DO NO VT52 TESTING.  IF +VE, DO VT52 TESTING
;	AFTER ANSI TESTING.  IF -VE (THE DEFAULT), DO VT52 TESTING FIRST.
;
;350	NO SPR		RCB 04-FEB-89
;	FOR VT300-SERIES TERMINALS, TAKE ADVANTAGE OF TA.TSI TO FIND THE
;	USER-PREFERENCE GR SET (ISO LATIN-1 OR DEC/MCS).
;	ALSO--MORE OF EDIT 343.  VT300-SERIES ALSO DOES A SOFT RESET ON A
;	DECSCL, EVEN WHEN IT'S A NO-OP.  REPLACE WITH S8C1T LIKE BEFORE.
;	THIS MEANS THAT SETUP MODE WITH A VT300-LEVEL DEVICE ID HAD BETTER
;	ALSO HAVE SET TO OPERATE IN VT300 MODE.
;
;351	NO SPR		RCB 14-FEB-89
;	RANGE-CHECK THE VALUES WE USE TO INDEX INTO DA1TAB.  SOMEBODY'S
;	VAXSTATION STARTED SHOWING "?ILL MEM REF" IN INITIA.
;
;352	NO SPR		RCB 20-JUL-89
;	YET ANOTHER ATTEMPT TO FIX TTY STOMPER.
;
;353	SPR 10-36271	RCB 20-JUL-89
;	RETHINK 267.  JUST ADD A FLAG TO ENSURE THAT A SYSDPY JOB GETS
;	THE PEEK PRIVS IT WANTS.
;
;354	NO SPR		RCB 27-JUL-89
;	FIX RELEASE OF TTY CHANNEL ON "I STOMP" COMMAND.  CLEAN UP SOME COMMAND
;	PROCESSING.
;
;END OF EDIT HISTORY
SUBTTL	DEFINITIONS

;ASSEMBLY PARAMETERS

	NDG	FTESCZ,-1

;AC NAMES

F==:0	;FLAGS
T1==:1	;TEMPORARIES
T2==:2
T3==:3
T4==:4
T5==:5
T6==:6
T7==:7
T8==:10
I==:11	;INDEX INTO HISEG TABLES
OC==:12	;TEMP FOR TTYSTR LUUO
WD==:13	;LAST INPUT WORD
CH==:14	;LAST INPUT CHARACTER
BP==:15	;BOMB OUT PC
ME==:16	;TTY NAME OF THIS TTY
P==:17	;PUSHJ-DOWN LIST POINTER


;INPUT/OUTPUT CHANNELS

IO==:0	;USED FOR TEMP FILES
TI==:1	;TTY.INI
TTY==:2	;TTY OUTPUT
TTZ==:3	;FOR USE CHECKING IN FILCON
;CHARACTERS & MACROS

.CHLAB=="<"
.CHRAB==">"

DEFINE	EPASCC(L),<
.ZZ==0
IRP L,<.ZZ==.ZZ+1>
ICONS(ASCC)
CONS(ASCC,\.ZZ)
CONS(ASCC,<,,[BYTE(8)>)
.ZZ==-1	;;FLAG FOR FIRST TIME
IRP L,<
	IFGE .ZZ,<CONS(ASCC,<,>)>
	.ZZ==<L>
	.ZZ==.ZZ^!<.ZZ_-4>
	.ZZ==.ZZ^!<.ZZ_-2>
	.ZZ==.ZZ^!<.ZZ_-1>
	.ZZ==<<.ZZ&1>_7>!<L>
	CONS(ASCC,\.ZZ)
> ;;END IRP L
CONS(ASCC,<]>)	;;END LITERAL
ASCC	;;DUMP TEXT
PURGE	ASCC,.ZZ	;;CLEAN UP
> ;END EPASCC MACRO

DEFINE	ICONS(NAME)<			;;CLEAR MACRO
  DEFINE C.'NAME(FTXT)<			;;DEFINE FIRST CALL
    DEFINE C.'NAME(TEXT)<		;;DEFINE 2ND CALL
      C%%%ON <NAME>,<FTXT>,<TEXT>	;;APPEND THE TEXT
    >
    DEFINE NAME<FTXT>			;;JUST TEXT 1ST TIME
  >
  .XCREF C.'NAME			;;DON'T CREF TEMP MACRO
  DEFINE NAME<>				;;NULL BEFORE CONCAT'S
>

DEFINE	C%%%ON(NAME,OTXT,NTXT)<		;;INTERNAL HELPER MACRO
  DEFINE C.'NAME(TEXT)<			;;DEF C.NAME FOR LATER
    C%%%ON <NAME>,<OTXT'NTXT>,<TEXT>	;;CALL HELPER MACRO
  >
  DEFINE NAME<OTXT'NTXT>		;;PUT NEW TEXT IN NAME
>

DEFINE	CONS(NAME,TEXT)<C.'NAME <TEXT>>

.XCREF	C%%%ON
;FLAG BITS

F.LOGI==:1B0		;LOGGED IN
F.LOGX==:1B1		;OK IF ALREADY LOGGED IN
F.CCL==:1B2		;FORCE CCL STARTING POINT
F.NOHD==:1B3		;SUPPRESS HEADER TYPEOUT
F.PRIV==:1B4		;GIVE JOB ALL PRIVILEGES
F.CCLC==:1B5		;CALLED FROM CCL MODE
F.REMO==:1B6		;REMOTE OPR
F.IPCQ==:1B7		;GIVE JOB BIG IPCF QUOTAS
F.ANSW==:1B8		;JUST ANSWERED TTY MODEM
F.ICMD==:1B9		;INITIA COMMAND
F.ECMD==:1B10		;END OF COMMAND LINE
F.EOF==:1B11		;END OF FILE
F.NO==:1B12		;NO XXX
F.CERR==:1B13		;COMMAND ERROR
F.SDPY==:1B14		;WANT PEEK PRIVS FOR SYSDPY
F.ALIN==:1B15		;SOME LINE FOUND IN TTY.INI
F.RTTY==:1B16		;RESCANNED TTY, BUT NOT REEATEN ALL YET
F.TSOL==:1B17		;TYPED SOMETHING ON THIS LINE

F.PARN==:1B18		;PAREN LIST OF TTYS
F.PHYS==:1B19		;RUN JOB VIA PHYSICAL RUN
F.NJBS==:1B20		;SET IF NO JOBSTS UUO
F.CTY==:1B21		;RUNNING ON CTY
F.FLN==:1B22		;RUNNING ON FRCLIN
F.OLD==:1B23		;RUNNING ON PRE-7.03 SYSTEM
F.ANFL==:1B24		;RUNNING ON AN ANF-10 LINE (NOT DECNET, LAT)
F.DCNL==:1B25		;RUNNING ON A DECNET (POSSIBLY CTERM) LINE
F.NODL==:1B26		;SET IF LIST OF NODE_ID (INSTEAD OF NODE_(..))
F.QUOT==:1B27		;SET IF LAST ASCII STRING READ WAS QUOTED
;USEFUL OPDEFS

;FOR LUUOS, IF AC1 IS ON, POPJ AFTER DOING LUUO

OPDEF	TTYCHR	[1B8]	;IMMEDIATE MODE OUTCHR LUUO
OPDEF	TTYSTR	[2B8]	;OUTSTR LUUO

OPDEF	CTYSTR	[3B8]	;OUTSTR TO THE CTY
OPDEF	CTYCHR	[4B8]	;OUTCHR TO THE CTY

OPDEF	PIMGET	[5B8]	;PIM-MODE INCHRW WITH TIMEOUT
OPDEF	FLSBUF	[6B8]	;FLUSH TTY OUTPUT BUFFER
OPDEF	DMPBUF	[7B8]	;DUMP TTY OUTPUT BUFFER (DOUBLE FLSBUF)
	END