Trailing-Edge
-
PDP-10 Archives
-
bb-d549g-sb
-
quolst.mac
There are 4 other files named quolst.mac in the archive. Click here to see a list.
TITLE QUOLST - CUSP TO LIST FILE STRUCTURE QUOTAS %5(42)
SUBTTL D BLACK/RCC/PFC/JNG/WSM/SMW - 9-JUN-78
SEARCH JOBDAT,UUOSYM ;[42]
VQUOLS==5 ;MAJOR VERSION NUMBER
VEDIT==42 ;EDIT NUMBER
VMINOR==0 ;MINOR VERSION NUMBER
VWHO==0 ;WHO LAST EDITED
;COPYRIGHT (C) 1970,1972,1978 BY
;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
;TRANSFERRED.
;
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
;CORPORATION.
;
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
; . . . EDIT HISTORY . . .
; VERSION 5:
; EDIT 37 - ADDS STRUCTURES IN PASSIVE SEARCH LIST TO REPORT
; ADDS PRINTOUT OF QUOTA ON STR WITH NO UFD
; AREAS AFFECTED: QUOLST,LSTSTR,NOUFD,FENCE
; EDIT 40 - ALWAYS PRINTS SYSTEM BLOCKS LEFT.
; AREAS AFFECTED: LSTSTR,LSTST1,NDLUFD
; EDIT 41 - FIX BUG WHERE DSKCHR GETS CONFUSED BY LOGICAL
; DEVICE ASSIGNMENTS. MAKE PROGRAM SHAREABLE.
; EDIT 42 - CONVERT TO UUOSYM SYMBOLS
LOC .JBVER
BYTE (3)VWHO(9)VQUOLS(6)VMINOR(18)VEDIT
;AC'S
T=1
T1=T+1
T2=T1+1
P=17
EXLLEN==.RBUSD ;LENGTH
.CHLEN==3
;IO CHANNELS
TTY==1
STR==2
OPDEF PJRST [JRST]
PDLSIZ==20 ;SIZE OF PDL
TWOSEG
RELOC 400000
QUOLST: JFCL ;IN CASE OF CCL
RESET
SETOM STRNAM+.DCNAM
SETOM GATE# ;[37] SET UP FOR PASSIVE PRNT
GETPPN T,
JFCL
MOVEM T,PPN
MOVE T,[%LDMFD]
GETTAB T,
MOVE T1,[1,,1]
MOVEM T,LOOKBF+.RBPPN
MOVSI T,'UFD' ;[41]SET UP OPEN BLOCK IN ACS
MOVEM T,LOOKBF+.RBEXT
MOVEI T,EXLLEN
MOVEM T,LOOKBF
MOVEI T,0
MOVSI T1,'TTY'
MOVSI T2,TOBUF
OPEN TTY,T
EXIT
MOVE P,[IOWD PDLSIZ,PDLIST]
MOVEI T,[ASCIZ /User: /]
PUSHJ P,MSG
HLRZ T,PPN
PUSHJ P,OCTPRT
PUSHJ P,COMMA
HRRZ T,PPN
PUSHJ P,OCTPRT
MOVEI T,[ASCIZ /
Str used left:(in) (out) (sys)
/]
PUSHJ P,MSG
NXTSTR: MOVEI T,STRNAM+.DCNAM
JOBSTR T,
JRST XIT
MOVE T,STRNAM+.DCNAM
AOJE T,XIT
PUSHJ P,LSTSTR
JRST NXTSTR
FENCE: MOVEI T,[ASCIZ /--FENCE--
/] ;[37] HERE IF STR AFTER FENCE
PUSHJ P,MSG ;[37] TELL THE USER
POPJ P, ;[37] AND RETURN
LSTSTR: SKIPN GATE ;[37] WAS LAST A FENCE?
PUSHJ P,FENCE ;[37] YES
MOVE T,STRNAM+.DCNAM
MOVEM T,GATE ;[37]
JUMPE T,CPOPJ ;[37] IF THIS IS FENCE NO PPN
PUSHJ P,SIXMSG
MOVEI T,[ASCIZ /: /]
PUSHJ P,MSG
MOVSI T,(UU.PHS)
MOVEI T2,0
MOVE T1,STRNAM+.DCNAM
OPEN STR,T
POPJ P,
MOVE T,PPN
MOVEM T,LOOKBF+.RBNAM
HLLZS LOOKBF+.RBEXT
LOOKUP STR,LOOKBF
JRST NOUFD
MOVE T,LOOKBF+.RBSTS
TRNE T,RP.NDL ;SEE IF RENAMEABLE
JRST NDLUFD ;[40] NO--ONLY PRINT SYSTEM LEFT
LSTSY1: MOVE T,[XWD .CHLEN,STRNAM]
DSKCHR T,UU.PHY
PJRST CRLF
MOVE T,STRNAM+.DCUFT
CAMN T,[XWD 400000,0]
JRST LSTST1
MOVNS T ;GET -FREE
ADD T,LOOKBF+.RBQTF ;GET USED=FCFS-FREE
MOVEM T,LOOKBF+.RBUSD ;UPDATE UFD IN CORE
LSTST1: MOVE T,LOOKBF+.RBUSD ;GET USED
PUSHJ P,DECPR5
MOVEI T,[ASCIZ / /]
PUSHJ P,MSG
MOVE T,LOOKBF+.RBQTF ;GET FCFS
CAMN T,[377777,,777777] ;SEE IF +INFINITY
JRST LSTST3 ;[40] YES, DON'T PRINT ANYTHING
SUB T,LOOKBF+.RBUSD ;GET FREE=FCFS-USED
PUSHJ P,DECPR5
LSTST3: MOVEI T,[ASCIZ / /]
PUSHJ P,MSG
MOVE T,LOOKBF+.RBQTO ;GET QUOTA OUT
CAMN T,[377777,,777777] ;SEE IF +INFINITY
JRST LSTST4 ;[40] YES--DON'T PRINT ANYTHING
SUB T,LOOKBF+.RBUSD ;GET OUT FREE=OUT-USED
PUSHJ P,DECPR5
LSTST4: MOVEI T,[ASCIZ / /]
PUSHJ P,MSG
LSTST2: MOVE T,STRNAM+.DCFCT
PUSHJ P,DECPR5
PJRST CRLF
NOUFD: MOVEI T,[ASCIZ / No /]
PUSHJ P,MSG
HLRZ T,PPN
PUSHJ P,OCTPRT
PUSHJ P,COMMA
HRRZ T,PPN
PUSHJ P,OCTPRT
MOVEI T,[ASCIZ / UFD /] ;[37]
PUSHJ P,MSG ;[37]
MOVE T,[XWD .CHLEN,STRNAM] ;[37]
DSKCHR T,UU.PHY ;[41]
PJRST CRLF ;[37]
JRST LSTST2 ;[37]
;HERE IF UFD HAS RP.NDL SET. ONLY PRINT SYSTEM LEFT
NDLUFD: MOVE T,[XWD .CHLEN,STRNAM] ;[40]
DSKCHR T,UU.PHY ;[41]
PJRST CRLF ;[40]
MOVEI T,[ASCIZ/ /] ;[40]
PUSHJ P,MSG ;[40]
JRST LSTST2 ;[40]
SPACE: MOVEI T," "
PJRST TYO
COMMA: MOVEI T,","
PJRST TYO
CRLF: JSP T,MSG
ASCIZ .
.
MSG: MOVE T1,T
HRLI T1,440700
MSG1: ILDB T,T1
JUMPE T,CPOPJ
PUSHJ P,TYO
JRST MSG1
SIXMSG: MOVE T2,T
MOVE T1,[POINT 6,T2]
SIXMS1: TLNN T1,770000
CPOPJ: POPJ P,
ILDB T,T1
JUMPE T,CPOPJ
ADDI T,40
PUSHJ P,TYO
JRST SIXMS1
DECPR5: MOVM T1,T ;GET SIZE OF NUMBER
PUSH P,T
JUMPL T,DECPR4 ;ALLOW FOR -
CAIG T1,^D9999 ;SEE IF BIG ENOUGH
PUSHJ P,SPACE ;NO--ADD SPACE
DECPR4: CAIG T1,^D999 ;SEE IF BIG ENOUGH
PUSHJ P,SPACE
CAIG T1,^D99
PUSHJ P,SPACE
CAIG T1,^D9
PUSHJ P,SPACE
POP P,T
DECPRT: SKIPA T2,[^D10]
OCTPRT: MOVEI T2,^D8
RDXPRT: SKIPL T
JRST RDXPR1
MOVM T1,T
MOVEI T,"-"
PUSHJ P,TYO
MOVE T,T1
RDXPR1: IDIVI T,(T2)
HRLM T1,(P)
SKIPE T
PUSHJ P,RDXPR1
HLRZ T,(P)
ADDI T,"0"
; PJRST TYO
TYO: SOSG TOBUF+.BFCTR
OUTPUT TTY,
IDPB T,TOBUF+.BFPTR
POPJ P,
XIT: CLOSE TTY,
RELEAS TTY,
EXIT 1,
EXIT
XLIST
LIT
LIST
RELOC 0
PPN: BLOCK 1
STRNAM: BLOCK .CHLEN
LOOKBF: BLOCK EXLLEN+1
TOBUF: BLOCK 3
PDLIST: BLOCK PDLSIZ
END QUOLST