TITLE USERS - TYPE OUT WHO'S ON THE SYSTEM %1(3) SUBTTL R.CLEMENTS/RCC/PFC/DRL 1-JAN-80 ;***COPYRIGHT 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.*** SEARCH UUOSYM LOC 137 BYTE (3)0(9)1(6)0(18)6 RELOC ;1 SKIP [OPR] JOBS ;2 SKIP JOBS UNDER PTY'S, SKIP [SELF] ;3 SKIP REMOTE OPR JOBS ;4 DO 1 BIG OUTSTR ;5 OUTPUT NODE_TTY ;6 ADD Jnn= to display F=0 A=1 B=2 C=3 D=4 T=5 T1=6 T2=7 N=10 N1=11 CH=12 WD=13 BP=14 CT=15 J=16 P=17 PDLL=30 DEFINE GET (A,B,C)< XLIST MOVE T,[XWD A,B] GETTAB T, MOVEI T,0 IFNB < MOVEM T,C> LIST > R.REPT==400000 JNA==40000 USRMAX==^D512 OUTSIZ==^D4000 USERS: JFCL RESET MOVE P,[IOWD PDLL,PDL] MOVE F,BFCTIN ;[4] MOVEM F,BUFCNT ;[4] MOVE F,BFPTIN ;[4] MOVEM F,BUFPNT ;[4] MOVEI F,0 GETPPN T, ;GET MY PPN [2] JFCL ; [2] MOVEM T,MYPPN# ; [2] GET 22,11 ;GET PTY RANGE [2] JUMPE T,[SETOM FIRPTY ; [2] JRST .+2] ; [2] HLRZM T,FIRPTY# ; [2] MOVEI T,-1(T) ; [2] ADD T,FIRPTY ; [2] MOVEM T,LASPTY# ; [2] GET 2,16 ;IDENTIFY OPERATOR [3] SKIPN T ;SEE IF KNOWN [3] MOVE T,[1,,2] ;DEFAULT [3] MOVEM T,OPRPPN# ;STORE FOR LATER [3] GET 15,11,SEGPTR MOVNI T,(T) ;-NUMBER OF JOBS MOVEM T,MJOBN MOVSI A,(T) ;AOBJN COUNTER LOOP1: MOVSI T,(A) GETTAB T, MOVEI T,0 MOVEM T,JBTSTS(A) MOVSI T,(A) HRRI T,2 ;JBTPPN GETTAB T, MOVEI T,0 MOVEM T,JBTPPN(A) MOVSI T,(A) HRRI T,3 ;JBTPRG GETTAB T, MOVEI T,0 MOVEM T,JBTPRG(A) MOVSI T,(A) HRRI T,31 GETTAB T, MOVEI T,0 MOVEM T,JBTNM1(A) MOVSI T,(A) HRRI T,32 GETTAB T, MOVEI T,0 MOVEM T,JBTNM2(A) MOVSI T,(A) HRRI T,10 GETTAB T, MOVEI T,0 HRRZS T SKIPE T PEEK T, MOVEM T,JBTTTY(A) HLRZ T1,T ;GET GENERIC [2] CAIE T1,'TTY' ;SEE IF ATTACHED TTY [2] JRST LOOPOK ;NO--OK [2] SKIPGE FIRPTY ;SEE IF PTYS [2] JRST LOOPOK ;NO--MUST BE OK [2] HRLZ T1,T ;GET OCTAL PART [2] MOVEI T,0 ;CLEAR RESULT [2] LOOPX1: JUMPE T1,LOOPXX ;ALL DONE [2] LSH T1,3 ;DROP OCTAL [2] LSHC T,3 ;GET DIGIT [2] JRST LOOPX1 ;LOOP FOR ALL [2] LOOPXX: CAML T,FIRPTY ;IS .LT. FIRST PTY [2] CAMLE T,LASPTY ;OR .GT. LAST [2] JRST LOOPOK ;THEN OK [2] SETZM JBTPPN(A) ;ELSE, BATCH OR OPSER--KILL [2] LOOPOK: AOBJN A,LOOP1 ;NOW CLEAR OUT UNDEFINED JOBS HRLZ A,MJOBN LOOP2: MOVE T,JBTSTS(A) TLNN T,JNA SETZM JBTPPN(A) AOBJN A,LOOP2 ;NOW DUMP THE DATA HRLZ A,MJOBN LOOP3: SKIPE C,JBTPPN(A) CAMN C,MYPPN ;SKIP SELF [2] JRST NEXT3 XOR C,OPRPPN ;COMPARE WITH OPERATOR [1] JUMPE C,NEXT3 ; [1] HLL C,JBTPPN(A) ;REFETCH PROJECT [3] TLC C,100 ;SEE IF [100+S,,2] [3] TLZE C,77 ;(CLEAR S) [3] JUMPE C,NEXT3 ;SKIP IF REMOTE [3] HLRZ N,JBTPPN(A) PUSHJ P,OCT6 PUSHJ P,COMMA HRRZ N,JBTPPN(A) PUSHJ P,OCTTAB MOVE T,JBTNM1(A) PUSHJ P,SIXALL MOVE T,JBTNM2(A) PUSHJ P,SIXSP MOVE T,JBTPRG(A) PUSHJ P,SIXSP HRLZ B,MJOBN ;FIND ALL WITH THAT PPN TRZ F,R.REPT MOVE C,JBTPPN(A) ;RESTORE TARGET PPN [3] LOOP4: CAME C,JBTPPN(B) JRST NEXT4 TROE F,R.REPT ; [2] PUSHJ P,COMMA MOVEI CH,"J" ;PUT OUT JOB FIELD [6] PUSHJ P,TYO ; [6] HRRZ N,B ;JOB NUMBER [6] PUSHJ P,DECP ;OUT IT [6] MOVEI CH,"=" ;BREAK FIELD [6] PUSHJ P,TYO ; [6] HLRZ T,JBTTTY(B) ;GET TTY [5] JUMPE T,[MOVEI CH,"D" ; DETATCHED [5] JRST DOTTY] ; [5] CAIE T,'TTY' ;SEE IF REAL TTY [5] JRST NOTTTY ;NO--OUTPUT LITERAL [5] MOVEI CH,"T" ;TTY [5] DOTTY: PUSHJ P,TYO ; [5] HRLZ T,JBTTTY(B) ;GET NUMBER [5] SKIPA ; [5] NOTTTY: MOVE T,JBTTTY(B) ;GET LITERAL VALUE [5] PUSHJ P,SIXSS ; [5] MOVE T,JBTTTY(B) GTNTN. T, JRST NEXT5 MOVEI CH,"=" PUSHJ P,TYO HLRZ N,T PUSHJ P,OCTP MOVEI CH,"_" PUSHJ P,TYO HRRZ N,T PUSHJ P,OCTP NEXT5: SETZM JBTPPN(B) NEXT4: AOBJN B,LOOP4 PUSHJ P,CRLF NEXT3: AOBJN A,LOOP3 MOVEI 1,0 ;[4] IDPB 1,BUFPNT ;[4] OUTSTR BUFFER ;[4] CALLI 1,12 CALLI 12 OCTTAB: PUSHJ P,OCTP TAB: MOVEI CH,11 JRST TYO OCT6: CAIG N,77777 PUSHJ P,SPACE CAIG N,7777 PUSHJ P,SPACE CAIG N,777 PUSHJ P,SPACE CAIG N,77 PUSHJ P,SPACE CAIG N,7 PUSHJ P,SPACE OCTP: IDIVI N,10 HRLM N1,0(P) SKIPE N PUSHJ P,OCTP HLRZ CH,0(P) ADDI CH,"0" JRST TYO SPACE: MOVEI CH,40 JRST TYO SIXALL: MOVE T1,[440600,,T] SIXAL: ILDB CH,T1 ADDI CH,40 PUSHJ P,TYO TLNE T1,770000 JRST SIXAL POPJ P,0 SIXSP: PUSHJ P,SIXALL JRST SPACE DECP: IDIVI N,12 HRLM N1,0(P) SKIPE N PUSHJ P,DECP HLRZ CH,0(P) ADDI CH,"0" JRST TYO ;SUBRS CRLF: MOVEI T,[ASCIZ / /] MSG: HRLI T,440700 MSGL: ILDB CH,T JUMPE CH,CPOPJ PUSHJ P,TYO JRST MSGL COMMA: MOVEI CH,"," JRST TYO CPOPJ: POPJ P,0 SIXSS: MOVE T1,[440600,,T] SIXSL: ILDB CH,T1 JUMPE CH,CPOPJ ADDI CH,40 PUSHJ P,TYO TLNE T1,770000 JRST SIXSL POPJ P,0 TYO: SOSE BUFCNT ;[4] JRST TYOI ;[4] MOVEI J,0 ;[4] IDPB J,BUFPNT ;[4] OUTSTR BUFFER ;[4] MOVE J,BFCTIN ;[4] MOVEM J,BUFCNT ;[4] MOVE J,BFPTIN ;[4] MOVEM J,BUFPNT ;[4] TYOI: IDPB CH,BUFPNT ;[4] POPJ P, SEGPTR: 0 MJOBN: 0 BUFFER: BLOCK /5 ;[4] BFPTIN: POINT 7,BUFFER ;[4] BUFPNT: BLOCK 1 ;[4] BFCTIN: OUTSIZ ;[4] BUFCNT: BLOCK 1 ;[4] JBTSTS: BLOCK USRMAX JBTPPN: BLOCK USRMAX JBTNM1: BLOCK USRMAX JBTNM2: BLOCK USRMAX JBTPRG: BLOCK USRMAX JBTTTY: BLOCK USRMAX PDL: BLOCK PDLL END USERS