VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      42  DECLARATIONS

   (3)      89  VALIDATE_USER - subroutine to lookup username

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	VALIDATE_USER - routine to validate user and return UAF record

                                     0000     2 	.IDENT	/01/

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

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

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

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

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

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

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

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

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

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

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

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

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

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ; FACILITY: System Subprogram

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:

                                     0000    27 ;

                                     0000    28 ;	Lookup the supplied username in the authorization file.  Validate

                                     0000    29 ;	the password, and return the record if so, else return the

                                     0000    30 ;	default values.

                                     0000    31 ;

                                     0000    32 ; ENVIRONMENT:

                                     0000    33 ;

                                     0000    34 ; AUTHOR: Henry M. Levy	, CREATION DATE: 10-Sep-1977

                                     0000    35 ;

                                     0000    36 ; MODIFIED BY:

                                     0000    37 ;

                                     0000    38 ;	, : VERSION

                                     0000    39 ; 01	- 

                                     0000    40 ;--

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   2

01              DECLARATIONS                                                                                                     (2)



                                     0000    42 	.SBTTL	DECLARATIONS

                                     0000    43 ;

                                     0000    44 ; INCLUDE FILES:

                                     0000    45 ;

                                     0000    46 

                                     0000    47 ;

                                     0000    48 ; MACROS:

                                     0000    49 ;

                                     0000    50 

                                     0000    51 	$FABDEF				; define FAB

                                     0000    52 	$RABDEF				; define RAB

                                     0000    53 	$SSDEF				; define status codes

                                     0000    54 	$UAFDEF				; define authorization file offsets

                                     0000    55 

                                     0000    56 ;

                                     0000    57 ; EQUATED SYMBOLS:

                                     0000    58 ;

                                     0000    59 

                           00000004  0000    60 	NAMEDSC = 4			; offset to username descriptor

                           00000008  0000    61 	PWDDSC = 8			; offset to password string descriptor

                           0000000C  0000    62 	BUFDSC = 12			; offset oto user buffer descriptor

                                     0000    63 

                                     0000    64 ;****TEMP

                           00000001  0000    65 	UAF$_NORMAL = 1

                           FFFFFFFE  0000    66 	UAF$_INVUSR = -2

                           FFFFFFFC  0000    67 	UAF$_INVPWD = -4

                                     0000    68 

                                     0000    69 ;

                                     0000    70 ; OWN STORAGE:

                                     0000    71 ;

                                 00000000    72 	.PSECT	_LIB$CODE	RD,NOWRT,BYTE,EXE

                                     0000    73 ;

                                     0000    74 ; UAF file name string

                                     0000    75 ;

                                     0000    76 

                  46 41 55 53 59 53  0000    77 UAFNAME:	.ASCII	/SYSUAF/

                           00000006  0006    78 UAFSIZE=.-UAFNAME

                                     0006    79 

2E 3A 4D 45 54 53 59 53 24 53 59 53  0006    80 DEFNAME:	.ASCII	/SYS$SYSTEM:.DAT/

                           54 41 44  0012       

                           0000000F  0015    81 DEFSIZE=.-DEFNAME

                                     0015    82 

                                     0015    83 ;

                                     0015    84 ; Default username

                                     0015    85 ;

                                     0015    86 

20 20 20 20 20 54 4C 55 41 46 45 44  0015    87 DEFUSER:	.ASCII /DEFAULT     /

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   3

01              VALIDATE_USER - subroutine to lookup username                                                                    (3)



                                     0021    89 	.SBTTL	VALIDATE_USER - subroutine to lookup username

                                     0021    90 

                                     0021    91 ;++

                                     0021    92 ;

                                     0021    93 ; FUNCTIONAL DESCRIPTION:

                                     0021    94 ;

                                     0021    95 ;	Routine to lookup the username in the SYSUAF file, optionally 

                                     0021    96 ;	validate the password, and return the UAF record.

                                     0021    97 ;

                                     0021    98 ; CALLING SEQUENCE:

                                     0021    99 ;

                                     0021   100 ;	CALLS OR CALLG

                                     0021   101 ;

                                     0021   102 ; INPUTS:

                                     0021   103 ;

                                     0021   104 ;	NAMEDSC - address of the string descriptor for the username string

                                     0021   105 ;	PWDDSC - address of the string descriptor for the password string

                                     0021   106 ;	BUFDSC - address of the buffer descriptor for the user's buffer

                                     0021   107 ;		 to receive the UAF record.

                                     0021   108 ;

                                     0021   109 ; IMPLICIT INPUTS:

                                     0021   110 ;

                                     0021   111 ;	none

                                     0021   112 ;

                                     0021   113 ; OUTPUTS:

                                     0021   114 ;

                                     0021   115 ;	The buffer described by BUFDSC receives the user's record if

                                     0021   116 ;	the username string is found and the password is valid.  If

                                     0021   117 ;	the username string is not found, then the default record is

                                     0021   118 ;	returned.

                                     0021   119 ;

                                     0021   120 ; IMPLICIT OUTPUTS:

                                     0021   121 ;

                                     0021   122 ;	none

                                     0021   123 ;

                                     0021   124 ; ROUTINE VALUE:

                                     0021   125 ;

                                     0021   126 ;	UAF$_NORMAL - username and password ok

                                     0021   127 ;	UAF$_INVPWD - password not valid

                                     0021   128 ;	UAF$_INVUSR - Username not valid

                                     0021   129 ;	RMS error code - error on UAF file

                                     0021   130 ;

                                     0021   131 ; SIDE EFFECTS:

                                     0021   132 ;

                                     0021   133 ;	none

                                     0021   134 ;--

                                     0021   135 

                                     0021   136 

                                     0021   137 ;

                                     0021   138 ; Register Usage:

                                     0021   139 ;	R4 - username string address

                                     0021   140 ;	R5 - user buffer address

                                     0021   141 ;	R6 - FAB address

                                     0021   142 ;	R7 - RAB address

                                     0021   143 ;

                                     0021   144 	.ENABL	LSB

                                     0021   145  

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   4

01              VALIDATE_USER - subroutine to lookup username                                                                    (3)



                                     0021   146 LGI$SEARCHUSER::			; find the user authorization record

                               00FC  0021   147 	.WORD	^M<R2,R3,R4,R5,R6,R7>	; entry save amsk

                          7E     D4  0023   148 	CLRL	-(SP)			; set search only flag

                          04     11  0025   149 	BRB	5$			; enter common code

                                     0027   150  

                                     0027   151 LGI$VALIDATE::				; find record and check password

                               00FC  0027   152 	.WORD	^M<R2,R3,R4,R5,R6,R7>	; save mask

                          01     DD  0029   153 	PUSHL	#1			; set validate flag

            56         B0 AE     9E  002B   154 5$:	MOVAB	-FAB$K_BLN(SP),R6	; allocate a FAB in the stack

            57         BC A6     9E  002F   155 	MOVAB	-RAB$K_BLN(R6),R7	; then a RAB

            5E            57     D0  0033   156 	MOVL	R7,SP			; now create the space

            6E            00     2C  0036   157 	MOVC5	#0,(SP),#0,#FAB$K_BLN+RAB$K_BLN,(SP) ; zero FAB and RAB

       0094 8F            00         0039       

                          6E         003D       

                                     003E   158 	ASSUME	FAB$B_BLN EQ FAB$B_BID+1 ; check for byte adjacency

                                 B0  003E   159 	MOVW	#FAB$K_BLN@8!FAB$C_BID,- ; set block length and block ID-

            66       5003 8F         003F   160 		FAB$B_BID(R6)		; values into proper fields of FAB

         2C A6         BA AF     DE  0043   161 	MOVAL	UAFNAME,FAB$L_FNA(R6)	; insert file name address

         34 A6            06     90  0048   162 	MOVB	#UAFSIZE,FAB$B_FNS(R6)	; insert file name size

         30 A6         B7 AF     DE  004C   163 	MOVAL	DEFNAME,FAB$L_DNA(R6)	; insert default file name address

         35 A6            0F     90  0051   164 	MOVB	#DEFSIZE,FAB$B_DNS(R6)	; insert default name size

                                     0055   165 	SETBIT	FAB$V_GET,FAB$B_FAC(R6)	; get access only

                                     0059   166 	ASSUME	RAB$B_BLN EQ RAB$B_BID+1 ; check for byte adjacency

                                 B0  0059   167 	MOVW	#RAB$K_BLN@8!RAB$C_BID,- ; set block length and block ID-

            67       4401 8F         005A   168 		RAB$B_BID(R7)		; values into proper fields of RAB

                                     005E   169 	ASSUME	RAB$C_SEQ EQ 0		; check that zero RAB is sequential I/O

                                     005E   170 ; ***	MOVB	#RAB$C_SEQ,RAB$B_RAC(R7) ; sequential access

         37 A7            0A     90  005E   171 	MOVB	#10,RAB$B_MBC(R7)	; multi-block reads

            55         0C AC     D0  0062   172 	MOVL	BUFDSC(AP),R5		; get user descriptor address

         20 A7            65     B0  0066   173 	MOVW	(R5),RAB$W_USZ(R7)	; user buffer size

            55         04 A5     D0  006A   174 	MOVL	4(R5),R5		; save buffer address in R5

         24 A7            55     D0  006E   175 	MOVL	R5,RAB$L_UBF(R7)	; put user buffer address in rab

         3C A7            66     DE  0072   176 	MOVAL	(R6),RAB$L_FAB(R7)	; insert FAB address

            54         04 AC     D0  0076   177 	MOVL	NAMEDSC(AP),R4		; get username descriptor addr

            54         04 A4     D0  007A   178 	MOVL	4(R4),R4		; get username string address

                                     007E   179 

                                     007E   180 ;

                                     007E   181 ; Open the File and connect RAB

                                     007E   182 ;

                                     007E   183 

                                     007E   184 	$OPEN	FAB=(R6)

            71            50     E9  0087   185 	BLBC	R0,EXIT			; exit on error

                                     008A   186 	$CONNECT RAB=(R7)		; connect RAB to FAB

            65            50     E9  0093   187 	BLBC	R0,EXIT			; exit on error

                                     0096   188 

                                     0096   189 ;

                                     0096   190 ; Check for DEFAULT user name and deny access if a match occurs.

                                     0096   191 ;

                                     0096   192 

            64         04 BC     2D  0096   193 	CMPC5	@NAMEDSC(AP),(R4),#^A\ \,#12,DEFUSER

            0C            20         009A       

                     FF76 CF         009C       

                          41     13  009F   194 	BEQL	50$

                                     00A1   195 

                                     00A1   196 20$:	$GET	RAB=(R7)		; get next record

            2C            50     E9  00AA   197 	BLBC	R0,40$			; exit loop on error

                                     00AD   198 

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   5

01              VALIDATE_USER - subroutine to lookup username                                                                    (3)



                                     00AD   199 ;

                                     00AD   200 ; Check the supplied username 

                                     00AD   201 ;

                                     00AD   202 

            64         04 BC     2D  00AD   203 	CMPC5	@NAMEDSC(AP),(R4),#32,#12,UAF$T_USERNAME(R5)

            0C            20         00B1       

                          65         00B3       

                          EB     12  00B4   204 	BNEQ	20$			; look again if no match

                       FC AD     D5  00B6   205 	TSTL	-4(FP)			; is this a validate of search?

                          10     13  00B9   206 	BEQL	25$			; br if search only

                       08 AC     DD  00BB   207 	PUSHL	PWDDSC(AP)		; push argument

   00000000'EF            01     FB  00BE   208 	CALLS	#1,LGI$HPWD		; mash password

         0C A5            50     D1  00C5   209 	CMPL	R0,UAF$L_PWD(R5)	; password's match?

                          05     12  00C9   210 	BNEQ	30$			; branch if bad password

            50            01     D0  00CB   211 25$:	MOVL	#UAF$_NORMAL,R0		; good return

                          2B     11  00CE   212 	BRB	EXIT

            50   FFFFFFFC 8F     D0  00D0   213 30$:	MOVL	#UAF$_INVPWD,R0		; bad password specified

                          22     11  00D7   214 	BRB	EXIT

                                     00D9   215 

                                     00D9   216 40$:

                                     00D9   217 

                                     00D9   218 ;

                                     00D9   219 ; Error on get.  If its EOF then user not found.  Load default

                                     00D9   220 ; record into user buffer.

                                     00D9   221 ;

                                     00D9   222 

   00000000'8F            50     D1  00D9   223 	CMPL	R0,#RMS$_EOF		; was this EOF?

                          19     12  00E0   224 	BNEQ	EXIT			; exit with error if not

                                     00E2   225 50$:	$REWIND	RAB=(R7)		; rewind to default record

                                     00EB   226 	$GET	RAB=(R7)

            50   FFFFFFFE 8F     D0  00F4   227 	MOVL	#UAF$_INVUSR,R0		; load status code

                                     00FB   228 EXIT:

                          50     DD  00FB   229 	PUSHL	R0			; save status

                                     00FD   230 	$DISCONNECT	RAB=(R7)	; clean up shop

                                     0106   231 	$CLOSE		FAB=(R6)	;

                          50   8ED0  010F   232 	POPL	R0

                                 04  0112   233 	RET				; return

                                     0113   234 

                                     0113   235 	.END

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   6

SYMBOL TABLE                                                                                                                     (3)



$$.TMP1        = 00000001            FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            

$$.TMP2        = 00000066            FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            

BIT...         = 00000002            FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            

BUFDSC         = 0000000C            FAB$M_GET      = 00000002            FAB$V_MSE      = 00000004            

DEFNAME          00000006 R     03   FAB$M_INP      = 00080000            FAB$V_MXV      = 00000001            

DEFSIZE        = 0000000F            FAB$M_JNL      = 00400000            FAB$V_NAM      = 00000018            

DEFUSER          00000015 R     03   FAB$M_KFO      = 40000000            FAB$V_NEF      = 0000000A            

EXIT             000000FB R     03   FAB$M_MSE      = 00000010            FAB$V_NFS      = 00000010            

FAB$B_BID        00000000            FAB$M_MXV      = 00000002            FAB$V_NIL      = 00000005            

FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            FAB$V_OFP      = 0000001D            

FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            FAB$V_ORG      = 00000004            

FAB$B_DNS        00000035            FAB$M_NFS      = 00010000            FAB$V_POS      = 00000008            

FAB$B_FAC        00000016            FAB$M_NIL      = 00000020            FAB$V_PPF      = 00000012            

FAB$B_FNS        00000034            FAB$M_OFP      = 20000000            FAB$V_PPF_IND  = 0000000E            

FAB$B_FSZ        0000003F            FAB$M_POS      = 00000100            FAB$V_PPF_RAT  = 00000006            

FAB$B_ORG        0000001D            FAB$M_PPF      = 00040000            FAB$V_PRN      = 00000002            

FAB$B_RAT        0000001E            FAB$M_PPF_IND  = 00004000            FAB$V_PUT      = 00000000            

FAB$B_RFM        0000001F            FAB$M_PPF_RAT  = 00003FC0            FAB$V_RCK      = 00000017            

FAB$B_RTV        0000001C            FAB$M_PRN      = 00000004            FAB$V_RWC      = 0000000B            

FAB$B_SHR        00000017            FAB$M_PUT      = 00000001            FAB$V_RWO      = 00000007            

FAB$C_BID      = 00000003            FAB$M_RCK      = 00800000            FAB$V_SCF      = 0000000E            

FAB$C_BLN        00000050            FAB$M_RWC      = 00000800            FAB$V_SHRDEL   = 00000002            

FAB$C_FIX      = 00000001            FAB$M_RWO      = 00000080            FAB$V_SHRGET   = 00000001            

FAB$C_HSH      = 00000030            FAB$M_SCF      = 00004000            FAB$V_SHRPUT   = 00000000            

FAB$C_IDX      = 00000020            FAB$M_SHRDEL   = 00000004            FAB$V_SHRUPD   = 00000003            

FAB$C_MAXRFM   = 00000003            FAB$M_SHRGET   = 00000002            FAB$V_SPL      = 0000000D            

FAB$C_REL      = 00000010            FAB$M_SHRPUT   = 00000001            FAB$V_SQO      = 00000006            

FAB$C_RFM_DFLT = 00000002            FAB$M_SHRUPD   = 00000008            FAB$V_SUP      = 00000002            

FAB$C_SEQ      = 00000000            FAB$M_SPL      = 00002000            FAB$V_TEF      = 0000001C            

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            GBL...         = 00000000            

FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            LGI$HPWD         ********   X   03   

FAB$L_STS        00000008            FAB$V_BLK      = 00000003            LGI$SEARCHUSER   00000021 RG    03   

FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            LGI$VALIDATE     00000027 RG    03   

FAB$L_XAB        00000024            FAB$V_CBT      = 00000015            NAMEDSC        = 00000004            

FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            PWDDSC         = 00000008            

FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            RAB$B_BID        00000000            

FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            RAB$B_BLN        00000001            

FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            RAB$B_KRF        00000035            

FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            RAB$B_KSZ        00000034            

FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            RAB$B_MBC        00000037            

FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            RAB$B_MBF        00000036            

FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            RAB$B_PSZ        00000034            

FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            RAB$B_RAC        0000001E            

FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            RAB$B_ROP1       00000005            

FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001            RAB$B_ROP2       00000006            

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   7

SYMBOL TABLE                                                                                                                     (3)



RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            SS$_CONTINUE   = 00000001            

RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            SS$_CONTROLC   = 00000651            

RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            SS$_CONTROLO   = 00000609            

RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            SS$_CONTROLY   = 00000611            

RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            SS$_CREATED    = 00000619            

RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            SS$_CTRLERR    = 00000054            

RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            SS$_DATACHECK  = 0000005C            

RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            SS$_DATAOVERUN = 00000838            

RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            SS$_DEBUG      = 0000046C            

RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            SS$_DECOVF     = 000004A4            

RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            SS$_DEVACTIVE  = 000002C4            

RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            SS$_DEVALLOC   = 00000840            

RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            SS$_DEVALRALLOC= 00000641            

RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            SS$_DEVASSIGN  = 00000848            

RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            SS$_DEVFOREIGN = 00000064            

RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            SS$_DEVICEFULL = 00000850            

RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            SS$_DEVMOUNT   = 0000006C            

RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            SS$_DEVNOTALLOC= 00000858            

RAB$L_STS        00000008            RAB$V_TPT      = 00000001            SS$_DEVNOTMBX  = 00000074            

RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            SS$_DEVNOTMOUNT= 0000007C            

RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            SS$_DEVOFFLINE = 00000084            

RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            SS$_DIRFULL    = 00000860            

RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            SS$_DRVERR     = 0000008C            

RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            SS$_DUPFILENAME= 00000868            

RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            SS$_DUPLNAM    = 00000094            

RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            SS$_ENDOFFILE  = 00000870            

RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            SS$_ENDOFTAPE  = 00000878            

RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            SS$_ENDOFUSRLBL= 00000970            

RAB$M_KGE      = 00200000            RMS$_EOF         ********   X   03   SS$_EXQUOTA    = 0000001C            

RAB$M_KGT      = 00400000            SS$_ABORT      = 0000002C            SS$_EXTIDXFILE = 00000880            

RAB$M_LIM      = 00004000            SS$_ACCONFLICT = 00000800            SS$_FCPREADERR = 00000888            

RAB$M_LOA      = 00002000            SS$_ACCVIO     = 0000000C            SS$_FCPREPSTN  = 00000988            

RAB$M_LOC      = 00010000            SS$_ACPVAFUL   = 000002FC            SS$_FCPREWNDERR= 00000890            

RAB$M_MAS      = 00000020            SS$_ARTRES     = 00000474            SS$_FCPSPACERR = 00000898            

RAB$M_NLK      = 00100000            SS$_ASTFLT     = 0000040C            SS$_FCPWRITERR = 000008A0            

RAB$M_NXR      = 00800000            SS$_BADATTRIB  = 00000034            SS$_FILACCERR  = 0000009C            

RAB$M_PMT      = 40000000            SS$_BADCHKSUM  = 00000808            SS$_FILALRACC  = 000000A4            

RAB$M_PPF_IND  = 00004000            SS$_BADESCAPE  = 0000003C            SS$_FILELOCKED = 000008A8            

RAB$M_PPF_RAT  = 00003FC0            SS$_BADFILEHDR = 00000810            SS$_FILENUMCHK = 000008B0            

RAB$M_PTA      = 20000000            SS$_BADFILENAME= 00000818            SS$_FILESEQCHK = 000008B8            

RAB$M_RAH      = 00000200            SS$_BADFILEVER = 00000820            SS$_FILESTRUCT = 000008C0            

RAB$M_RLK      = 00080000            SS$_BADIMGHDR  = 00000044            SS$_FILNOTACC  = 000000AC            

RAB$M_RNE      = 01000000            SS$_BADIRECTORY= 00000828            SS$_FILNOTCNTG = 000002AC            

RAB$M_RNF      = 08000000            SS$_BADPARAM   = 00000014            SS$_FILNOTEXP  = 000000B4            

RAB$M_TMO      = 02000000            SS$_BADSTACK   = 000002B4            SS$_FLTDIV     = 00000494            

RAB$M_TPT      = 00000002            SS$_BEGOFFILE  = 00000938            SS$_FLTOVF     = 0000048C            

RAB$M_UIF      = 00000010            SS$_BLOCKCNTERR= 00000940            SS$_FLTUND     = 0000049C            

RAB$M_ULK      = 00040000            SS$_BREAK      = 00000414            SS$_FORMAT     = 000000BC            

RAB$M_WAT      = 00020000            SS$_BUFBYTALI  = 0000030C            SS$_GPTFULL    = 000000C4            

RAB$M_WBH      = 00000400            SS$_BUFFEROVF  = 00000601            SS$_GSDFULL    = 000000CC            

RAB$S_PPF_RAT  = 00000008            SS$_BUGCHECK   = 000002A4            SS$_HANGUP     = 000002CC            

RAB$V_ASY      = 00000000            SS$_CANCEL     = 00000830            SS$_HEADERFULL = 000008C8            

RAB$V_BIO      = 0000000B            SS$_CHANINTLK  = 0000004C            SS$_IDXFILEFULL= 000008D0            

RAB$V_CCO      = 0000001F            SS$_CLIFRCEXT  = 00000980            SS$_ILLBLKNUM  = 000000DC            

RAB$V_CVT      = 0000001A            SS$_CMODSUPR   = 0000041C            SS$_ILLCNTRFUNC= 000000E4            

RAB$V_EOF      = 00000008            SS$_CMODUSER   = 00000424            SS$_ILLEFC     = 000000EC            

RAB$V_FDL      = 00000006            SS$_COMPAT     = 0000042C            SS$_ILLIOFUNC  = 000000F4            

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   8

SYMBOL TABLE                                                                                                                     (3)



SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            UAF$L_LEVEL      0000008C            

SS$_ILLPAGCNT  = 000000FC            SS$_NOTFILEDEV = 000001CC            UAF$L_PWD        0000000C            

SS$_ILLSEQOP   = 000002DC            SS$_NOTINTBLSZ = 000001D4            UAF$L_UIC        00000018            

SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            UAF$Q_PRIV       00000058            

SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            UAF$T_ACCOUNT    00000010            

SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            UAF$T_DEFCLI     0000004C            

SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            UAF$T_DEFDEV     0000003C            

SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            UAF$T_DEFDIR     0000001C            

SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            UAF$T_LGICMD     00000090            

SS$_INSFRAME   = 0000012C            SS$_OPCDEC     = 0000043C            UAF$T_OWNER      00000074            

SS$_INSFWSL    = 0000011C            SS$_OPINCOMPL  = 000002D4            UAF$T_USERNAME   00000000            

SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            UAF$V_DEFCLI   = 00000001            

SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            UAF$V_DISCTLY  = 00000000            

SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            UAF$W_ASTLM      00000070            

SS$_IVCHAN     = 0000013C            SS$_PARTESCAPE = 000001FC            UAF$W_BIOLM      00000060            

SS$_IVCHNLSEC  = 0000026C            SS$_PFMBSY     = 00000204            UAF$W_BYTLM      00000062            

SS$_IVDEVNAM   = 00000144            SS$_PLHLDR     = 00000404            UAF$W_DFWSCNT    0000006E            

SS$_IVGSDNAM   = 0000014C            SS$_PSTFULL    = 0000020C            UAF$W_DIOLM      00000064            

SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            UAF$W_FILLM      00000066            

SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            UAF$W_FILPRT     00000088            

SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            UAF$W_GRP        0000001A            

SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            UAF$W_MEM        00000018            

SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            UAF$W_PGFLQUOTA  00000072            

SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            UAF$W_PRCCNT     0000006A            

SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            UAF$W_TQCNT      00000068            

SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            UAF$W_WSQUOTA    0000006C            

SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            UAF$_INVPWD    = FFFFFFFC            

SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            UAF$_INVUSR    = FFFFFFFE            

SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            UAF$_NORMAL    = 00000001            

SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            UAFNAME          00000000 R     03   

SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            UAFSIZE        = 00000006            

SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            _$$_           = 000000EF            

SS$_MCHECK     = 000002BC            SS$_TOOMUCHDATA= 0000029C            

SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_NONEXDRV   = 000001C4            SYS$CLOSE        ********  GX   03   

SS$_NONEXPR    = 000008E8            SYS$CONNECT      ********  GX   03   

SS$_NONLOCAL   = 000008F0            SYS$DISCONNECT   ********  GX   03   

SS$_NOPRIV     = 00000024            SYS$GET          ********  GX   03   

SS$_NORMAL     = 00000001            SYS$OPEN         ********  GX   03   

SS$_NOSIGNAL   = 00000900            SYS$REWIND       ********  GX   03   

SS$_NOSOLICIT  = 00000284            UAF$B_FLAGS      0000008B            

SS$_NOSUCHDEV  = 00000908            UAF$B_PRI        0000008A            

SS$_NOSUCHFILE = 00000910            UAF$C_LENGTH     000000B8            

SS$_NOSUCHNODE = 0000028C            UAF$K_LENGTH     000000B8            

SS$_NOSUCHSEC  = 00000978            UAF$L_CPUTIM     00000054            

VALIDATE_USER   - routine to validate user and return UAF recor  22-AUG-1978 00:37:50   VAX-11 MACRO X0.3-11               Page   9

PROGRAM SECTION SYNOPSIS                                                                                                         (3)







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$            000000B8      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

_LIB$CODE        00000113      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

10964. BYTES LEFT IN FREE MEMORY POOL.

3744. BYTES OF RECLAIMED MEMORY.

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

45 MLB DIR RDS - 754 GETS TO DEFINE 22 MACROS. 57 INTER. FILE WRITES. 

