.TITLE WHO - TERMINAL INFO .SBTTL TITLE PAGE .IDENT /VIN0.0/ ;+ ; ; AUTHOR: 1LT JOEL IRWIN, SAC/ADIPI ; ; ; DATE: 14 NOV 1977 ; ; ; SYSTEM: OISS SUBSYSTEM: INFORMATIONAL ; ; ; FUNCTIONAL DESCRIPTION: ; ; THIS PROGRAM PERFORMS THE IDENTICAL FUNCTION TO THE MCR WHO ; COMMAND EXCEPT THAT USER NAMES ARE PRINTED IN ASCII INSTEAD OF ; THE USUAL UIC NUMBERS. ; ; ; ; RECORD OF MODIFICATIONS ; ; VERSION DATE BY DESCRIPTION ; _______ ____ __ ___________ ; ; ; ; ; ; GLOBAL EVENT FLAG USAGE: ; ; ;- .SBTTL MACROS,SYMBOLS,AND DATA .PAGE ; ; ; LOCAL MACRO DEFINITIONS AND SYSTEM MACRO CALLS ; ; .MCALL STRUCT,REPEAT,IF,INVOKE,UNTIL,END,FOR,MOVC,ELSE STRUCT ;STRUCTURED MACRO DEFINITIONS .MCALL QIOW$S,EXIT$S,RQST$S ; ; ; GLOBAL SYMBOL DEFINITIONS AND DATA ; ; .PAGE .NLIST BIN ; .PSECT WHO,RW ;FOR DEBUGGING ONLY .PSECT WHO,RO WHO: MOV .PUDBA,R3 ;FIRST PUD ENTRY REPEAT ;FOR EACH ENTRY ... MOV #BUF+2,R0 ;WHERE IT ALL GOES IF U.DN(R3) EQ #"TT ;FOR TERMINALS ONLY ... MOVB U.UN(R3),R1 ;CONVERT TERMINAL NUMBER AND MOVE IT IN CLR R2 CALL $CBOMG IF #UT.LG SETOFF U.PR(R3) ;IF NO ONE LOGGED ON THEN ADD #<*3>+2,R0 ;SPACE OVER TO RIGHT SPOT MOVC #NLGN R0 #NLGNL ;PUT OUT MESSAGE AND SKIP THE ADD #NLGNL,R0 ;MOVE UP THE POINTER FOR PRINTING JMP WHO2 ;REST END MOVB U.GC(R3),GROUP ;LETS FIND THE NAME MOVB U.PC(R3),USER CLR NM ;MATCH ANY NAME MOV #NAME,START MOV #SIZE,LENGTH INVOKE FETCH, IF START NE ;FOUND IT INC R0 ;LEAVE A SPACE MOV START,R4 ADD #USNAME,R4 ;PUT IT OUT FOR R5,#1,#ELSZ/2 MOV (R4)+,R1 CALL $C5TA END INC R0 ;LEAVE A SPACE ELSE INC R0 ;LEAVE A SPACE MOVB #'?,(R0)+ ;MOVE OUT A ? ADD #*3,R0 END IF #UT.PR SETON U.PR(R3) ;PRIVLEGED? MOVC #PRIV R0 #PRIVL ADD #PRIVL+1,R0 END IF #UT.SL SETON U.PR(R3) ;SLAVE? MOVC #SLAVE R0 #SLAVEL ADD #SLAVEL+1,R0 END IF #CH.NAT SETON U.CH(3) ;NO ATTACHING ALLOWED? MOVC #NAT R0 #NATL ADD #NATL+1,R0 END WHO2: SUB #BUF,R0 ;# OF CHARS TO PRINT QIOW$S #IO.WVB,#5,#1,,,,<#BUF,R0,#40> ;PRINT IT ALL MOVB #' ,BUF+2 ;AND THEN BLANK IT OUT FOR THE NXT PASS MOVC #BUF+2,#BUF+3,#77. END ADD #U.SZ,R3 ;NEXT PUD ENTRY UNTIL R3 GE .PUDEA ;WHEN DO WE STOP IT ALL? RQST$S MCR ;GET BACK MCR EXIT$S ;BYE, BYE! .PAGE .SBTTL CONSTANTS AND VARIABLES NLGN: .ASCII /NOT LOGGED ON/ NLGNL=.-NLGN PRIV: .ASCII /PRIVLEGED/ PRIVL=.-PRIV SLAVE: .ASCII /SLAVE/ SLAVEL=.-SLAVE NAT: .ASCII /NOT ATTACHABLE/ NATL=.-NAT .EVEN MCR: .RAD50 /...MCR/ ; VARIABLES .PSECT IMPURE,RW BUF: .ASCII /TT/ ;OUTPUT BUFFER .REPT 78. .ASCII / / .ENDM GROUP: .WORD USER: .WORD START: .WORD LENGTH: .WORD NM: .WORD .EVEN ENDCHK .END WHO