************************************************** 1) HELLO.DEC;1 2 .IDENT /01.24/ 3 ; *************** 2) HELLO.MAC;1 2 .IDENT /01.24B/ 3 ; ************************************************** 1) HELLO.DEC;1 97 ; *************** 2) HELLO.MAC;1 97 ; RWT001 13-NOV-80 OAK RIDGE NATIONAL LAB, I&C DIVISION 98 ; LOCAL MODIFICATION TO PERFORM THE FOLLOWING: 99 ; 100 ; WHILE THE USER IS STILL SLAVE AND PRIVILEGED, 101 ; THE FILES COMMAND "XXXYYY.CMD" AND THEN "XXXYYY.PRV" 102 ; ARE LOOKED FOR ON DEVICE "LB:" UNDER UIC [201,1]. 103 ; IF ONE OF THE FILES IS FOUND, IT IS EXECUTED VIA 104 ; A SPAWN DIRECTIVE. UPON COMPLETION OF THE COMMAND 105 ; FILE, THE NORMAL LOGIN PROCEEDS WITH THE EXCEPTION 106 ; THAT IF THE EXTENSION ON THE COMMAND FILE WAS ".PRV", 107 ; THE USER IS LEFT PRIVILEGED. 108 ; 109 ; KJC001 26-NOV-80 K.J. CROSS, ORNL 110 ; SPAWN TASK "TRMSET" TO SET THE TERMINAL 111 ; CHARACTERISTICS BEFORE EXITING 112 ; ************************************************** 1) HELLO.DEC;1 123 ;EAF003 124 .IF DF R$$SCS ;EAF003 *************** 2) HELLO.MAC;1 139 SPWTRM: SPWN$ TRMSET,,,,,EFN1 ;KJC001 141 .IF DF R$$SCS ;EAF003 ************************************************** 1) HELLO.DEC;1 203 ;EAF003 *************** 2) HELLO.MAC;1 220 ER21: .ASCIZ <15>/HEL -- SPAWN FAILURE ON SET UP COMMAND FILE/ ;RWT001 221 ;EAF003 ************************************************** 1) HELLO.DEC;1 249 CSI$ ; DEFINE CSI OFFSETS AND BIT VALUES ; SR001 *************** 2) HELLO.MAC;1 267 SETDSP: .WORD 4 ;RWT001 268 .WORD DEVNAM ;RWT001 269 .WORD 9. ;RWT001 270 .WORD SETUPU ;RWT001 271 .WORD 10. ;RWT001 272 .WORD SETUPN ;RWT001 274 CSI$ ; DEFINE CSI OFFSETS AND BIT VALUES ; SR001 ************************************************** 1) HELLO.DEC;1 292 MONTH: .ASCII /JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC/ *************** 2) HELLO.MAC;1 318 SETUPU: .ASCII /[201,001]/ ;UIC FOR SET-UP COMMAND FILES ;RWT001 319 SETUPC: .ASCIZ /@LB:[201,1]000000.CMD/<15> ;MCR LINE FOR SET-UP ;RWT001 320 SETUPL = . - SETUPC - 1 ;RWT001 321 SETUPN = SETUPC + 11. ;RWT001 323 PRIV: .BYTE 0 ;SET-UP PRIVILEGE INDICATOR ;RWT001 324 .EVEN ;RWT001 326 MONTH: .ASCII /JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC/ ************************************************** 1) HELLO.DEC;1 777 BCS 175$ ; ;**-1 778 WTSE$S #1 ; WAIT 779 BCS 175$ ; 780 BR 160$ ; LOOP 781 170$: CMPB U.LUIC+1(R1),#10 ; IS UIC PRIVILEGED? 782 BLOS 180$ ; YES 783 175$: BIC #U2.PRV,U.CW2(R1) ; NO, CLEAR PRIV FLAG *************** 2) HELLO.MAC;1 811 BCS 174$ ; ;RWT001 812 WTSE$S #1 ; WAIT 813 BCS 174$ ; ;RWT001 814 BR 160$ ; LOOP 815 ; ;RWT001 816 ; LOOK FOR SET-UP COMMAND FILE UNDER LB:[201,1]. ;RWT001 817 ; ;RWT001 819 170$: MOV #SETUPN,R0 ;GET ADDR OF SET-UP FILE NAME ;RWT001 820 MOV GRP,R1 ;GET OCTAL GROUP NUMBER ;RWT001 821 CALL UICCON ;CONVERT TO ASCII STRING ;RWT001 822 MOV MEM,R1 ;DO THE SAME FOR THE MEMBER NUMBER ;RWT001 823 CALL UICCON ;APPEND IT TO GROUP NUMBER ;RWT001 824 CLRB PRIV ;INSURE NON-PRIVILEGE IS SET-UP DEFAULT ;RWT001 825 MOV #$ACTFL,R0 ;LOAD FDB ADDRESS ;RWT001 826 MOV #<$ACTFL+F.FNB>,R1 ;FILE NAME BLOCK ADDRESS ;RWT001 827 MOV #SETDSP,R2 ;LOAD DATASET DESC. POINTER ;RWT001 828 CLR R3 ;NO DEFAULT NAME BLOCK ;RWT001 829 CALL .PARSE ;FILL IN FILE NAME BLOCK IN FDB ;RWT001 830 BCS 210$ ;SOME WEIRD ERROR OCCURRED ;RWT001 831 CALL .FIND ;LOOK FOR "LB:[201,1]XXXYYY.CMD" ;RWT001 832 BCC 172$ ;IF FOUND, GO EXECUTE IT ;RWT001 833 MOV #SETUPC+18.,R2 ;POINT TO EXTENSION OF SET-UP FILE NAME ;RWT001 834 MOVB #'P,(R2)+ ;CHANGE EXTENSION... ;RWT001 835 MOVB #'R,(R2)+ ;TO ".PRV"... ;RWT001 836 MOVB #'V,(R2)+ ;AND TRY AGAIN ;RWT001 837 MOV #SETDSP,R2 ;RESET THE DATASET DESC. POINTER ;RWT001 838 CALL .PARSE ;FILL IN THE NEW FILE SPEC ;RWT001 839 BCS 210$ ;PARSE ERROR ;RWT001 840 CALL .FIND ;LOOK FOR "LB:[201,1]XXXYYY.PRV" ;RWT001 841 BCS 174$ ;IF NOT FOUND, FORGET IT ;RWT001 842 INCB PRIV ;FOUND PRIVILEGE SET-UP, MARK IT AS SUCH ;RWT001 844 ; ;RWT001 845 ; EXECUTE THE SET-UP COMMAND FILE. ;RWT001 846 ; ;RWT001 848 172$: MOV #SETUPC,S.PWCA+SPWDPB ;SET ADDR OF SPAWN COMMAND LINE ;RWT001 849 MOV #SETUPL,S.PWCL+SPWDPB ;SET LENGTH OF COMMAND ;RWT001 850 DIR$ #SPWDPB ;SPAWN EXECUTION OF SET-UP COMMAND FILE ;RWT001 851 BCC 173$ ;IF OK, CONTINUE ;RWT001 852 CALL ERR21 ;BETTER WARN USER ;RWT001 853 BR 174$ ;PROCEED WITH NORMAL LOGIN ;RWT001 854 173$: DIR$ #STSDPB ;WAIT FOR COMMAND FILE TO FINISH ;RWT001 855 174$: MOV $TKTCB,R0 ;GET OUR TCB ADDR ;RWT001 856 MOV T.UCB(R0),R1 ;GET TI: UCB ADDR ;RWT001 858 CMPB U.LUIC+1(R1),#10 ; IS UIC PRIVILEGED? 859 BLOS 180$ ; YES 860 TSTB PRIV ;CHECK ON PRIVILEGE STATUS FROM SET-UP ;RWT001 861 BNE 180$ ;LEAVE HIM PRIVILEGED? ;RWT001 862 175$: BIC #U2.PRV,U.CW2(R1) ; NO, CLEAR PRIV FLAG ************************************************** 1) HELLO.DEC;1 790 ;EAF003 *************** 2) HELLO.MAC;1 870 DIR$ #SPWTRM ; SPAWN TRMSET TO SET TERMINAL CHARACTERISTICS;KJC001 871 BCS 186$ ; IF CS, SPAWN FAILED -- TOO BAD ;KJC001 872 DIR$ #STSDPB ; WAIT FOR IT TO FINISH ;KJC001 873 186$: ; REF LABEL ;KJC001 875 ;EAF003 ************************************************** 1) HELLO.DEC;1 899 ERROUT: MOV #40,ODPB+Q.IOPL+4 ; SET NORMAL CARRIAGE RETURN *************** 2) HELLO.MAC;1 982 ERR21: MOV #ER21,R0 ;SPAWN DIRECTIVE FAILURE ;RWT001 983 MOV #EX$WAR,EXSTAT ;SET EXIT STATUS TO WARNING ;RWT001 984 BR ERROUT ;PRINT MESSAGE AND PROCEED ;RWT001 987 ERROUT: MOV #40,ODPB+Q.IOPL+4 ; SET NORMAL CARRIAGE RETURN 9 DIFFERENCES FOUND HELLO.CMP=HELLO.DEC,HELLO.MAC