LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)     100  DECLARATIONS

   (3)     100  LOGIN INITIALIZATION

   (5)     100  PROCESS LOGIN SETUP ROUTINE

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000   100 	.TITLE	LOGIN - LOGIN IMAGE

                                     0000   200 	.IDENT	/01/

                                     0000   300 

                                     0000   400 ;

                                     0000   500 ; COPYRIGHT (C) 1977,1978

                                     0000   600 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000   700 ;

                                     0000   800 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000   900 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000  1000 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000  1100 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000  1200 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000  1300 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000  1400 ; REMAIN IN DEC.

                                     0000  1500 ;

                                     0000  1600 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

                                     0000  1700 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000  1800 ; CORPORATION.

                                     0000  1900 ;

                                     0000  2000 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000  2100 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000  2200 ;

                                     0000  2300 

                                     0000  2400 ;++

                                     0000  2500 ; FACILITY:	SYSTEM UTILIIES

                                     0000  2600 ;

                                     0000  2700 ; ABSTRACT:	PROCESS COMMAND INTERPRETER INITIALIZATION IMAGE

                                     0000  2800 ;

                                     0000  2900 ;

                                     0000  3000 ; ENVIRONMENT:	NATIVE MODE PRIVILEGED PROCEDURE

                                     0000  3100 ;

                                     0000  3200 ; AUTHOR:	W.H.BROWN, CREATION DATE: 26-APR-77

                                     0000  3300 ;

                                     0000  3400 ; MODIFIED BY:

                                     0000  3500 ;

                                     0000  3600 ;	, : VERSION

                                     0000  3700 ; 01	- 

                                     0000  3800 ;--

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   2

01              DECLARATIONS                                                                                                     (2)



                                     0000   100 	.SBTTL	DECLARATIONS

                                     0000   200 ;

                                     0000   300 ; INCLUDE FILES:

                                     0000   400 ;

                                     0000   500 ;

                                     0000   600 ; MACROS:	INCLUDED IN THE MACRO LIBRARY

                                     0000   700 ;

                                     0000   800 ; EQUATED SYMBOLS:

                                     0000   900 ;

                                     0000  1000 	DEFPRCWRK			; COMMAND WORK AREAS

                                     0000  1100 ;	DEFSYMTBL			; DEFINES PROCESS SYMBOL TABLE ENTRIES

                                     0000  1200 	IDFDEF				; DEFINE INDIRECT STACK OFFSETS

                                     0000  1300 	$PRDDEF				; PROCESS RMS DEFINITION

                                     01B8  1400 	$RABDEF				; RMS RAB DEFINITIONS

                                     01B8  1500 	$FABDEF				; RMS FAB DEFINITIONS

                                     01B8  1600 	$PSLDEF				; PROCESSOR LONG WORD DEFINITONS

                                     01B8  1700 	$PCBDEF				; PROCESS CONTROL BLOCK OFFSETS

                                     01B8  1800 	$NAMDEF				; RMS NAME BLOCK DEFINITIONS

                                     01B8  1900 	$UAFDEF				; USER AUTHORIZATION FILE DEFINITONS

                                     01B8  2000 	LGIWRKDEF			; DEFINE LOGIN WORK BLOCK OFFSETS

                           00000002  01B8  2100 	LOG_PROCESS = 2			; NUMBER OF PROCESS LOGICAL NAME TABLE

                                     01B8  2200  

                           0000001B  01B8  2300 	ESC	= ^O 033		; ESCAPE CHARACTER

                                     01B8  2400  

                                     01B8  2500 ;

                                     01B8  2600 ; OWN STORAGE:

                                     01B8  2700 ;

                                     01B8  2800 ;	IMPURE DATA

                                     01B8  2900 ;

                                 00000000  3000 	.PSECT	RWDATA	RD,WRT,LONG

                                     0000  3100  

                                     0000  3200 ;

                                     0000  3300 ; SYSTEM VERSION MESSAGE

                                     0000  3400 ;

                                 24' 0000  3500 SUCMSG:	.BYTE	20$-10$+8

                                     0001  3600 10$:

20 6F 74 20 65 6D 6F 63 6C 65 57 09  0001  3700 	.ASCII	\	Welcome to VAX/VMS Version \

73 72 65 56 20 53 4D 56 2F 58 41 56  000D       

                        20 6E 6F 69  0019       

                                     001D  3800 20$:	

                           00000025  001D  3900 VERSION:	.BLKB	8

                                     0025  4000 LGI$INPDES::				; FOR EXTERNAL REFERENCES

                          0100 0000  0025  4100 INPDES:	.WORD	0,LGI$K_BUFSIZ

                           0000002D' 0029  4200 	.LONG	INPBUF

                           0000012D  002D  4300 INPBUF:	.BLKB	LGI$K_BUFSIZ		; LINE BUFFER FOR INPUT

                                     012D  4400  

                                     012D  4500 GETCMD:	$CLIREQDESC  CLI$K_GETCMD	; REQUEST COMMAND LINE FROM CLI

                                     0149  4600  

                                     0149  4700 INPEQUDES:				; 'INPUT' NAME EQUIVALENCE DESCRIPTOR

                           0000003C' 0149  4800 	.LONG	20$-10$			; LENGTH OF BUFFER

                           00000155' 014D  4900 	.LONG	10$			; THE BUFFER ADDRESS

                           00000155  0151  5000 	.BLKB	4			; SPACE FOR RMS SPECIAL ASSINGMENT DATA

                           00000191  0155  5100 10$:	.BLKB	60			; THE BUFFER

                                     0191  5200 20$:

                                     0191  5300  

                                     0191  5400 LGI$Q_SYSODSC::				; GLOBAL LABEL FOR SYS$OUTPUT

                                     0191  5500 OUTEQUDES:				; 'OUTPUT' NAME EQUIVALENCE DESCRIPTOR

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   3

01              DECLARATIONS                                                                                                     (2)



                           0000003C' 0191  5600 	.LONG	20$-10$			; LENGTH OF BUFFER

                           0000019D' 0195  5700 	.LONG	10$			; THE BUFFER ADDRESS

                           0000019D  0199  5800 	.BLKB	4			; SPACE FOR RMS SPECIAL ASSINGMENT DATA

                           000001D9  019D  5900 10$:	.BLKB	60			; THE BUFFER

                                     01D9  6000 20$:

                                     01D9  6100 LGI$Q_SYSEDSC::				; GLOBAL LABEL FOR SYS$ERROR

                                     01D9  6200 ERREQUDES:				; 'ERROR' NAME EQUIVALENCE DESCRIPTOR

                           0000003C' 01D9  6300 	.LONG	20$-10$			; LENGTH OF BUFFER

                           000001E5' 01DD  6400 	.LONG	10$			; THE BUFFER ADDRESS

                           000001E5  01E1  6500 	.BLKB	4			; SPACE FOR RMS SPECIAL ASSINGMENT DATA

                           00000221  01E5  6600 10$:	.BLKB	60			; THE BUFFER

                                     0221  6700 20$:					;

                                     0221  6800 

                                     0221  6900 ERRMSGDEV:				; DEVICE TO PRINT ERRORS UPON

                           00000005' 0221  7000 	.LONG	20$-10$			; LENGTH

                           00000229' 0225  7100 	.LONG	10$			; ADDRESS

                     52 4F 52 52 45  0229  7200 10$:	.ASCII	\ERROR\			; NAME OF CONSOLE

                                     022E  7300 20$:

                                     022E  7400 

                                     022E  7500 LGI$Q_INADR::				;

                  FFFFFFFF'00000000' 022E  7600 	.LONG	CLI$IMAGE,CLI$IMAGEEND-1 ; MAP ENTIRE FILE

                                     0236  7700 LGI$Q_RETADR::	

                           0000023E  0236  7800 	.BLKL	2			;

                                     023E  7900  

                                     023E  8000 	.ENABL	LSB

                                     023E  8100  

                                     023E  8200 LGI$G_SECPAR::				; SECTION PARAMETERS

                           00000009' 023E  8300 	.LONG	<20$-10$>/4		; NUMBER OF ARGUMENTS

                           0000022E' 0242  8400 10$:	.LONG	LGI$Q_INADR		; POINTER TO INPUT ADDRESS LIMITS

                           00000236' 0246  8500 	.LONG	LGI$Q_RETADR			; POINTER OUTPUT ADDRESS LIMITS

                                     024A  8600 LGI$L_SECFLGS::				; SECTION FLAGS

                           00000000' 024A  8700 	.LONG	<SEC$M_SYSGBL!SEC$M_GBL!SEC$M_PERM>

                           00000266' 024E  8800 	.LONG	LGI$Q_CLINAM		; NAME OF SECTION

                           00000000  0252  8900 	.LONG	0			; RELATIVE PLACE TO MAP

                           0000026E' 0256  9000 	.LONG	LGI$Q_FILNAM		; FILE NAME FO IMAGE FOR SECTION

                           00000000  025A  9100 	.LONG	0			; MAP SIZE DEFAULTED TO ENTIRE FILE

                           00000002  025E  9200 	.LONG	2			; START MAPPING BEYOND THE HEADER

                           00000003' 0262  9300 	.LONG	PSL$C_USER		; ACCRESS MODE OF SECTION

                                     0266  9400 20$:					;

                                     0266  9500  

                                     0266  9600 	.DSABL	LSB			; END OF ARG LIST

                                     0266  9700  

                                     0266  9800 LGI$Q_CLINAM::				;

                  00000281'00000000  0266  9900 	.LONG	0,LGI$T_CLIFIL		; PROTOTYE DESCRIPTOR FOR SECTION NAME

                                     026E 10000  

                                     026E 10100 LGI$Q_FILNAM::				;

                  00000276'00000000  026E 10200 	.LONG	0,CLIDEV		; AND ONE FOR THE ENTIRE FILE NAME

                                     0276 10300  

   3A 4D 45 54 53 59 53 24 53 59 53  0276 10400 CLIDEV:	.ASCII	\SYS$SYSTEM:\		; DEVICE AND DIRECTORY

                                     0281 10500  

                                     0281 10600 LGI$T_CLIFIL::				; FILENAME PORTION OF FILE SPEC

                           0000028D  0281 10700 	.BLKB	12			; FILE NAME HERE

                                     028D 10800  

                                     028D 10900 LGI$T_CLINAM::				; USER SUPPLIED CLI FILE NAME

                           0000029D  028D 11000 	.BLKB	16			;

                                     029D 11100  

                                     029D 11200 LGI$T_DSKNAM::				; USER SUPPLIED NAME FOR DISK

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   4

01              DECLARATIONS                                                                                                     (2)



                           000002AD  029D 11300 	.BLKB	16			;

                                     02AD 11400  

                                     02AD 11500 LGI$T_USERNAM::				; THIS USERS NAME

52 45 53 55 5F 54 45 4C 52 41 54 53  02AD 11600 	.ASCII	/STARLET_USER/		;

                                     02B9 11700  

                                     02B9 11800 LGI$T_ACNTNAM::				; ACCOUNT NAME

                           000002C9  02B9 11900 	.BLKB	16			; SPACE FOR ACCOUNT NAME

                                     02C9 12000  

                                     02C9 12100 LGI$G_UAFREC::				; USER AUTHORIZATION RECORD BUFFER

                           00000381  02C9 12200 	.BLKB	UAF$K_LENGTH		; SPACE FOR RECORD

                                     0381 12300  

                                     0381 12400  

                                     0381 12450 	.ALIGN	LONG

                                     0384 12500 LGI$G_OUTFAB::				; FAB FOR OUTPUT FILE

                                     0384 12600 	$FAB	FAC=PUT,-		; FILE ACCESS

                                     0384 12700 		FNA=OUTPUTNAM,-		; ADDRESS OF FILE NAME

                                     0384 12800 		FNS=OUTNAMSIZ,-		; SIZE OF THAT STRING

                                     0384 12900 		DNA=LOGTYP,-		; DEFAULT NAME IS TYPE ONLY

                                     0384 13000 		DNS=4,-			; LENGTH OF TYPE STRING

                                     0384 13100 		MRS=512,-		; MAXIMUM RECORD SIZE

                                     0384 13200 		RAT=PRN,-		; FILE IS PRINT TYPE

                                     0384 13300 		RFM=VFC,-		; RECORD FORMAT IS FIXED WITH VAR CTL

                                     0384 13400 		FOP=<PPF,SQO,SUP>,-	; FILE OPTIONS

                                     0384 13500 		NAM=OUTNAM,-		; OUTPUT NAME BLOCK

                                     0384 13600 		SHR=<GET,UPI>		; SHARE GETS, USER PROVIDED INTERLOCKS

                                     03D4 13700  

                                     03D4 13800 OUTNAM:	$NAM	-			; NAME BLOCK FOR DEVICE ID

                                     03D4 13900 		RSA=INPBUF,-		; USE INPUT BUFFER FOR RESULTANT NAME

                                     03D4 14000 		RSS=128			; MAXIMUM LENGHT OF NAME

                                     040C 14100 	ASSUME	LGI$K_BUFSIZ GE 128	; CHECK THAT BUFFER IS LARGE ENOUGH

                                     040C 14200  

                                     040C 14300  

                                 00000000 14400 	.PSECT	PURE	NOWRT,RD

                                     0000 14500  

                                     0000 14600  

                                     0000 14700 LGI$Q_UAFREC::				; DESC FOR USER AUTHORIZATION RECORD

                  000002C9'000000B8  0000 14800 	.LONG	UAF$K_LENGTH,LGI$G_UAFREC

                                     0008 14900  

                        47 4F 4C 2E  0008 15000 LOGTYP:	.ASCII	\.LOG\			; FILE TYPE FOR BATCH OUTPUT LOG

                        4D 4F 43 2E  000C 15100 INPNAM:	.ASCII	/.COM/			; FILE TYPE FOR COMMAND INPUT

                                     0010 15200  

                                     0010 15300 ;

                                     0010 15400 ; LOGICAL NAMES TO TRANSLATE LIST

                                     0010 15500 ;

                                     0010 15600 TRNAMES:				;

                                     0010 15700 	OFFSET	<LGI$Q_INPNAM,INPEQUDES>	; GET LOGICAL NAME FOR INPUT

                                     0014 15800 	OFFSET	<OUTNAMDES,OUTEQUDES>	; GET LOGICAL NAME FOR OUTPUT

                                     0018 15900 	OFFSET	<ERRNAMDES,ERREQUDES>	; GET LOGICAL NAME FOR ERROR

                               0000  001C 16000 	.WORD	0			; END OF LIST

                                     001E 16100  

                                     001E 16200 LGI$Q_DSKDES::				; DESCRIPTOR FOR "DISK" NAME

                           00000008' 001E 16300 	.LONG	DSKNAMSIZ		; SIZE OF STRING

                           00000046' 0022 16400 	.LONG	DISKNAM			; ADDRESS OF STRING

                                     0026 16500  

                                     0026 16600 LGI$Q_INPNAM::

                           00000009' 0026 16700 	.LONG	INPNAMSIZ		; SIZE OF NAME MINUS THE COLON

                           00000059' 002A 16800 	.LONG	INPUTNAM		; ADDRESS OF THE STRING

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   5

01              DECLARATIONS                                                                                                     (2)



                                     002E 16900  

                                     002E 17000 OUTNAMDES:

                           0000000A' 002E 17100 	.LONG	OUTNAMSIZ		; SIZE MINUS THE COLON

                           00000062' 0032 17200 	.LONG	OUTPUTNAM

                                     0036 17300  

                                     0036 17400 ERRNAMDES:

                           00000009' 0036 17500 	.LONG	ERRNAMSIZ		; SIZE MINUS THE COLON

                           0000006C' 003A 17600 	.LONG	ERRORNAM

                                     003E 17700  

                                     003E 17800 CMDNAMDES:				; COMMAND LEVEL 0 NAME DESCRIPTOR

                           0000000B' 003E 17900 	.LONG	CMDNAMSIZ		; LENGTH OF LOGIACL NAME

                           0000004E' 0042 18000 	.LONG	CMDNAM			; ADDRESS OF STRING

                                     0046 18100  

                                     0046 18200 DISKNAM:				; THE LOGICAL NAME FOR "DISK

            4B 53 49 44 24 53 59 53  0046 18300 	.ASCII	\SYS$DISK\		; THE STRING

                           00000008  004E 18400 DSKNAMSIZ = . - DISKNAM			; SIZE OF STRING

                                     004E 18500  

   44 4E 41 4D 4D 4F 43 24 53 59 53  004E 18600 CMDNAM:	.ASCII	\SYS$COMMAND\		; NAME FOR LEVEL ZERO INPUT STREAM

                           0000000B  0059 18700 CMDNAMSIZ = . - CMDNAM			; SAZE OF LOGICAL NAME

                                     0059 18800  

                                     0059 18900 INPUTNAM:

         54 55 50 4E 49 24 53 59 53  0059 19000 	.ASCII	\SYS$INPUT\

                           00000009  0062 19100 INPNAMSIZ = . - INPUTNAM

                                     0062 19200  

                                     0062 19300 OUTPUTNAM:

      54 55 50 54 55 4F 24 53 59 53  0062 19400 	.ASCII	\SYS$OUTPUT\

                           0000000A  006C 19500 OUTNAMSIZ = . - OUTPUTNAM

                                     006C 19600  

                                     006C 19700 ERRORNAM:

         52 4F 52 52 45 24 53 59 53  006C 19800 	.ASCII	\SYS$ERROR\

                           00000009  0075 19900 ERRNAMSIZ = . - ERRORNAM

                                     0075 20000  

                        45 49 52 42  0075 20100 BRIEF:	.ASCII	\BRIE\			; BRIEF QUALIFIER FOR LOGOUT

                        4C 4C 55 46  0079 20200 FULL:	.ASCII	\FULL\			; AND FULL QUALIFIER

                                     007D 20300  

20 3A 65 6D 61 6E 72 65 73 55 0A 0D  007D 20400 USRNAM:	.ASCII	<13><10>\Username: \

                           0000000C  0089 20500 USRNAMSIZ = . - USRNAM

                                     0089 20600  

20 3A 64 72 6F 77 73 73 61 50 0A 0D  0089 20700 PROMPT:	.ASCII	<13><10>\Password: \

                           0000000C  0095 20800 PRMPTSIZ = . - PROMPT

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   6

01              LOGIN INITIALIZATION                                                                                             (3)



                                     0095   100 	.SBTTL	LOGIN INITIALIZATION

                                     0095   200 ;+

                                     0095   300 ;

                                     0095   400 ; THIS IS THE LOGIN/OUT COMMON INITIALIZATION ROUTINE.  ITS SET CONDITIONS

                                     0095   500 ; FOR ALL FURTHER PROCESSING.  THE INDIRECT STACK IS SET TO ITS INITIAL

                                     0095   600 ; STATE, THERE BY CLEARING ANYTHING THAT MAY HAVE BEEN LEFT BY ANY CLI.

                                     0095   700 ; OUTER MODE ASSIGNMETS FOR THE PROCESS PERNAMENT FILE LOGICAL NAMES,

                                     0095   800 ; IF ANY, ARE DELETED; THEN THE NAMES ARE TRANSLATED.  AN EXCEPTION

                                     0095   900 ; HANDLER IS ESTABLISHED, THEN CLEARED IF THE PREVIOUS HANDLER WAS IN

                                     0095  1000 ; USER ADDRESS SPACE INDICATING THAT IT BELONGED TO THE DEBUGGER.

                                     0095  1100 ; A CHECK FOR INITIALIZATION OF THE CLI INDEPENDENT IMPURE AREA IS

                                     0095  1200 ; USED TO DETERMIN IF OPERATION IS LOGIN OR LOGOUT.

                                     0095  1300 ;-

                                 00000095  1400 	.PSECT	PURE

                                     0095  1500  

                               0000' 0095  1600 	.ENTRY	LOGIN_START,0		;

            5E       FEEC CE     9E  0097  1700 	MOVAB	-LGI$K_WORK(SP),SP	; MAKE SPACE FOR LOGIN TO WORK

            50            5E     D0  009C  1800 	MOVL	SP,R0			; COPY ADDRESS OF AREA

                                 D0  009F  1900 	MOVL	CLI$A_UTILSERV(AP),-	; COPY RESULT PARSE CALL BACK ADDRESS

         10 A0         08 AC         00A0  2000 		LGI$L_SAVSP(R0)		; INTO EXEC MODE ARGUMENT LIST

                                     00A4  2100 	$CMEXEC_S  B^10$,(R0)		; ASK FOR EXTENDED PRIVILEGE

                                 04  00B0  2200 	RET				; DISMISS THE IMAGE

                               0000  00B1  2300 10$:	.WORD	0			; ENTRY MASK

                                     00B3  2400 ;

                                     00B3  2500 ; PICK UP SYSTEM VERSION NUMBER

                                     00B3  2600 ;

       001D'CF   00000000'EF     7D  00B3  2700 	MOVQ	SYS$GQ_VERSION,W^VERSION;

            5B   00000000'9F     DE  00BC  2800 	MOVAL	@#CTL$AG_CLIDATA,R11	; POINT AT CLI'S DATA

            58       00A0 CB     9E  00C3  2900 	MOVAB	PRC_K_LENGTH(R11),R8	; POINT AT START OF RMS DATA AREA

            5A       0600 CB     9E  00C8  3000 	MOVAB	<3*512>(R11),R10	; POINT AT INDIRECT STACK

            5A       01FF 8F     AA  00CD  3100 	BICW	#<512-1>,R10		; ROUND TO THE BOTTOM OF PAGE

            5A         A4 AA     9E  00D2  3200 	MOVAB	-IDF_K_LENGTH(R10),R10	; POINT AT LEVEL 0 INDIRECT STACK FRAME

       0084 CB            5A     D0  00D6  3300 	MOVL	R10,PRC_L_STACKPT(R11)	; SET/CLEAR STACK WHICH EVER THE CASE

                          6C     B4  00DB  3400 	CLRW	LGI$W_FLAGS(AP)		; INIT FLAGS WORD

                                     00DD  3500 	$SETEXV_S #0,W^LGI$EXCPTN,,LGI$L_PREVHAND(AP) ; SET ERROR HANDLER

                                     00EF  3600 	IF_ERR	FATAL,<SETEXV system service>

         04 AC            1F     E0  010B  3700 	BBS	#31,LGI$L_PREVHAND(AP),20$ ; BR IF OLD HANDLER WAS IN SYSTEM

                          10         010F       

                                     0110  3800 	$SETEXV_S #0,@LGI$L_PREVHAND(AP) ; RESET DEBUGGERS EXCEPTION HANDLER

                                     0120  3900  

                                     0120  4000 ;

                                     0120  4100 ; TRANSLATE LOGICAL NAMES FOR THE PROCESS PERMANENT FILES

                                     0120  4200 ;

                                     0120  4300  

            52       FEEC CF     9E  0120  4400 20$:	MOVAB	TRNAMES,R2		; POINT AT NAME LIST POINTER

            50            82     32  0125  4500 60$:	CVTWL	(R2)+,R0		; OFFSET TO LOGICAL NAME

                          1E     13  0128  4600 	BEQL	70$			; BR IF ALL DONE

            50            52     C0  012A  4700 	ADDL	R2,R0			; FIND REAL ADDRESS

            51            82     32  012D  4800 	CVTWL	(R2)+,R1		; OFFSET TO EQUIVALENCE NAME

            51            52     C0  0130  4900 	ADDL	R2,R1			; REAL ADDRESS

                                     0133  5000 	$TRNLOG_S (R0),(R1),(R1)	; FIND THE EQUIVILENT NAME

                          DD     11  0146  5100 	BRB	60$			; TRY FOR NEXT

                       08 AB     D5  0148  5200 70$:	TSTL	PRC_L_INPRAB(R11)	; HAS INPUT FILE BEEN OPENNED

                          03     12  014B  5300 	BNEQ	LOGOUT			; BR IF OPERATION IS LOGOUT

                          00AE   31  014D  5400 	BRW	LOGIN			; NO INPUT YET, THIS MUST BE LOGIN

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   7

01              LOGIN INITIALIZATION                                                                                             (4)



                                     0150   100 ;+

                                     0150   200 ; LOGOUT - LOGOUT REQUEST PROCESSING

                                     0150   300 ;

                                     0150   400 ; IF THIS IS A BATCH JOB, AN ATTEMPT IS MADE TO START THE NEXT JOB STEP.

                                     0150   500 ; IF THAT FAILS, THE JOB IS TERMINATED. OTHER JOBS ARE TERMINATED.

                                     0150   600 ; FIRST AN ATTEMPT IS MADE TO PARSE QUALIFIERS FOR THE LOGOUT COMMAND.

                                     0150   700 ; THIS MUST BE DONE WITH GREAT CARE SINCE THE LOGOUT MAY HAVE BEEN THE

                                     0150   800 ; RESULT OF SOME ERROR, INCLUDING A HANGUP IN THE MIDDLE OF A COMMAND.

                                     0150   900 ;-

                                     0150  1000 LOGOUT:	SETBIT	LGI_V_CONTU,LGI$W_FLAGS(AP) ; SET FLAG THAT THIS IS CONTINUE

         54 AB            06     E1  0153  1100 	BBC	#PRC_V_MODE,PRC_W_FLAGS(R11),5$ ; BR IF NOT A BATCH JOB

                          03         0157       

                                     0158  1200 	SETBIT	LGI_V_FULMSG,LGI$W_FLAGS(AP) ; INDICATE FULL MESSAGE DESIRED

            50         10 AC     D0  015B  1300 5$:	MOVL	LGI$L_SAVSP(AP),R0	; GET PASSED CLI CALL BACK ADDRESS

                          56     13  015F  1400 	BEQL	60$			; BR IF NONE

                          60     D5  0161  1500 	TSTL	(R0)			; ANYTHINE THERE?

                          52     13  0163  1600 	BEQL	60$			; BR IF NO

                     012D'CF     9F  0165  1700 	PUSHAB	W^GETCMD		; PUSH REQUEST DESCRIPTOR ADDRESS

            60            01     FB  0169  1800 	CALLS	#1,(R0)			; GET THE COMMAND LINE

            48            50     E9  016C  1900 	BLBC	R0,60$			; IF ERROR RETURN, DON'T TRY TO PARSE

            55       0135'CF     7D  016F  2000 	MOVQ	W^GETCMD+CLI$Q_RQDESC,R5 ; GET THE DESCRIPTOR FOR THE COMMAND

                          41     13  0174  2100 	BEQL	60$			; BR IF NO COMMAND LINE HERE

            55            2F     3A  0176  2200 	LOCC	#^A\/\,R5,(R6)		; LOOK FOR START OF FIRST OPTION

                          66         0179       

                          3B     13  017A  2300 	BEQL	60$			; BR IF NONE HERE

            55            50     7D  017C  2400 	MOVQ	R0,R5			; RESET STRING DESCRITPOR FOR OPTIONS

                                     017F  2500 10$:	SETNBLK				; CHECK FOR ANY NONE-BLANK CHARACTERS

            32            50     E9  0182  2600 	BLBC	R0,60$			; BR IF NO MORE COMMAND TO PARSE

            66            2F     91  0185  2700 	CMPB	#^A\/\,(R6)		; IS A QUALIFIER NEXT

                          2A     12  0188  2800 	BNEQ	50$			; IF NO THIS MUST NOT BE A LOGOUT COMD

                                     018A  2900 	NXTOKEN				; GET THE NEXT TOKEN

                          25     13  018D  3000 	BEQL	50$			; A NULL TOKEN IS AN ERROR - IGNOR THIS

            55            53     D0  018F  3100 	MOVL	R3,R5			; COPY LENGTH OF TOKEN

            04            55     D1  0192  3200 	CMPL	R5,#4			; TOKEN EXCEDE MAXIMUM MATCH LENGTH

                          03     1B  0195  3300 	BLEQU	20$			; BR IF SIZE IS OK FOR MATCH

            55            04     D0  0197  3400 	MOVL	#4,R5			; SET MAXIMUM MATCH LENGTH

            64            55     29  019A  3500 20$:	CMPC	R5,(R4),BRIEF		; IS KEYWORD = BRIEF

                     FED5 CF         019D       

                          0D     13  01A0  3600 	BEQL	30$			; BR IF YES

            64            55     29  01A2  3700 	CMPC	R5,(R4),FULL		; IS IT FULL

                     FED1 CF         01A5       

                          0A     12  01A8  3800 	BNEQ	50$			; BR IF UNRECOGNIZED QUALIFIER

                                     01AA  3900 	SETBIT	LGI_V_FULMSG,LGI$W_FLAGS(AP) ; INDICATE FULL MESSAGE DESIRED

                          D0     11  01AD  4000 	BRB	10$			; LOOK FOR MORE

                                     01AF  4100 30$:	CLRBIT	LGI_V_FULMSG,LGI$W_FLAGS(AP) ; NO FULL LISTING

                          CB     11  01B2  4200 	BRB	10$			;

                                     01B4  4300 50$:	CLRBIT	LGI_V_FULMSG,LGI$W_FLAGS(AP) ; COMMAND SYNTAX ERROR-USE DEFAULT

         02 A8            6A     B0  01B7  4400 60$:	MOVW	IDF_W_INPIFI(R10),FAB$W_IFI(R8) ; SET IFI FOR INPUT

            50   00000000'EF     D0  01BB  4500 	MOVL	SCH$GL_CURPCB,R0	; ADDRESS CURRENT PCB

         28 A0            15     E0  01C2  4600 	BBS	#PCB$V_NETWRK,PCB$L_STS(R0),80$; BR IF NETWORK CONNECTED JOB

                          23         01C6       

         54 AB            08     E0  01C7  4700 	BBS	#PRC_V_USRDET,PRC_W_FLAGS(R11),80$ ; BR IF "FUNNY" BATCH

                          1E         01CB       

         54 AB            06     E1  01CC  4800 	BBC	#PRC_V_MODE,PRC_W_FLAGS(R11),80$ ; BR IF THIS IS NOT A BATCH JOB

                          19         01D0       

            50         28 A8     D0  01D1  4900 	MOVL	FAB$L_NAM(R8),R0	; GET INPUT NAME BLOCK

                                     01D5  5000 	ASSUME	IDF_W_INPFID EQ IDF_T_INPDVI+16

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   8

01              LOGIN INITIALIZATION                                                                                             (4)



                                     01D5  5100 	ASSUME	IDF_W_INPDID EQ IDF_T_INPDVI+22

                                     01D5  5200 	ASSUME	NAM$W_FID EQ NAM$T_DVI+16

                                     01D5  5300 	ASSUME	NAM$W_DID EQ NAM$T_DVI+22

         34 AA            1C     28  01D5  5400 	MOVC	#28,IDF_T_INPDVI(R10),NAM$T_DVI(R0) ; SET INPUT FILE DATA

                       14 A0         01D9       

                                     01DB  5500 	$CLOSE	FAB=(R8)		; TERMINATE INPUT FOR THE PROCESS

                          FE19'  30  01E4  5600 	BSBW	LGI$NXTINP		; OPEN NEXT INPUT FILE

                          0121   31  01E7  5700 	BRW	SETJOB			; SET UP THE JOB PARAMETERS

                          FE13'  30  01EA  5800 80$:	BSBW	LGI$LOGOUTMSG		; SIGN OFF

         02 A8         02 AA     B0  01ED  5900 	MOVW	IDF_W_OUTIFI(R10),FAB$W_IFI(R8) ; SET IFI FOR THE OUTPUT FILE

                                     01F2  6000 	$CLOSE	FAB=(R8)		; CLOSE THE OUTPUT FILE

                          036A   31  01FB  6100 	BRW	LGI$TERMPROC		; TERMINATE THIS PROCESS

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page   9

01              PROCESS LOGIN SETUP ROUTINE                                                                                      (5)



                                     01FE   100 	.SBTTL	PROCESS LOGIN SETUP ROUTINE

                                     01FE   200 ;+

                                     01FE   300 ; LOGIN --- PROCEED WITH A LOGIN OPERATION

                                     01FE   400 ;

                                     01FE   500 ; THE OPERATION IS A LOGIN. INITAILIZE THE PROCESS RMS DATA AREA

                                     01FE   600 ; AND OPEN THE PROCESS PERMANENT FILES.

                                     01FE   700 ;-

                                     01FE   800  

         1C AB            68     9E  01FE   900 LOGIN:	MOVAB	(R8),PRC_L_INDFAB(R11)	; SET ADDRESS OF FAB

            68       5003 8F     B0  0202  1000 	MOVW	#FAB$C_BID+<FAB$C_BLN@8>,(R8) ; SET FAB ID FIELDS

         30 A8       FE01 CF     9E  0207  1100 	MOVAB	INPNAM,FAB$L_DNA(R8)	; SET DEFAULT NAME

         35 A8            04     90  020D  1200 	MOVB	#4,FAB$B_DNS(R8)	; SIZE OF TYPE FIELD ONLY

         36 A8       0100 8F     B0  0211  1300 	MOVW	#LGI$K_BUFSIZ,FAB$W_MRS(R8) ; MAX RECORD SIZE

         1E A8            04     90  0217  1400 	MOVB	#FAB$M_PRN,FAB$B_RAT(R8) ; SET PRINT FILE RECORD ATTRIBUTE

         1F A8            03     90  021B  1500 	MOVB	#FAB$C_VFC,FAB$B_RFM(R8) ; SET FIXED CONTROL RECORD FORMAT

         28 A8         50 A8     9E  021F  1600 	MOVAB	FAB$C_BLN(R8),FAB$L_NAM(R8) ; SET ADDRESS OF NAME BLOCK

                                 B0  0224  1700 	MOVW	#NAM$C_BID+<NAM$C_BLN@8>,- ; SET BLOCK ID AND LENGTH

         50 A8       3802 8F         0225  1800 		FAB$C_BLN(R8)		; INTO FIRST WORD OF THE NAME BLOCK

                                 90  022A  1900 	MOVB	#<FAB$M_GET!FAB$M_PUT>,-; SET READ AND WRITE ACCESS

         16 A8            03         022B  2000 		FAB$B_FAC(R8)		; AS FILE ACCESS TYPE

                                 D0  022E  2100 	MOVL	#<FAB$M_PPF!FAB$M_INP!FAB$M_SQO>,- ; FILE OPTIONS ARE: PROCESS

         04 A8   000C0040 8F         022F  2200 		FAB$L_FOP(R8)		; PERMANENT, INPUT, AND SEQUENTIAL

            59       0088 C8     9E  0236  2300 	MOVAB	PRD_G_INPRAB(R8),R9	; SET PROCESS INPUT RAB

                                     023B  2400 	ASSUME	RAB$B_BLN EQ RAB$B_BID+1

                                     023B  2500 	ASSUME	RAB$W_ISI EQ RAB$B_BID+2

                                 3C  023B  2600 	MOVZWL	#<RAB$C_BID!<RAB$C_BLN@8>>,- ; SET RAB IDENTIFICATION FIELDS

            69       4401 8F         023C  2700 		RAB$B_BID(R9)		; AND ZERO THE ISI

       00CC C8            69     D0  0240  2800 	MOVL	RAB$B_BID(R9),PRD_G_ALTINPRAB+RAB$B_BID(R8) ; DO THE SAME FOR

                                     0245  2900 	SETBIT	RAB$V_PMT,PRD_G_ALTINPRAB+RAB$L_ROP(R8) ; SET READ WITH PROMPT

       0110 C8            69     D0  024B  3000 	MOVL	RAB$B_BID(R9),PRD_G_ALTOUTRAB+RAB$B_BID(R8) ; ALL THE PROCESS

       0154 C8            69     D0  0250  3100 	MOVL	RAB$B_BID(R9),PRD_G_OUTRAB+RAB$B_BID(R8) ;  PERMANENT RABS

         37 A9            01     90  0255  3200 	MOVB	#1,RAB$B_MBC(R9)	; SET MULTIBLOCK COUNT TO 1

         36 A9         FF 8F     90  0259  3300 	MOVB	#-1,RAB$B_MBF(R9)	; AND MULTIBUFFER TO 1 WITH NO LOCK

                                     025E  3400 	ASSUME	RAB$B_MBC EQ RAB$B_MBF+1

       0102 C8         36 A9     B0  025E  3500 	MOVW	RAB$B_MBF(R9),PRD_G_ALTINPRAB+RAB$B_MBF(R8) ; DO THE SAME FOR

       0146 C8         36 A9     B0  0264  3600 	MOVW	RAB$B_MBF(R9),PRD_G_ALTOUTRAB+RAB$B_MBF(R8) ; ALL THE PROCESS

       018A C8         36 A9     B0  026A  3700 	MOVW	RAB$B_MBF(R9),PRD_G_OUTRAB+RAB$B_MBF(R8) ;  PERMANENT RABS

       0088 CB       0198 C8     9E  0270  3800 	MOVAB	PRD_K_LENGTH(R8),PRC_L_STACKLM(R11) ; SET INDIRECT STACK LIMIT

            50   00000000'EF     D0  0277  3900 	MOVL	SCH$GL_CURPCB,R0	; GET CURRENT PROCESS CONTROL BLOCK

         28 A0            0E     E1  027E  4000 	BBC	#PCB$V_BATCH,PCB$L_STS(R0),5$ ; BR IF THIS IS NOT A BATCH JOB

                          06         0282       

                          FD7A'  30  0283  4100 	BSBW	LGI$INIDET		; SET UP A BATCH JOB

                          0082   31  0286  4200 	BRW	SETJOB			; SET UP THE JOB

         28 A0            15     E1  0289  4300 5$:	BBC	#PCB$V_NETWRK,PCB$L_STS(R0),10$; BR IF NOT NETWORK JOB

                          0B         028D       

                          FD6F'  30  028E  4400 	BSBW	LGI$NETWORK		; SET UP NETWORK JOB

                                     0291  4500 	SETBIT	PRC_V_MODE,PRC_W_FLAGS(R11)

                          0072   31  0296  4600 	BRW	SETJOB			; CONTINUE

                                 E0  0299  4700 10$:	BBS	#PCB$V_LOGIN,-		; BR IF THIS PROCESS SHOULD BYPASS

         28 A0            14         029A  4800 		PCB$L_STS(R0),12$	; AUTHORIZATION CHECK AND QUOTA SETTING

                          05         029D       

                       1C A0     D5  029E  4900 	TSTL	PCB$L_OWNER(R0)		; ELSE IS THIS A SUB PROCESS?

                          03     13  02A1  5000 	BEQL	15$			; BR IF NO

                                     02A3  5100 12$:	SETBIT	LGI_V_SUBPRC,LGI$W_FLAGS(AP) ; REMEMBER TO AVOID CHECKS

            56            58     7D  02A6  5200 15$:	MOVQ	R8,R6			; ASSUME ONLY 1 PROCESS PREMANENT FILE

            50       0191'CF     7D  02A9  5300 	MOVQ	W^OUTEQUDES,R0		; GET NAME OF OUTPUT FILE

            52       0149'CF     7D  02AE  5400 	MOVQ	W^INPEQUDES,R2		; AND THE INPUT FILE

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  10

01              PROCESS LOGIN SETUP ROUTINE                                                                                      (5)



         34 A8            52     90  02B3  5500 	MOVB	R2,FAB$B_FNS(R8)	; SET FILE NAME FOR INPUT

         2C A8            53     D0  02B7  5600 	MOVL	R3,FAB$L_FNA(R8)	; AND ADDRESS OF STRING

            52            50     B1  02BB  5700 	CMPW	R0,R2			; NAMES THE SAME LENGTH?

                          06     12  02BE  5800 	BNEQ	20$			; BR IF NO - CAN'T BE THE SAME FILE

            61            50     29  02C0  5900 	CMPC	R0,(R1),(R3)		; NAMES MATCH EXACTLY?

                          63         02C3       

                          38     13  02C4  6000 	BEQL	INTACT			; IF YES - USE 1 FILE FOR BOTH

                                     02C6  6100 20$:	SETBIT	PRC_V_USRDET,PRC_W_FLAGS(R11) ; MARK AS USER DETACHED PROCESS

                                 90  02CB  6200 	MOVB	#<FAB$M_GET>,-		; SET READ ONLY ACCESS AS FILE

         16 A8            02         02CC  6300 		FAB$B_FAC(R8)		; ACCESS TYPE FOR INPUT

            56       0384'CF     9E  02CF  6400 	MOVAB	W^LGI$G_OUTFAB,R6	; SET ADDRESS OF OUTPUT FAB

            57       0154 C8     9E  02D4  6500 	MOVAB	PRD_G_OUTRAB(R8),R7	; SET ADDRESS OF PROCESS OUTPUT RAB

         3C A7            66     9E  02D9  6600 	MOVAB	(R6),RAB$L_FAB(R7)	; SET ADDRESS OF ASSOCIATED FAB

                                     02DD  6700 	$CREATE	(R6)			; CREATE THE OUTPUT FILE

            21            50     E9  02E6  6800 	BLBC	R0,PPFERR		; BR ON PROCESS PERMANENT FILE ERROR

                                     02E9  6900 	$CONNECT  (R7)			; CONNECT TO OUTPUT STREAM

            15            50     E9  02F2  7000 	BLBC	R0,PPFERR		; PROCESS PERMANENT FILE ERROR

         18 A7         40 A6     D0  02F5  7100 	MOVL	FAB$L_DEV(R6),RAB$L_CTX(R7) ; SAVE DEVICE CHARACTERISTICS

         3C A7            68     9E  02FA  7200 	MOVAB	(R8),RAB$L_FAB(R7)	; SET ADDRESS OF PERMANENT FAB

                                     02FE  7300 INTACT:	$OPEN	(R8)			; OPEN THE FILE

            01            50     E8  0307  7400 	BLBS	R0,SETJOB		; BR IF NO ERROR

                                 04  030A  7500 PPFERR:	RET				; *** ERROR OPENING PROCESS FILE ***

         18 A9         40 A8     D0  030B  7600 SETJOB:	MOVL	FAB$L_DEV(R8),RAB$L_CTX(R9) ; SAVE DEVICE CHARACTERISTICS IN RAB

         3C A9            68     9E  0310  7700 	MOVAB	(R8),RAB$L_FAB(R9)	; SET FAB ADDRESS IN RAB

         24 A9   0000002D'EF     9E  0314  7800 	MOVAB	INPBUF,RAB$L_UBF(R9)	; SET LINE BUFFER ADDRESS

         20 A9       0100 8F     B0  031C  7900 	MOVW	#LGI$K_BUFSIZ,RAB$W_USZ(R9); SIZE OF LINE BUFFER

                                 D0  0322  8000 	MOVL	#<RAB$M_PMT!RAB$M_CVT!-	; SET PROMPT AND CONVERT TO UPPERCASE

                                     0323  8100 		RAB$M_PTA!RAB$M_TMO>,-	; PURGE TYPE_AHEAD AND READ TIMEOUT

         04 A9   66000000 8F         0323  8200 		RAB$L_ROP(R9)		; AS RECORD OPTIONS.

         30 A9       FD4F CF     9E  032A  8300 	MOVAB	USRNAM,RAB$L_PBF(R9)	; SET PROMPT BUFFER ADDRESS

         34 A9            0C     90  0330  8400 	MOVB	#USRNAMSIZ,RAB$B_PSZ(R9) ; AND PROMPT BUFFER SIZE

         1F A9            1E     90  0334  8500 	MOVB	#30,RAB$B_TMO(R9)	; TIMEOUT COUNT IN SECONDS

                                     0338  8600 	$CONNECT RAB=(R9)		; CONNECT TO FILE

            C6            50     E9  0341  8700 	BLBC	R0,PPFERR		; BR IF ERROR ON PROCESS PERMANENT FILE

                                 F7  0344  8800 	CVTLW	FAB$L_STV(R8),-		; GET CHANNEL FOR THE TERMINAL

         50 AB         0C A8         0345  8900 		PRC_W_INPCHAN(R11)	; STORE IN PROCESS IMPURE AREA

                          02     F0  0349  9000 	INSV	#FAB$M_CR,#RAB$V_PPF_RAT,- ; SET DEFAULT RECORD TO

            08            06         034B  9100 		#RAB$S_PPF_RAT,RAB$W_ISI(R7) ; CR/LF MODE FOR OUTPUT

                       02 A7         034D       

                          02     F0  034F  9200 	INSV	#FAB$M_CR,#RAB$V_PPF_RAT,- ; SET DEFAULT RECORD TO

            08            06         0351  9300 		#RAB$S_PPF_RAT,RAB$W_ISI(R9) ; CR/LF MODE FOR INPUT

                       02 A9         0353       

                                     0355  9400 ;

                                     0355  9500 ; SET UP PROCESS RAB POINTERS FOR PROCESS PERMANENT FILES

                                     0355  9600 ;

         10 AB            57     D0  0355  9700 	MOVL	R7,PRC_L_ERRRAB(R11)	; SAVE ADDRESS OF ERROR RAB

         0C AB            57     D0  0359  9800 	MOVL	R7,PRC_L_OUTRAB(R11)	; SAVE ADDRESS OF OUTPUT RAB

         18 AB            57     D0  035D  9900 	MOVL	R7,PRC_L_INDOUTRAB(R11)	; SAVE ADDRESS OF INDIRECT OUTPUT RAB

         08 AB            59     D0  0361 10000 	MOVL	R9,PRC_L_INPRAB(R11)	; SAVE ADDRESS OF INPUT RAB

         14 AB            59     D0  0365 10100 	MOVL	R9,PRC_L_INDINPRAB(R11)	; CURRENT INDIRECT LEVEL

                                     0369 10200 ;

                                     0369 10300 ; CHECK IF THIS JOB IS INTERACTIVE OR BATCH

                                     0369 10400 ;

         54 AB            06     E0  0369 10500 	BBS	#PRC_V_MODE,PRC_W_FLAGS(R11),10$ ; BR IF DETACHED JOB

                          1A         036D       

            6C            03     E1  036E 10600 	BBC	#LGI_V_SUBPRC,LGI$W_FLAGS(AP),20$ ; BR IF NOT A SUBPROCESS

                          19         0371       

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  11

01              PROCESS LOGIN SETUP ROUTINE                                                                                      (5)



                 00000000'EF     9F  0372 10700 	PUSHAB	CTL$T_USERNAME		; FORM A DESCRIPTOR FOR THE

                          0C     DD  0378 10800 	PUSHL	#12			; PROCESS USERNAME

                     FC82 CF     7F  037A 10900 	PUSHAQ	W^LGI$Q_UAFREC		; ADDRESS OF RECORD FOR UAF RECORD

                          7E     D4  037E 11000 	CLRL	-(SP)			; NO PASSWORD FOR SEARCH ONLY OPERATION

                       08 AE     7F  0380 11100 	PUSHAQ	8(SP)			; ADDRESS OF USERNAME DESCRIPTOR

       0000'CF            05     FB  0383 11200 	CALLS	#<3+2>,W^LGI$SEARCHUSER	; FIND THE USER RECORD

                          00D8   31  0388 11300 10$:	BRW	INIUSER			; DETACHED-PROCEED WITH INITIALIZATION

                                     038B 11400 20$:	$CMKRNL_S W^ZEROACNT		; SET USER ACCOUNT NAME TO ZERO

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  12

01              PROCESS LOGIN SETUP ROUTINE                                                                                      (6)



                                     0398   100 ;

                                     0398   200 ; THIS IS AN INTERACTIVE JOB - GET USERNAME AND ACCOUNT INFORMATION

                                     0398   300 ; INORDER TO PERFORM ACCESS AUTHORIZATION TO THE SYSTEM.

                                     0398   400 ;

                                     0398   500  

            7E            56     7D  0398   600 GETNAM:	MOVQ	R6,-(SP)		; SAVE OUTPUT FAB AND RAB ADDRESSES

                          FC62'  30  039B   700 10$:	BSBW	LGI$LINEIN		; READ A LINE FORM TERMINAL

                                     039E   800 	SETNBLK				; SKIP LEADING BLANKS

            F7            50     E9  03A1   900 	BLBC	R0,10$			; READ AGAIN ON NULL LINE

                          FC59'  30  03A4  1000 	BSBW	LGI$GETOPT		; PROCESS OPTIONS

            21            50     E9  03A7  1100 	BLBC	R0,40$			; BR IF ERROR

                                     03AA  1200 	GETOKEN				; GET USER NAME

                          12     13  03AD  1300 	BEQL	30$			; BR IF NONE - CHECK FOR ERROR

            64            53     2C  03AF  1400 	MOVC5	R3,(R4),#^A/ /,#12,W^LGI$T_USERNAM ; SET THE USERS NAME

            0C            20         03B2       

                     02AD'CF         03B4       

                          FC46'  30  03B7  1500 20$:	BSBW	LGI$GETOPT		; TRY FOR OPTIONS

            0E            50     E9  03BA  1600 	BLBC	R0,40$			; BR IF ERROR IN SYNTAX

                          66     95  03BD  1700 	TSTB	(R6)			; SHOULD BE AT END_OF_LINE

                          1E     13  03BF  1800 	BEQL	GETPSWD			; BR IF COMMAND SYNTAX IS OK

                          66     95  03C1  1900 30$:	TSTB	(R6)			; IS THIS END OF LINE?

                          D6     13  03C3  2000 	BEQL	10$			; BR IF YES

            51         D0'AF     9E  03C5  2100 	MOVAB	B^50$,R1		; GET ERROR MESSAGE

                          50     D4  03C9  2200 	CLRL	R0			; NO ADDITIONAL ERROR MESSAGE

                          FC32'  30  03CB  2300 40$:	BSBW	LGI$MSGOUT		; PRINT THE MESSAGE

                          CB     11  03CE  2400 	BRB	10$			; TRY AGAIN

6E 79 73 20 64 6E 61 6D 6D 6F 63 00' 03D0  2500 50$:	.ASCIC	\command syntax\	;

                           78 61 74  03DC       

                                 0E  03D0       

                                     03DF  2600 ;

                                     03DF  2700 ; USER NAME AND OPTIONS ARE ALL PROCESSED, READ PASSWORD

                                     03DF  2800 ;

                                     03DF  2900 GETPSWD:$CMKRNL_S B^SETNAM		; SET USER NAME INCASE LOGIN FAILS

                                 D0  03EB  3000 	MOVL	#<RAB$M_PMT!RAB$M_CVT!-	; READ WITH PROMPT AND CONVERT LOWER

                                     03EC  3100 		RAB$M_TMO!RAB$M_RNE>,-	; ALSO TIMEOUT AND NO ECHO ARE THE

         04 A9   47000000 8F         03EC  3200 		RAB$L_ROP(R9)		; RECORD OPTIONS FOR PASSWORD READING

         30 A9       FC92 CF     9E  03F3  3300 	MOVAB	PROMPT,RAB$L_PBF(R9)	; SET PROMPT BUFFER ADDRESS

         34 A9            0C     90  03F9  3400 	MOVB	#PRMPTSIZ,RAB$B_PSZ(R9)	; AND PROMPT BUFFER SIZE

                          FC00'  30  03FD  3500 	BSBW	LGI$LINEIN		; READ A LINE

                                     0400  3600 	GETOKEN				; GET PASSWORD FOR COMMAND LINE

                          18     BB  0403  3700 	PUSHR	#^M<R3,R4>		; FOR DESCRIPTOR FOR PASSWORD

            51            5E     D0  0405  3800 	MOVL	SP,R1			; COPY ADDRESS OF THAT DESCRIPTOR

                     02AD'CF     9F  0408  3900 	PUSHAB	W^LGI$T_USERNAM		; AND ONE FOR USERNAME

                          0C     DD  040C  4000 	PUSHL	#12			; LENGTH OF STRING

            50            5E     D0  040E  4100 	MOVL	SP,R0			; USERNAME STRING

                     FBEB CF     7F  0411  4200 	PUSHAQ	W^LGI$Q_UAFREC		; ADDRESS FOR DESCRIPTOR FOR BUFFER

                          03     BB  0415  4300 	PUSHR	#^M<R0,R1>		; DESCRIPTOR FOR NAME AND PASSWORD

   00000000'EF            07     FB  0417  4400 	CALLS	#<3+4>,LGI$VALIDATE	; VALIDATE THE USERS PASSWORD

            21            50     E8  041E  4500 	BLBS	R0,20$			; BR IF ALL IS WELL

                          50     D5  0421  4600 	TSTL	R0			; WAS THIS A FAILURE FOR RMS?

                          1A     14  0423  4700 	BGTR	10$			; BR IF YES - WE HAVE NO ACCOUNT FILE

       0094 CB            50     D0  0425  4800 	MOVL	R0,PRC_L_LSTSTATUS(R11)	; SET TERMINAL STATUS

                          50     D4  042A  4900 	CLRL	R0			; NO ADDITIONAL ERROR

                          FBD1'  30  042C  5000 	BSBW	LGI$FATAL		; FATAL ERROR

61 64 69 6C 61 76 20 72 65 73 75 00' 042F  5100 	.ASCIC	\user validation\

                        6E 6F 69 74  043B       

                                 0F  042F       

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  13

01              PROCESS LOGIN SETUP ROUTINE                                                                                      (6)



                                     043F  5200 10$:	SETBIT	LGI_V_NOACNT,LGI$W_FLAGS(AP) ; FLAG NO ACCOUNT FILE

                                     0442  5300 ;

                                     0442  5400 ; CHECK SYSTEM QUOTA FOR INTERACTIVE JOBS

                                     0442  5500 ;

                          FBBB'  30  0442  5600 20$:	BSBW	LGI$CHK_JOBCNT		; CHECK CURRENT JOB COUNT

            56            8E     7D  0445  5700 	MOVQ	(SP)+,R6		; RESTORE OUTPUT FAB AND RAB

                                     0448  5800 ;

                                     0448  5900 ; LOGIN SUCESSFUL - ANNOUNCE THE SYSTEM

                                     0448  6000 ;

            51   00000000'EF     9E  0448  6100 	MOVAB	SUCMSG,R1		; MESSAGE

                          FBAE'  30  044F  6200 	BSBW	LGI$TYPOUT		; SAY HELLO TO THE NEW USER

                          0F     11  0452  6300 	BRB	INIUSER			;

                                     0454  6400  

                                     0454  6500 ;

                                     0454  6600 ; SETNAME - THIS ROUTINE IS ENTERED AS SONE AS THE USERNAME HAS BEEN ACCEPTED

                                     0454  6700 ;	IN ORDER TO HAVE THE USER NAME SET INCASE LOGIN FAILS.  THIS IS DONE

                                     0454  6800 ;	TO HELP DETERMIN IF SOMEONE IS TRYING TO BREAK THE SYSTEM.

                                     0454  6900 ;

                                     0454  7000  

                               003C  0454  7100 SETNAM: .WORD	^M<R2,R3,R4,R5>		; SAVE REGISTERS USED BY INSTRUCTION

       02AD'CF            0C     28  0456  7200 	MOVC	#12,W^LGI$T_USERNAM,@#CTL$T_USERNAME ; FILL IN USER NAME

                 00000000'9F         045B       

                          50     D6  0460  7300 	INCL	R0			; SET SUCCESS

                                 04  0462  7400 	RET				; RETURN TO LOGIN

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  14

01              PROCESS LOGIN SETUP ROUTINE                                                                                      (6)



                                     0463  7600  

                                     0463  7700 ;

                                     0463  7800 ; INIUSER - INITIALIZE THE USER PROCESS FOR A COMMAND SESSION

                                     0463  7900 ;

                                     0463  8000 ;

                                     0463  8100 ; THE JOB HAS BEEN VALIDATED.  START UP THE USER JOB.

                                     0463  8200 ;

                                     0463  8300 ;	AT THIS POINT R6,R7 ARE FAB,RAB FOR OUTPUT AND ERROR,

                                     0463  8400 ;	AND R8,R9 ARE FAB,RAB FOR INPUT.

                                     0463  8500 ;

                                     0463  8600 INIUSER:				;

         04 A9   40000000 8F     D0  0463  8700 	MOVL	#RAB$M_PMT,RAB$L_ROP(R9) ; SET RECORD OPTIONS FOR NORMAL I/O

                                     046B  8800  

                                     046B  8900 ;

                                     046B  9000 ; INITIALIZE LEVEL 0 INDIRECT FRAME

                                     046B  9100 ;

                                     046B  9200  

         02 AA         02 A6     B0  046B  9300 	MOVW	FAB$W_IFI(R6),IDF_W_OUTIFI(R10) ; SET OUTPUT IFI

         52 AB         02 A6     B0  0470  9400 	MOVW	FAB$W_IFI(R6),PRC_W_ERRIFI(R11)	; SAVE THEN REAL ERROR IFI

            6A         02 A8     B0  0475  9500 	MOVW	FAB$W_IFI(R8),IDF_W_INPIFI(R10)	; SAME FOR INPUT

         04 AA         02 A7     B0  0479  9600 	MOVW	RAB$W_ISI(R7),IDF_W_OUTISI(R10) ; AND ISI FOR OUTPUT ONLY

         10 AA         18 A7     D0  047E  9700 	MOVL	RAB$L_CTX(R7),IDF_L_OUTRABCTX(R10) ; SAVE DEVICE CHARACTERISTICS

         0C AA         18 A9     D0  0483  9800 	MOVL	RAB$L_CTX(R9),IDF_L_INPRABCTX(R10) ; FOR OUTPUT AND INPUT.

            6C            00     E0  0488  9900 	BBS	#LGI_V_CONTU,LGI$W_FLAGS(AP),10$ ; BR IF CONTINUING A BATCH JOB

                          0A         048B       

            50         28 A6     D0  048C 10000 	MOVL	FAB$L_NAM(R6),R0	; GET OUTPUT NAME BLOCK

         14 A0            10     28  0490 10100 	MOVC	#16,NAM$T_DVI(R0),IDF_T_OUTDVI(R10) ; SET OUTPUT DEVICE ID

                       24 AA         0494       

            50         28 A8     D0  0496 10200 10$:	MOVL	FAB$L_NAM(R8),R0	; GET INPUT NAME BLOCK

                                     049A 10300 	ASSUME	IDF_W_INPFID EQ IDF_T_INPDVI+16

                                     049A 10400 	ASSUME	IDF_W_INPDID EQ IDF_T_INPDVI+22

                                     049A 10500 	ASSUME	NAM$W_FID EQ NAM$T_DVI+16

                                     049A 10600 	ASSUME	NAM$W_DID EQ NAM$T_DVI+22

         14 A0            1C     28  049A 10700 	MOVC	#28,NAM$T_DVI(R0),IDF_T_INPDVI(R10) ; SET INPUT FILE DATA

                       34 AA         049E       

                                     04A0 10800 ;

                                     04A0 10900 ; SET UP LOGICAL NAMES FOR RMS MAPPING OF PROCESS PERMANENT FILES

                                     04A0 11000 ;

            53       0151'CF     7E  04A0 11100 SETLOG:	MOVAQ	W^INPEQUDES+8,R3	; GET DESCRIPTOR FOR INPUT FILE NAME

            83            1B     9B  04A5 11200 	MOVZBW	#ESC,(R3)+		; INSERT ESCAPE PLUS A ZERO BYTE

            83         02 A8     B0  04A8 11300 	MOVW	FAB$W_IFI(R8),(R3)+	; SET IFI INTO SPECIAL ASSIGNMENT

            55         28 B8     9E  04AC 11400 	MOVAB	@FAB$L_NAM(R8),R5	; ADDRESS OF PROPER NAME BLOCK

                          20     10  04B0 11500 	BSBB	100$			; CREATE THE NAME

                                     04B2 11600 	OFFSET	<LGI$Q_INPNAM,CMDNAMDES>	; LOGICAL NAMES TO ASSIGN

                               0000  04B6 11700 	.WORD	0			; END OF LIST

            53       0199'CF     9E  04B8 11800 	MOVAB	W^OUTEQUDES+8,R3	; OUTPUT EQUIVALENCE NAME

            83            1B     9B  04BD 11900 	MOVZBW	#ESC,(R3)+		; INSERT ESCAPE PLUS A ZERO BYTE

            83         02 A6     B0  04C0 12000 	MOVW	FAB$W_IFI(R6),(R3)+	; SET IFI INTO SPECIAL ASSIGNMENT

            55         28 B6     9E  04C4 12100 	MOVAB	@FAB$L_NAM(R6),R5	; SET NAME BLOCK ADDRESS

                          08     10  04C8 12200 	BSBB	100$			; CREATE THE NAME

                                     04CA 12300 	OFFSET	<OUTNAMDES,ERRNAMDES>	; NAMES TO ASSIGN

                               0000  04CE 12400 	.WORD	0			; END OF LIST TO ASSIGN

                          3E     11  04D0 12500 	BRB	150$			; CONTINUE

                       FC A3     9F  04D2 12600 100$:	PUSHAB	-4(R3)			; SAVE ADDRESS OF FIRST BYTE IN NAME

            83         5F 8F     90  04D5 12700 	MOVB	#^A/_/,(R3)+		; INSERT LEADING UNDERSCORE

            51         14 A5     9E  04D9 12800 	MOVAB	NAM$T_DVI(R5),R1	; ADDRESS OF DEVICE NAME COUNTER STRING

            50            81     9A  04DD 12900 	MOVZBL	(R1)+,R0		; FIND SIZE AND ADDRESS

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  15

01              PROCESS LOGIN SETUP ROUTINE                                                                                      (6)



            61            50     28  04E0 13000 	MOVC3	R0,(R1),(R3)		; COPY DEVICE NAME INTO PACKET

                          63         04E3       

            83            3A     90  04E4 13100 	MOVB	#^A/:/,(R3)+		; INDICATE DEVICE NAME

                          02     BA  04E7 13200 	POPR	#^M<R1>			; GET BUFFER ADDRESS

            71            51     D0  04E9 13300 	MOVL	R1,-(R1)		; SET ADDRESS OF BUFFER IN DESCRIPTOR

            53            61     C3  04EC 13400 	SUBL3	(R1),R3,-(R1)		; FIND LENGTH OF NAME

                          71         04EF       

            53            51     D0  04F0 13500 	MOVL	R1,R3			; COPY ADDRESS OF DESCRIPTOR

                          04     BA  04F3 13600 105$:	POPR	#^M<R2>			; GET ADDRESS FOLLOWING BSB

            50            82     32  04F5 13700 110$:	CVTWL	(R2)+,R0		; OFFSET TO NEXT NAME

                          14     13  04F8 13800 	BEQL	120$			; BR IF DONE

            50            52     C0  04FA 13900 	ADDL	R2,R0			; FIND REAL ADDRESS

                                     04FD 14000 	$CRELOG_S  #LOG_PROCESS,-	; MAKE ENTRY IN PROCESS TABLE

                                     04FD 14100 		(R0),(R3)		; LOGICAL NAME AND EQUIVALENCE STRING

                          E7     11  050C 14200 	BRB	110$			; TRY FOR NEXT

                          62     17  050E 14300 120$:	JMP	(R2)			; RETURN TO CALLER

                                     0510 14400 ;

                                     0510 14500 ; CHECK IF THIS IS A NEW PROCESS OF A BATCH JOB CONTINUING WITH

                                     0510 14600 ;  THE NEXT JOB STEP.

                                     0510 14700 ;

            6C            00     E0  0510 14800 150$:	BBS	#LGI_V_CONTU,LGI$W_FLAGS(AP),STRCLI ; START CLI IF CONTINUE

                          03         0513       

                          FAE9'  30  0514 14900 	BSBW	LGI$INICLI		; IF NEW PROCESS INIT THE CLI

                                     0517 15000 ;

                                     0517 15100 ; DISPATCH TO THE FIRST LOCATION IN THE COMMAND INTERPRETER SECTION

                                     0517 15200 ;

         04 AC            1F     E1  0517 15300 STRCLI:	BBC	#31,LGI$L_PREVHAND(AP),10$ ; BR IF HANDLER NOT THE SYSTEMS

                          10         051B       

                                     051C 15400 	$SETEXV_S #0,@LGI$L_PREVHAND(AP) ; RESET SYSTEM ERROR HANDLER

         54 AB            08     E1  052C 15500 10$:	BBC	#PRC_V_USRDET,PRC_W_FLAGS(R11),20$ ; BR IF NOT USER DETACHED JOB

                          05         0530       

                                     0531 15600 	SETBIT	PRC_V_MODE,PRC_W_FLAGS(R11) ; TELL CLI NOT AN INTERACTIVE JOB

         54 AB            06     E1  0536 15700 20$:	BBC	#PRC_V_MODE,PRC_W_FLAGS(R11),30$ ; BR IF INTERACTIVE JOB

                          05         053A       

                                     053B 15800 	SETBIT	PRC_V_VERIFY,PRC_W_FLAGS(R11) ; TURN ON VERIFY FOR BATCH JOBS

            50         0C AD     D0  0540 15900 30$:	MOVL	12(FP),R0		; LINK BACK THRU CALL STACK

            50   00000000'8F     C0  0544 16000 	ADDL	#EXE$C_CMSTKSZ,R0	; BACK OVER CHANGE MODE STACK FRAME

            60   00000000'9F     9E  054B 16100 	MOVAB	@#CLI$IMAGE,(R0)	; SET RETURN ADDRESS TO START OF CLI

                                 F0  0552 16200 	INSV	#<<PSL$C_SUPER@PSL$S_CURMOD>+PSL$C_SUPER>,-

                          0A         0553 16300 		#PSL$V_PRVMOD,-		; SET BOTH CURRENT AND PREVIOUS

            04            16         0554 16400 		#PSL$S_CURMOD*2,4(R0)	; MODES TO SUPERVISIOR

                       04 A0         0556       

            50            01     9A  0558 16500 	MOVZBL	#1,R0			; SET SUCESSFUL RETURN

                                 04  055B 16600 	RET				; GO BACK TO THAT MODE

                                     055C 16700 ;+

                                     055C 16800 ; LOCAL SUBROUTINE TO SET ACCOUNT NAME TO 0.  THIS IS USED TO INDICATE

                                     055C 16900 ; THAT LOGIN FAILURE HAS OCCURRED IN THE CASE THAT IT DOES.

                                     055C 17000 ;-

                                     055C 17100  

                               0000' 055C 17200 	.ENTRY	ZEROACNT,0		; ZERO THE ACCOUNT NAME FOR PROCESS

                 00000000'9F     7C  055E 17300 	CLRQ	@#CTL$T_ACCOUNT		; INDICATE NO ACCOUNT ASSIGNED

            50            01     D0  0564 17400 	MOVL	#1,R0			; SET SUCESSFUL STATUS

                                 04  0567 17500 	RET				; BACK TO PREVIOUS MODE

                                     0568 17600  

                                     0568 17700 ;+

                                     0568 17800 ; LGI$TERMPROC  -  TERMINATE THE PROCESS

                                     0568 17900 ;

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  16

01              PROCESS LOGIN SETUP ROUTINE                                                                                      (6)



                                     0568 18000 ; COMMON POINT FOR ALL PROCESS TERMINATIONS BY LOGIN/LOGOUT

                                     0568 18100 ;-

                                     0568 18200  

                                     0568 18300 LGI$TERMPROC::				;

                          01     DD  0568 18400 10$:	PUSHL	#1			; RUNDOWN PROCESS PERMANENT FILES

                          7E     D4  056A 18500 	CLRL	-(SP)			; NOT INTERESTED IN THE RESULT

   00000000'9F            02     FB  056C 18600 	CALLS	#2,@#SYS$RMSRUNDWN	; RUN DOWN ALL FILES

            F2            50     E9  0573 18700 	BLBC	R0,10$			; KEEP DOING IT UNTIL ALL FILES DONE

                                     0576 18800 	$EXIT_S	PRC_L_LSTSTATUS(R11)	; EXIT WITH LAST STATUS

                          E5     11  0581 18900 	BRB	LGI$TERMPROC		; LOOP IF CAN'T EXIT

                                     0583 19000  

                                     0583 19100 	.END	LOGIN_START

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  17

SYMBOL TABLE                                                                                                                     (6)



$$.TAB         = 000003D4 R     03   CLI$K_NUMERVAL = 00000040            CLI$V_INDIRECT = 00000004            

$$.TABEND      = 0000040C R     03   CLI$K_OUTPUT1  = 00000020            CLI$V_KEYVALU  = 00000001            

$$.TMP         = 00040044            CLI$K_OUTPUT2  = 00000021            CLI$V_LASTVAL  = 00000000            

$$.TMP1        = 00000001            CLI$K_OUTPUT3  = 00000022            CLI$V_MOREINP  = 00000002            

$$.TMP2        = 00000069            CLI$K_OUTPUT4  = 00000023            CLI$V_MOREVALS = 00000000            

$CLI.          = 0000012D R     03   CLI$K_OUTSPEC  = 00000002            CLI$V_PARMDEF  = 00000003            

$CLI..         = 00000149 R     03   CLI$K_PARDONE  = 00000003            CLI$V_PARMPRS  = 00000000            

BIT...         = 00000045            CLI$K_QDBITS     00000014            CLI$V_PARMREQ  = 00000000            

BRIEF            00000075 R     04   CLI$K_QUALDEF    00000014            CLI$V_PRITYP   = 00000004            

CHR_GETOKEN      ********   X   04   CLI$K_REQDESC    0000001C            CLI$V_QDEXPA   = 00000002            

CHR_NXTOKEN      ********   X   04   CLI$K_UTILOPR  = 00000000            CLI$V_QDUSRV   = 00000001            

CHR_SETNBLK      ********   X   04   CLI$K_VALCONV  = 00000004            CLI$V_QUALEXP  = 00000001            

CLI$A_ABSACT     00000014            CLI$K_WORKAREA   00000080            CLI$V_QUALTRU  = 00000000            

CLI$A_ERRACT     00000004            CLI$L_CLIFLAG    00000018            CLI$V_SUBTYP   = 00000000            

CLI$A_FLSACT     00000010            CLI$L_INIARGCNT  00000000            CLI$V_TRMVRBLV = 00000008            

CLI$A_IMGFILED   00000010            CLI$L_LINKFLAG   00000014            CLI$V_VERIFY   = 00000002            

CLI$A_IMGHDADR   0000000C            CLI$L_RQVALU     0000000C            CLI$V_VFYINP   = 00000005            

CLI$A_PROGXFER   00000004            CLI$L_USRVAL     00000014            CLI$W_QDVALSIZ   00000004            

CLI$A_PRSACT     00000010            CLI$L_WORKAREA   00000000            CLI$W_RQSIZE     00000008            

CLI$A_QDVALADR   00000008            CLI$M_ABSADR   = 00000002            CLI$W_SERVCOD    00000001            

CLI$A_QUALST     00000018            CLI$M_ALLOCCUR = 00000001            CLIDEV           00000276 R     03   

CLI$A_RQADDR     0000000C            CLI$M_BATCH    = 00000008            CMDNAM           0000004E R     04   

CLI$A_TRUACT     0000000C            CLI$M_CONCATINP= 00000002            CMDNAMDES        0000003E R     04   

CLI$A_UTILSERV   00000008            CLI$M_DBGEXCP  = 00010000            CMDNAMSIZ      = 0000000B            

CLI$B_BITNUM     00000001            CLI$M_DBGTRU   = 00000002            CTL$AG_CLIDATA   ********   X   04   

CLI$B_QDBLKSIZ   00000000            CLI$M_DEBUG    = 00000001            CTL$T_ACCOUNT    ********   X   04   

CLI$B_QDCODE     00000001            CLI$M_DUMMY    = 00000002            CTL$T_USERNAME   ********   X   04   

CLI$B_QDFLGS     00000002            CLI$M_EXPNAM   = 00000004            DISKNAM          00000046 R     04   

CLI$B_QDSTAT     00000003            CLI$M_INDIRECT = 00000010            DSKNAMSIZ      = 00000008            

CLI$B_RQFLGS     00000002            CLI$M_KEYVALU  = 00000002            ERREQUDES        000001D9 R     03   

CLI$B_RQINDX     00000001            CLI$M_LASTVAL  = 00000001            ERRMSGDEV        00000221 R     03   

CLI$B_RQSTAT     00000003            CLI$M_MOREINP  = 00000004            ERRNAMDES        00000036 R     04   

CLI$B_RQTYPE     00000000            CLI$M_MOREVALS = 00000001            ERRNAMSIZ      = 00000009            

CLI$C_QDBITS     00000014            CLI$M_PARMDEF  = 00000008            ERRORNAM         0000006C R     04   

CLI$C_QUALDEF    00000014            CLI$M_PARMPRS  = 00000001            ESC            = 0000001B            

CLI$C_REQDESC    0000001C            CLI$M_PARMREQ  = 00000001            EXE$C_CMSTKSZ    ********   X   04   

CLI$C_WORKAREA   00000080            CLI$M_QDEXPA   = 00000004            FAB$B_BID        00000000            

CLI$IMAGE        ********   X   03   CLI$M_QDUSRV   = 00000002            FAB$B_BKS        0000003E            

CLI$IMAGEEND     ********   X   03   CLI$M_QUALEXP  = 00000002            FAB$B_BLN        00000001            

CLI$K_ASCIIVAL = 00000041            CLI$M_QUALTRU  = 00000001            FAB$B_DNS        00000035            

CLI$K_CLISERV  = 00000005            CLI$M_TRMVRBLV = 00000300            FAB$B_FAC        00000016            

CLI$K_ENDPRM1  = 00000030            CLI$M_VERIFY   = 00000004            FAB$B_FNS        00000034            

CLI$K_ENDPRM2  = 00000031            CLI$M_VFYINP   = 00000020            FAB$B_FSZ        0000003F            

CLI$K_ENDPRM3  = 00000032            CLI$Q_QDVALDESC  00000004            FAB$B_ORG        0000001D            

CLI$K_ENDPRM4  = 00000033            CLI$Q_RQDESC     00000008            FAB$B_RAT        0000001E            

CLI$K_FILSPEC  = 00000044            CLI$S_PRITYP   = 00000004            FAB$B_RFM        0000001F            

CLI$K_GETCMD   = 00000001            CLI$S_SUBTYP   = 00000004            FAB$B_RTV        0000001C            

CLI$K_GETOPT   = 00000003            CLI$S_TRMVRBLV = 00000002            FAB$B_SHR        00000017            

CLI$K_GETQUAL  = 00000002            CLI$V_ABSADR   = 00000001            FAB$C_BID      = 00000003            

CLI$K_INITPRS  = 00000000            CLI$V_ALLOCCUR = 00000000            FAB$C_BLN        00000050            

CLI$K_INPSPEC  = 00000001            CLI$V_BATCH    = 00000003            FAB$C_FIX      = 00000001            

CLI$K_INPUT1   = 00000010            CLI$V_CONCATINP= 00000001            FAB$C_HSH      = 00000030            

CLI$K_INPUT2   = 00000011            CLI$V_DBGEXCP  = 00000010            FAB$C_IDX      = 00000020            

CLI$K_INPUT3   = 00000012            CLI$V_DBGTRU   = 00000001            FAB$C_MAXRFM   = 00000003            

CLI$K_INPUT4   = 00000013            CLI$V_DEBUG    = 00000000            FAB$C_REL      = 00000010            

CLI$K_KEYVAL   = 00000043            CLI$V_DUMMY    = 00000001            FAB$C_RFM_DFLT = 00000002            

CLI$K_KEYWORD  = 00000042            CLI$V_EXPNAM   = 00000002            FAB$C_SEQ      = 00000000            

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  18

SYMBOL TABLE                                                                                                                     (6)



FAB$C_UDF      = 00000000            FAB$M_SQO      = 00000040            FAB$V_TMD      = 00000004            

FAB$C_VAR      = 00000002            FAB$M_SUP      = 00000004            FAB$V_TMP      = 00000003            

FAB$C_VFC      = 00000003            FAB$M_TEF      = 10000000            FAB$V_TRN      = 00000004            

FAB$K_BLN        00000050            FAB$M_TMD      = 00000010            FAB$V_UFM      = 0000001A            

FAB$L_ALQ        00000010            FAB$M_TMP      = 00000008            FAB$V_UFO      = 00000011            

FAB$L_CTX        00000018            FAB$M_TRN      = 00000010            FAB$V_UPD      = 00000003            

FAB$L_DEV        00000040            FAB$M_UFM      = 04000000            FAB$V_UPI      = 00000006            

FAB$L_DNA        00000030            FAB$M_UFO      = 00020000            FAB$V_WCK      = 00000009            

FAB$L_FNA        0000002C            FAB$M_UPD      = 00000008            FAB$W_BLS        0000003C            

FAB$L_FOP        00000004            FAB$M_UPI      = 00000040            FAB$W_DEQ        00000014            

FAB$L_JNL        00000020            FAB$M_WCK      = 00000200            FAB$W_IFI        00000002            

FAB$L_MRN        00000038            FAB$S_ORG      = 00000004            FAB$W_MRS        00000036            

FAB$L_NAM        00000028            FAB$S_PPF_RAT  = 00000008            FULL             00000079 R     04   

FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            GBL...         = 00000000            

FAB$L_STS        00000008            FAB$V_BLK      = 00000003            GETCMD           0000012D R     03   

FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            GETNAM           00000398 R     04   

FAB$L_XAB        00000024            FAB$V_CBT      = 00000015            GETPSWD          000003DF R     04   

FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            IDF_K_LENGTH     0000005C            

FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            IDF_L_INPRABCTX  0000000C            

FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            IDF_L_ONCTLY     00000058            

FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            IDF_L_ONERROR    00000008            

FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            IDF_L_OUTRABCTX  00000010            

FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            IDF_Q_LABEL      0000001C            

FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            IDF_Q_LOCAL      00000014            

FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            IDF_T_INPDVI     00000034            

FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            IDF_T_OUTDVI     00000024            

FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            IDF_V_INPOPN   = 00000000            

FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001            IDF_W_FLAG       00000056            

FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            IDF_W_INPDID     0000004A            

FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            IDF_W_INPFID     00000044            

FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            IDF_W_INPIFI     00000000            

FAB$M_GET      = 00000002            FAB$V_MSE      = 00000004            IDF_W_INPRFA     00000050            

FAB$M_INP      = 00080000            FAB$V_MXV      = 00000001            IDF_W_ONLEVEL    00000006            

FAB$M_JNL      = 00400000            FAB$V_NAM      = 00000018            IDF_W_OUTIFI     00000002            

FAB$M_KFO      = 40000000            FAB$V_NEF      = 0000000A            IDF_W_OUTISI     00000004            

FAB$M_MSE      = 00000010            FAB$V_NFS      = 00000010            INIUSER          00000463 R     04   

FAB$M_MXV      = 00000002            FAB$V_NIL      = 00000005            INPBUF           0000002D R     03   

FAB$M_NAM      = 01000000            FAB$V_OFP      = 0000001D            INPDES           00000025 R     03   

FAB$M_NEF      = 00000400            FAB$V_ORG      = 00000004            INPEQUDES        00000149 R     03   

FAB$M_NFS      = 00010000            FAB$V_POS      = 00000008            INPNAM           0000000C R     04   

FAB$M_NIL      = 00000020            FAB$V_PPF      = 00000012            INPNAMSIZ      = 00000009            

FAB$M_OFP      = 20000000            FAB$V_PPF_IND  = 0000000E            INPUTNAM         00000059 R     04   

FAB$M_POS      = 00000100            FAB$V_PPF_RAT  = 00000006            INTACT           000002FE R     04   

FAB$M_PPF      = 00040000            FAB$V_PRN      = 00000002            LGI$CHK_JOBCNT   ********   X   04   

FAB$M_PPF_IND  = 00004000            FAB$V_PUT      = 00000000            LGI$EXCPTN       ********   X   04   

FAB$M_PPF_RAT  = 00003FC0            FAB$V_RCK      = 00000017            LGI$FATAL        ********   X   04   

FAB$M_PRN      = 00000004            FAB$V_RWC      = 0000000B            LGI$GETOPT       ********   X   04   

FAB$M_PUT      = 00000001            FAB$V_RWO      = 00000007            LGI$G_OUTFAB     00000384 RG    03   

FAB$M_RCK      = 00800000            FAB$V_SCF      = 0000000E            LGI$G_SECPAR     0000023E RG    03   

FAB$M_RWC      = 00000800            FAB$V_SHRDEL   = 00000002            LGI$G_UAFREC     000002C9 RG    03   

FAB$M_RWO      = 00000080            FAB$V_SHRGET   = 00000001            LGI$INICLI       ********   X   04   

FAB$M_SCF      = 00004000            FAB$V_SHRPUT   = 00000000            LGI$INIDET       ********   X   04   

FAB$M_SHRDEL   = 00000004            FAB$V_SHRUPD   = 00000003            LGI$INPDES       00000025 RG    03   

FAB$M_SHRGET   = 00000002            FAB$V_SPL      = 0000000D            LGI$K_BUFSIZ   = 00000100            

FAB$M_SHRPUT   = 00000001            FAB$V_SQO      = 00000006            LGI$K_WORK       00000114            

FAB$M_SHRUPD   = 00000008            FAB$V_SUP      = 00000002            LGI$LINEIN       ********   X   04   

FAB$M_SPL      = 00002000            FAB$V_TEF      = 0000001C            LGI$LOGOUTMSG    ********   X   04   

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  19

SYMBOL TABLE                                                                                                                     (6)



LGI$L_PREVHAND   00000004            NAM$C_MAXRSSLCL= 00000060            NAM$V_WILD_MBR = 00000019            

LGI$L_SAVSP      00000010            NAM$K_BLN        00000038            NAM$V_WILD_NAME= 00000005            

LGI$L_SECFLGS    0000024A RG    03   NAM$K_BLN_DIRWC  00000050            NAM$V_WILD_SFD1= 00000019            

LGI$MSGOUT       ********   X   04   NAM$L_DIRWCC1    00000040            NAM$V_WILD_SFD2= 0000001A            

LGI$NETWORK      ********   X   04   NAM$L_DIRWCC2    00000044            NAM$V_WILD_SFD3= 0000001B            

LGI$NXTINP       ********   X   04   NAM$L_DIRWCC3    00000048            NAM$V_WILD_SFD4= 0000001C            

LGI$Q_CLINAM     00000266 RG    03   NAM$L_DIRWCC4    0000004C            NAM$V_WILD_SFD5= 0000001D            

LGI$Q_DSKDES     0000001E RG    04   NAM$L_DWC        00000038            NAM$V_WILD_SFD6= 0000001E            

LGI$Q_FILNAM     0000026E RG    03   NAM$L_ESA        0000000C            NAM$V_WILD_SFD7= 0000001F            

LGI$Q_INADR      0000022E RG    03   NAM$L_FNB        00000034            NAM$V_WILD_TYPE= 00000004            

LGI$Q_INPNAM     00000026 RG    04   NAM$L_RLF        00000010            NAM$V_WILD_UFD = 00000018            

LGI$Q_IOSB       00000008            NAM$L_RSA        00000004            NAM$V_WILD_VER = 00000003            

LGI$Q_RETADR     00000236 RG    03   NAM$L_WCC        00000030            NAM$W_DID        0000002A            

LGI$Q_SYSEDSC    000001D9 RG    03   NAM$M_DIR_LVLS = 00E00000            NAM$W_DID_NUM    0000002A            

LGI$Q_SYSODSC    00000191 RG    03   NAM$M_EXP_DEV  = 00000080            NAM$W_DID_RVN    0000002E            

LGI$Q_UAFREC     00000000 RG    04   NAM$M_EXP_DIR  = 00000040            NAM$W_DID_SEQ    0000002C            

LGI$SEARCHUSER   ********   X   04   NAM$M_EXP_NAME = 00000004            NAM$W_FID        00000024            

LGI$TERMPROC     00000568 RG    04   NAM$M_EXP_TYPE = 00000002            NAM$W_FID_NUM    00000024            

LGI$TYPOUT       ********   X   04   NAM$M_EXP_VER  = 00000001            NAM$W_FID_RVN    00000028            

LGI$T_ACNTNAM    000002B9 RG    03   NAM$M_GRP_MBR  = 00080000            NAM$W_FID_SEQ    00000026            

LGI$T_CLIFIL     00000281 RG    03   NAM$M_HIGHVER  = 00008000            NAM$W_PRV_DID    0000003A            

LGI$T_CLINAM     0000028D RG    03   NAM$M_LOWVER   = 00004000            OUTEQUDES        00000191 R     03   

LGI$T_DSKNAM     0000029D RG    03   NAM$M_NODE     = 00020000            OUTNAM           000003D4 R     03   

LGI$T_USERNAM    000002AD RG    03   NAM$M_PPF      = 00010000            OUTNAMDES        0000002E R     04   

LGI$T_WRKBUF     00000014            NAM$M_QUOTED   = 00040000            OUTNAMSIZ      = 0000000A            

LGI$VALIDATE     ********   X   04   NAM$M_WILDCARD = 00000100            OUTPUTNAM        00000062 R     04   

LGI$W_FLAGS      00000000            NAM$M_WILD_DIR = 00100000            PCB$B_ASTACT     0000000C            

LGI$W_MBCHAN     00000002            NAM$M_WILD_GRP = 01000000            PCB$B_ASTEN      0000000D            

LGI_M_CONTU    = 00000001            NAM$M_WILD_MBR = 02000000            PCB$B_PRI        0000000B            

LGI_M_DELSEC   = 00000010            NAM$M_WILD_NAME= 00000020            PCB$B_PRIB       00000033            

LGI_M_FULMSG   = 00000020            NAM$M_WILD_SFD1= 02000000            PCB$B_TYPE       0000000A            

LGI_M_NOACNT   = 00000002            NAM$M_WILD_SFD2= 04000000            PCB$B_WEFC       00000032            

LGI_M_SETDEF   = 00000004            NAM$M_WILD_SFD3= 08000000            PCB$C_LENGTH     0000007C            

LGI_M_SUBPRC   = 00000008            NAM$M_WILD_SFD4= 10000000            PCB$K_LENGTH     0000007C            

LGI_V_CONTU    = 00000000            NAM$M_WILD_SFD5= 20000000            PCB$L_ASTQBL     00000014            

LGI_V_DELSEC   = 00000004            NAM$M_WILD_SFD6= 40000000            PCB$L_ASTQFL     00000010            

LGI_V_FULMSG   = 00000005            NAM$M_WILD_SFD7= 80000000            PCB$L_EFC2P      00000058            

LGI_V_NOACNT   = 00000001            NAM$M_WILD_TYPE= 00000010            PCB$L_EFC3P      0000005C            

LGI_V_SETDEF   = 00000002            NAM$M_WILD_UFD = 01000000            PCB$L_EFCS       00000050            

LGI_V_SUBPRC   = 00000003            NAM$M_WILD_VER = 00000008            PCB$L_EFCU       00000054            

LOGIN            000001FE R     04   NAM$S_DIR_LVLS = 00000003            PCB$L_EFWM       0000004C            

LOGIN_START      00000095 RG    04   NAM$T_DVI        00000014            PCB$L_OWNER      0000001C            

LOGOUT           00000150 R     04   NAM$V_DIR_LVLS = 00000015            PCB$L_PHD        00000064            

LOGTYP           00000008 R     04   NAM$V_EXP_DEV  = 00000007            PCB$L_PHYPCB     00000018            

LOG_PROCESS    = 00000002            NAM$V_EXP_DIR  = 00000006            PCB$L_PID        00000060            

NAM$B_BID        00000000            NAM$V_EXP_NAME = 00000002            PCB$L_PQB        0000004C            

NAM$B_BLN        00000001            NAM$V_EXP_TYPE = 00000001            PCB$L_SQBL       00000004            

NAM$B_CURLVL     00000038            NAM$V_EXP_VER  = 00000000            PCB$L_SQFL       00000000            

NAM$B_ESL        0000000B            NAM$V_GRP_MBR  = 00000013            PCB$L_STS        00000028            

NAM$B_ESS        0000000A            NAM$V_HIGHVER  = 0000000F            PCB$L_UIC        00000020            

NAM$B_RSL        00000003            NAM$V_LOWVER   = 0000000E            PCB$L_WSSWP      00000024            

NAM$B_RSS        00000002            NAM$V_NODE     = 00000011            PCB$L_WTIME      0000002C            

NAM$C_BID      = 00000002            NAM$V_PPF      = 00000010            PCB$T_LNAME      0000006C            

NAM$C_BLN        00000038            NAM$V_QUOTED   = 00000012            PCB$V_ASTPEN   = 00000011            

NAM$C_BLN_DIRWC  00000050            NAM$V_WILDCARD = 00000008            PCB$V_BATCH    = 0000000E            

NAM$C_DVI      = 00000010            NAM$V_WILD_DIR = 00000014            PCB$V_DELPEN   = 00000001            

NAM$C_MAXRSS   = 00000080            NAM$V_WILD_GRP = 00000018            PCB$V_FORCPEN  = 00000002            

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  20

SYMBOL TABLE                                                                                                                     (6)



PCB$V_HIBER    = 00000013            PRC_L_EXTHND     00000074            PRC_W_ONLEVEL    00000056            

PCB$V_INQUAN   = 00000003            PRC_L_EXTPRM     0000007C            PRD_G_ALTINPRAB  000000CC            

PCB$V_LOGIN    = 00000014            PRC_L_INDEPTH    00000048            PRD_G_ALTOUTRAB  00000110            

PCB$V_NETWRK   = 00000015            PRC_L_INDFAB     0000001C            PRD_G_FAB        00000000            

PCB$V_NOACNT   = 0000000F            PRC_L_INDINPRAB  00000014            PRD_G_INPRAB     00000088            

PCB$V_NODELET  = 00000017            PRC_L_INDOUTRAB  00000018            PRD_G_NAM        00000050            

PCB$V_PHDRES   = 00000012            PRC_L_INPRAB     00000008            PRD_G_OUTRAB     00000154            

PCB$V_PSWAPM   = 00000004            PRC_L_LSTSTATUS  00000094            PRD_K_LENGTH     00000198            

PCB$V_PWRAST   = 00000016            PRC_L_ONCTLY     0000009C            PRD_K_XLENGTH    000001B8            

PCB$V_RES      = 00000000            PRC_L_ONERROR    00000058            PRD_T_OUTFNM     000001A4            

PCB$V_RESPEN   = 00000005            PRC_L_OUTRAB     0000000C            PRD_W_OUTDID     0000019E            

PCB$V_SSFEXC   = 00000006            PRC_L_PROCUIC    00000098            PRD_W_OUTFID     00000198            

PCB$V_SSFEXCE  = 00000007            PRC_L_SAVAP      00000000            PRMPTSIZ       = 0000000C            

PCB$V_SSFEXCS  = 00000008            PRC_L_SAVFP      00000004            PROMPT           00000089 R     04   

PCB$V_SSFEXCU  = 00000009            PRC_L_SEVERITY   00000040            PSL$C_EXEC     = 00000001            

PCB$V_SSRWAIT  = 0000000A            PRC_L_STACKLM    00000088            PSL$C_KERNEL   = 00000000            

PCB$V_SUSPEN   = 0000000B            PRC_L_STACKPT    00000084            PSL$C_SUPER    = 00000002            

PCB$V_SWPVBN   = 00000010            PRC_L_STATUS     00000044            PSL$C_USER     = 00000003            

PCB$V_WAKEPEN  = 0000000C            PRC_L_SYMBOL     0000004C            PSL$M_CM       = 80000000            

PCB$V_WALL     = 0000000D            PRC_M_CNTRLY   = 00000002            PSL$M_CURMOD   = 03000000            

PCB$W_APTCNT     00000034            PRC_M_DBGQUAL  = 00000200            PSL$M_DV       = 00000080            

PCB$W_ASTCNT     0000003C            PRC_M_DBGTRUE  = 00000400            PSL$M_FPD      = 08000000            

PCB$W_BIOCNT     0000003E            PRC_M_DISABL   = 00000004            PSL$M_FU       = 00000040            

PCB$W_BIOLM      00000040            PRC_M_EXIT     = 00000008            PSL$M_IPL      = 001F0000            

PCB$W_BYTCNT     00000042            PRC_M_GOEOF    = 00000001            PSL$M_IS       = 04000000            

PCB$W_BYTLM      00000068            PRC_M_GOTO     = 00000010            PSL$M_IV       = 00000020            

PCB$W_DIOCNT     00000044            PRC_M_HANGUP   = 00001000            PSL$M_PRVMOD   = 00C00000            

PCB$W_DIOLM      00000046            PRC_M_IND      = 00000020            PSL$M_SAFBITS  = 000037FF            

PCB$W_FILCNT     00000048            PRC_M_MODE     = 00000040            PSL$M_TBIT     = 00000010            

PCB$W_GPGCNT     00000038            PRC_M_NOCTLY   = 00004000            PSL$M_TP       = 40000000            

PCB$W_GRP        00000022            PRC_M_PAUSE    = 00002000            PSL$S_CURMOD   = 00000002            

PCB$W_MEM        00000020            PRC_M_USRDET   = 00000100            PSL$S_IPL      = 00000005            

PCB$W_MTXCNT     0000000E            PRC_M_VERIFY   = 00000080            PSL$S_PRVMOD   = 00000002            

PCB$W_PPGCNT     0000003A            PRC_M_YLEVEL   = 00000800            PSL$V_CM       = 0000001F            

PCB$W_PRCCNT     0000006A            PRC_Q_ALLOCREG   00000020            PSL$V_CURMOD   = 00000018            

PCB$W_SIZE       00000008            PRC_Q_GLOBAL     00000028            PSL$V_DV       = 00000007            

PCB$W_STATE      00000030            PRC_Q_LABEL      00000030            PSL$V_FPD      = 0000001B            

PCB$W_TMBU       00000036            PRC_Q_LOCAL      00000038            PSL$V_FU       = 00000006            

PCB$W_TQCNT      0000004A            PRC_V_CNTRLY   = 00000001            PSL$V_IPL      = 00000010            

PPFERR           0000030A R     04   PRC_V_DBGQUAL  = 00000009            PSL$V_IS       = 0000001A            

PRC_B_DEFRADIX   00000092            PRC_V_DBGTRUE  = 0000000A            PSL$V_IV       = 00000005            

PRC_B_EXMDEPMOD  00000091            PRC_V_DISABL   = 00000002            PSL$V_PRVMOD   = 00000016            

PRC_B_EXMDEPWID  00000090            PRC_V_EXIT     = 00000003            PSL$V_TBIT     = 00000004            

PRC_K_DEC      = 00000001            PRC_V_GOEOF    = 00000000            PSL$V_TP       = 0000001E            

PRC_K_HEX      = 00000000            PRC_V_GOTO     = 00000004            RAB$B_BID        00000000            

PRC_K_LENGTH     000000A0            PRC_V_HANGUP   = 0000000C            RAB$B_BLN        00000001            

PRC_K_OCT      = 00000002            PRC_V_IND      = 00000005            RAB$B_KRF        00000035            

PRC_L_CLIWRK0    0000005C            PRC_V_MODE     = 00000006            RAB$B_KSZ        00000034            

PRC_L_CLIWRK1    00000060            PRC_V_NOCTLY   = 0000000E            RAB$B_MBC        00000037            

PRC_L_CLIWRK2    00000064            PRC_V_PAUSE    = 0000000D            RAB$B_MBF        00000036            

PRC_L_CLIWRK3    00000068            PRC_V_USRDET   = 00000008            RAB$B_PSZ        00000034            

PRC_L_CLIWRK4    0000006C            PRC_V_VERIFY   = 00000007            RAB$B_RAC        0000001E            

PRC_L_ERRRAB     00000010            PRC_V_YLEVEL   = 0000000B            RAB$B_ROP1       00000005            

PRC_L_EXMDEPADR  0000008C            PRC_W_CLIFLAG    00000052            RAB$B_ROP2       00000006            

PRC_L_EXTARG     00000078            PRC_W_ERRIFI     00000052            RAB$B_ROP3       00000007            

PRC_L_EXTBLK     00000070            PRC_W_FLAGS      00000054            RAB$B_TMO        0000001F            

PRC_L_EXTCOD     00000080            PRC_W_INPCHAN    00000050            RAB$C_BID      = 00000001            

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  21

SYMBOL TABLE                                                                                                                     (6)



RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            UAF$T_DEFCLI     0000004C            

RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            UAF$T_DEFDEV     0000003C            

RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            UAF$T_DEFDIR     0000001C            

RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            UAF$T_LGICMD     00000090            

RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            UAF$T_OWNER      00000074            

RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            UAF$T_USERNAME   00000000            

RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            UAF$V_DEFCLI   = 00000001            

RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            UAF$V_DISCTLY  = 00000000            

RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            UAF$W_ASTLM      00000070            

RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            UAF$W_BIOLM      00000060            

RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            UAF$W_BYTLM      00000062            

RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            UAF$W_DFWSCNT    0000006E            

RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            UAF$W_DIOLM      00000064            

RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            UAF$W_FILLM      00000066            

RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            UAF$W_FILPRT     00000088            

RAB$L_STS        00000008            RAB$V_TPT      = 00000001            UAF$W_GRP        0000001A            

RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            UAF$W_MEM        00000018            

RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            UAF$W_PGFLQUOTA  00000072            

RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            UAF$W_PRCCNT     0000006A            

RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            UAF$W_TQCNT      00000068            

RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            UAF$W_WSQUOTA    0000006C            

RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            USRNAM           0000007D R     04   

RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            USRNAMSIZ      = 0000000C            

RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            VERSION          0000001D R     03   

RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            ZEROACNT         0000055C RG    04   

RAB$M_KGE      = 00200000            SCH$GL_CURPCB    ********   X   04   _$$_           = 000000EF            

RAB$M_KGT      = 00400000            SEC$M_GBL        ********   X   03   

RAB$M_LIM      = 00004000            SEC$M_PERM       ********   X   03   

RAB$M_LOA      = 00002000            SEC$M_SYSGBL     ********   X   03   

RAB$M_LOC      = 00010000            SETJOB           0000030B R     04   

RAB$M_MAS      = 00000020            SETLOG           000004A0 R     04   

RAB$M_NLK      = 00100000            SETNAM           00000454 R     04   

RAB$M_NXR      = 00800000            STRCLI           00000517 R     04   

RAB$M_PMT      = 40000000            SUCMSG           00000000 R     03   

RAB$M_PPF_IND  = 00004000            SYS$CLOSE        ********  GX   04   

RAB$M_PPF_RAT  = 00003FC0            SYS$CMEXEC       ********   X   04   

RAB$M_PTA      = 20000000            SYS$CMKRNL       ********   X   04   

RAB$M_RAH      = 00000200            SYS$CONNECT      ********  GX   04   

RAB$M_RLK      = 00080000            SYS$CREATE       ********  GX   04   

RAB$M_RNE      = 01000000            SYS$CRELOG       ********   X   04   

RAB$M_RNF      = 08000000            SYS$EXIT         ********   X   04   

RAB$M_TMO      = 02000000            SYS$GQ_VERSION   ********   X   04   

RAB$M_TPT      = 00000002            SYS$OPEN         ********  GX   04   

RAB$M_UIF      = 00000010            SYS$RMSRUNDWN    ********   X   04   

RAB$M_ULK      = 00040000            SYS$SETEXV       ********   X   04   

RAB$M_WAT      = 00020000            SYS$TRNLOG       ********   X   04   

RAB$M_WBH      = 00000400            TRNAMES          00000010 R     04   

RAB$S_PPF_RAT  = 00000008            UAF$B_FLAGS      0000008B            

RAB$V_ASY      = 00000000            UAF$B_PRI        0000008A            

RAB$V_BIO      = 0000000B            UAF$C_LENGTH     000000B8            

RAB$V_CCO      = 0000001F            UAF$K_LENGTH     000000B8            

RAB$V_CVT      = 0000001A            UAF$L_CPUTIM     00000054            

RAB$V_EOF      = 00000008            UAF$L_LEVEL      0000008C            

RAB$V_FDL      = 00000006            UAF$L_PWD        0000000C            

RAB$V_HSH      = 00000007            UAF$L_UIC        00000018            

RAB$V_KGE      = 00000015            UAF$Q_PRIV       00000058            

RAB$V_KGT      = 00000016            UAF$T_ACCOUNT    00000010            

LOGIN           - LOGIN IMAGE                                    22-AUG-1978 00:32:18   VAX-11 MACRO X0.3-11               Page  22

PROGRAM SECTION SYNOPSIS                                                                                                         (6)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            000001B8      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

RWDATA           0000040C      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT LONG  

PURE             00000583      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

422. BYTES LEFT IN FREE MEMORY POOL.

52. BYTES OF RECLAIMED MEMORY.

OBJ$:LOGIN,LIS$:LOGIN/-SP=EXECML$/ML,LIB$:LOGIN/ML,SRC$:LOGIN

171 MLB DIR RDS - 1326 GETS TO DEFINE 55 MACROS. 102 INTER. FILE WRITES. 

