.TITLE HELUSR ; ; PURPOSE: TO ACTIVATE THE USER MADE LOGIN PROCEDURE ; ; AT ENTRANCE, R0 POINTS TO THE UIC OF THE ACCOUNT RECORD AS CONTAINED ; IN THE SYSTEM ACCOUNT FILE. ; ; .MCALL SPWN$S,STSE$S,QIO$S .GLOBL $USESB ; EFN5=5 LUN1=1 ; $USESB: MOV R5,-(SP) ;SAVE R5 MOV $TKTCB,R5 ;POINT TO CURRENT TASK CONTROL BLOCK MOV T.UCB(R5),R5 ;GET UCB ADDRESS MOVB (R0)+,UIC+1 ;COPY UIC MOVB (R0)+,UIC+2 MOVB (R0)+,UIC+3 MOVB (R0)+,UIC+5 MOVB (R0)+,UIC+6 MOVB (R0),UIC+7 BIC #U2.LOG,U.CW2(R5) ;SET TERMINAL LOGGED IN QIO$S #IO.DET,#LUN1 ;DETACH TERMINAL SPWN$S #MCR,,,,,#EFN5,,#EXST,#MCRBUF,#MCRLEN ;"LOG $I$ [XXX,XXX]" STSE$S #EFN5 ;STOP FOR SINGLE EVENT FLAG QIO$S #IO.ATT,#LUN1 ;ATTACH TERMINAL AGAIN CMP #1,EXST ;TEST EXIT STATUS BEQ CLC ;IF EQ 1.... OK SEC: SEC ;SET CARRY TO DISABLE LOGIN BR RTSPC ;AND BRANCH CLC: CLC ;"HELLO" MAY LOG IN THIS TERMINAL RTSPC: BIS #U2.LOG,U.CW2(R5) ;UNDO MODIFICATION IN UCB MOV (SP)+,R5 ;RESTORE R5 RTS PC ;RETURN TO CALLER ; ; EXST: .BLKW 8. MCR: .RAD50 /MCR.../ MCRBUF: .ASCII /LOG $I$ / UIC: .ASCII /[000,000]/ MCRLEN=.-MCRBUF .EVEN .END