HELLO.MAC;2/AU:72.=HELLO.MAC;1 \ -2,2 .IDENT /JN3.1A/ -55,55 ; JN3.1A 13-APR-79 BY J. NEELAND HUGHES RESEARCH LABS, TO SUPPORT ; TLOGGR TASK, REMOVE DIRECT LOGGING ON CO:, AND ANNOUNCE ; EXISTENCE OF MAIL % -57,,/;JN3.1A/ .MCALL SDAT$,RQST$,GLUN$ -82,,/;JN3.1A/ .ENABL LC MAIMSG: .ASCIZ /[You have mail waiting...]/<7> -113,,/;JN3.1A/ SDPB: SDAT$ TLOGGR,MSGBUF,EFN1 ;SEND LOGIN DATA TO TLOGGR TASK RQDPB: RQST$ TLOGGR ;REQUEST RUNNING OF TASK MSGBUF: .WORD 1 ;OPCODE OF 1 TO TLOGGR FOR LOGINS .BLKW 6 ;12. REMAINING WDS IN SEND BUFFER LUNBUF: .BLKW 6 ; SPLIT IN 2 PARTS FOR GLUN$ USE TOO GLUN: GLUN$ LUN1,LUNBUF ;GET LUN INFO FOR THE LOGGER TASK -130,,/;JN3.1A/ MAIDSP: .WORD 4 ; .WORD LOGNAM ;USE USER'S SY: FOR CHECKING MAIL .WORD 9. ; .WORD LOGINU ;USE USER'S LOGIN UIC TO FIND MAIL FILE .WORD 11. ; .WORD MAIL ;LOOK FOR A 'MESSAGE.TXT' FILE -144,,/;JN3.1A/ MAIL: .ASCII /MESSAGE.TXT/ -392,,/;JN3.1A/ ; ;SEND LOGIN DATA TO TLOGGR TASK ; MOV #MSGBUF+1,R0 ;INITIALIZE OUTPUT BUFFER POINTER DIR$ #GLUN ;GET INFO ABOUT THE TERMINAL MOVB LUNBUF+G.LUNU,(R0)+ ;COPY THE UNIT # INTO MESSAGE MOVB LUNBUF+G.LUNA,(R0)+ ; FOLLOWED BY DEVICE NAME MOVB LUNBUF+G.LUNA+1,(R0)+ MOVB GRP,(R0)+ ;GET THE LOGIN UIC MOVB MEM,(R0)+ MOV ENTRY,R3 ;GET THE LOGIN NAME ADDRESS ADD #A.LNM,R3 MOV #14.,R2 ;SET COUNT OF CHARS TO COPY CPYNAM: MOVB (R3)+,(R0)+ ;COPY THEM DEC R2 ; UNTIL ALL MOVED BGT CPYNAM MOV #4,R2 ;COPY THE LOGIN SY: DEVICE NAME MOV ENTRY,R3 ;GET ADDRESS OF DEVICE NAME ADD #A.SYDV,R3 CPYDEV: MOVB (R3)+,(R0)+ DEC R2 BGT CPYDEV DIR$ #SDPB,PRINT1 ;SEND THE MESSAGE, DON'T WORRY IF ANYONE ; IS THERE TO GET IT. WTSE$S #EFN1 ;WAIT TILL THE SEND COMPLETES SOMEHOW DIR$ #RQDPB ;REQUEST RUNNING OF LOGGER TASK -396,396,/;JN3.1A/ PRINT1: MOV #40,ODPB+Q.IOPL+4 ; SET LF BEFORE, CR AFTER -428,468,/;JN3.1A/ -497,,/;JN3.1A/ MOV #IO.WVB,2(R4) ;RESTORE WRITE FUNCTION FOR LATER USE -512,514,/;JN3.1A/ ; ;LOOK FOR MAIL FILE ; MOV #$ACTFL,R0 ;GET FDB ADDRESS MOV #<$ACTFL+F.FNB>,R1 ; & FILENAME BLOCK ADDRESS IN FDB CLR R3 ;NO DEFAULT FILENAME BLOCK MOV #MAIDSP,R2 ;DATA DESCRIPTOR BLOCK FOR MAIL FILE CALL .PARSE ;TRANSFORM TO FILENAME BLOCK BCS 185$ ;SHOULDN'T FAIL, BUT JUST IN CASE CALL .FIND ;LOOK FOR FILE IN USER'S DIRECTORY BCS 185$ ;NOT THERE, GO LOOK FOR A LOGIN.CMD MOV #'+,ODPB+Q.IOPL+4 ;YES, SET TO 'OVERPRINT' MCR PROMPT MOV #MAIMSG,R0 ; FROM ASN COMMAND BY 'MAIL WAITING' MSG. CALL WRIT -527,530 /