BYE.MAC;2/-BF/AU:72.=BYE.MAC;1 \ -2,2 .IDENT /DS02.3/ .ENABL LC -69,73,/;DS010/ ; DS010 21-FEB-80 IMPLEMENT SRI LOGGING, IF DS$OPT DEFINED ; ; DS011 21-FEB-80 IMPROVE THE MESSAGES ; ; DS012 21-FEB-80 KILL TERMINAL I/O BEFORE EXITING ; .MCALL MRKT$S,DIR$,EXIT$S,WTSE$S,QIO$,GMCR$,ABRT$ .MCALL CMKT$S,WTLO$S,GTIM$S,MTADF$ % .MCALL QIOW$,SPWN$,STSE$,SDAT$,RQST$ ING1=1 ;1ST SUPER-PRIV GROUP ING2=1 ;LAST SUPER-PRIV GROUP .IIF LT,ING2-ING1 .ERROR ;INVALID GROUP SPECS -97,106,/;DS011/ LGOMSG: .ASCIZ /LOGOUT USER / MSG1: .ASCII <12>/XX-XXX-XX XX:XX / MSG1A: .ASCIZ /DDNN: logging off.../<15><12> .ENDC ; R$$SCS MSG2: .ASCIZ <15>/Good Morning!/ MSG3: .ASCIZ <15>/See you later, pal!/ MSG4: .ASCIZ <15>/Go have a drink.....you could use it..../ MSG5: .ASCIZ <15>/GO TO BED, for chris'sakes!!!/ -138,,/;DS010/ .IF DF,DS$LOG ;IF CONNECT-TIME LOGGING ENABLED SENDL: SDAT$ LOG...,LOGDAT REQL: RQST$ LOG...,,,1,1 PRJSIZ=10. NAMSIZ=14. LOGDAT: .BYTE 3 ;LOGOUT TERMB: .BYTE ;TERMINAL NUMBER GRPB: .BYTE ;GROUP UIC MEMB: .BYTE ;MEMBER UIC NFFLG: .BYTE ; -1 IF NO ERROR FOR ENTRIES NOT FOUND PRJBUF: .REPT PRJSIZ-1 .BYTE 0 .ENDR NAMBUF: .REPT NAMSIZ .BYTE 0 .ENDR ING1=1 ING2=1 .ENDC ;DF,DS$OPT -256,256,/;DS010/ .IF DF,DS$LOG MOVB U.LUIC(R0),MEMB ;SET UP FOR LOG... MOVB U.LUIC+1(R0),GRPB CLRB NFFLG ;ERROR IF ENTRY NOT FOUND CMPB GRPB,#ING1 ;MAYBE BLO 5$ CMPB GRPB,#ING2 BHI 5$ DECB NFFLG 5$: MOV U.DCB(R0),R4 ;GET TI: DCB SUB D.UCB(R4),R0 ;GET UCB OFFSET MOV D.UCBL(R4),R1 ;GET UCB SIZE CALL $DIV ADD D.UNIT(R4),R0 ;GET UNIT NUMBER MOVB R0,TERMB ;AND SET IT IN THE PACKET DIR$ #SENDL ;SEND IT OFF BCS 7$ ; WOOPS DIR$ #REQL 7$: MOV UCB,R0 ;RETRIEVE UCB ADDRESS .ENDC ;DF,DS$LOG BIS #U2.LOG,U.CW2(R0) ; LOG TERMINAL OFF -262,263,/;DS012/ MOV #SLVDPB,R0 ; GET QIOW$ DPB DIR$ R0 ; ATTEMPT QIO$ TO RESET TI: 10$: ; REF LABEL MOV #IO.KIL,Q.IOFN(R0) ;MAKE SURE I/O IS DONE DIR$ R0 /