EXTERNALROUTINE DESCRIBE(STRING (255)USER)
!
ROUTINE ERROR(INTEGER N)
EXTERNALSTRINGFNSPEC DERRS(INTEGER N)
PRINTSTRING("Flag = ")
PRINTSTRING(DERRS(N))
END
!
!
!
ROUTINE PRINTCHS(STRING (255)S)
SYSTEMINTEGERFNSPEC IOCP(INTEGER EP, PARM)
INTEGER LEN, ADR, RES; ! KEEP IN THIS ORDER !!!!
RETURN IF LENGTH(S) = 0
LEN = LENGTH(S)
ADR = ADDR(S) + 1
RES = IOCP(19, ADDR(LEN))
END
!
!
!
ROUTINE MOVE(INTEGER L, FROM, TO)
*LDTB_X'18000000'
*LDB_L
*LDA_FROM
*CYD_0
*LDA_TO
*MV_L =DR
END ; ! MOVE
!
!
!
INTEGERFN GET FSYS(STRING (6)USER, INTEGERNAME FS)
EXTERNALINTEGERFNSPEC DFSYS(STRING (6)USER, INTEGERNAME FSYS)
EXTERNALROUTINESPEC GETAVFSYS(INTEGERNAME N, INTEGERARRAYNAME A)
EXTERNALSTRINGFNSPEC VDUS(INTEGER N)
INTEGER N, F, C
INTEGERARRAY FSYS(0:99)
GET AV FSYS(N, FSYS)
C = 0
CYCLE F = 0, 1, N-1
J = DFSYS(USER, FSYS(F))
RESULT = J IF 0 # J # 37
!
IF J = 0 START
IF C = 0 START
PRINTCHS(VDUS(1))
PRINTSTRING("User: ")
PRINTSTRING(USER)
PRINTSTRING(" Fsys: ")
FS = FSYS(F)
FINISH
C = C + 1
WRITE(FSYS(F), 2)
FINISH
REPEAT
!
RESULT = 37 IF C = 0
RESULT = 0
END
!
!
!
EXTERNALINTEGERFNSPEC DSFI(STRING (6)USER, INTEGER FSYS, TYPE,
SET, ADR)
SYSTEMSTRING (8)FNSPEC UNPACKDATE(INTEGER I)
SYSTEMSTRING (8)FNSPEC UNPACKTIME(INTEGER I)
INTEGER J, T, FSYS, AI0, K
INTEGERARRAY INT(0:15)
STRING (15)W
REAL R
STRINGNAME S
CONSTINTEGER TYPES = 15
CONSTBYTEINTEGERARRAY TYP(1:TYPES) = C
18, 1, 0, 4, 30, 11, 12, 7, 13, 14, 33, 37, 40, 6, 9
CONSTSTRING (31)ARRAY TAG(1:TYPES) = C
"Surname: ", "
Delivery: ", "
Basefile: ", "
Index use: ", "
Files: ", "
Limits: MaxKb",
" Maxfilesize", "
ACR: ", "
Current procs: ", " max procs: ", "
Funds: ", " Gpholder: ", "
Dates passwords changed: ", "
Last log on: ", "
#ARCH use: index size"
SWITCH SW(1:TYPES)
!
J = GET FSYS(USER, FSYS)
ERROR(J) AND RETURN UNLESS J = 0
NEWLINE
!
AI0 = ADDR(INT(0))
S == STRING(AI0)
CYCLE T = 1, 1, TYPES
J = DSFI(USER, FSYS, TYP(T), 0, AI0)
PRINTSTRING(TAG(T))
-> SW(T) IF J = 0
ERROR(J)
-> NEXT
SW(1):
SW(2):
SW(3):
SW(12):
PRINTSTRING(S)
-> NEXT
SW(4):
WRITE(INT(0), 1)
PRINTSTRING(" files, index size")
WRITE(INT(3)+1, 1)
PRINTSTRING("Kb")
NEWLINE
!
WRITE(INT(1), 3); PRINTSTRING(" FDs used")
WRITE(INT(4)-INT(5), 3); PRINTSTRING(" SDs used")
WRITE(INT(6)-INT(7), 3); PRINTSTRING(" PDs used")
NEWLINE
!
WRITE(INT(2), 3); PRINTSTRING(" FDs free")
WRITE(INT(5), 3); PRINTSTRING(" SDs free")
WRITE(INT(7), 3); PRINTSTRING(" PDs free")
-> NEXT
SW(5):
WRITE(INT(0), 1)
PRINTSTRING(" disc files,")
WRITE(INT(1), 1)
PRINTSTRING(" Kb,")
WRITE(INT(4), 1)
PRINTSTRING(" Temp files,")
WRITE(INT(5), 1)
PRINTSTRING(" Temp Kb")
-> NEXT
SW(6):
SW(7):
SW(8):
WRITE(INT(0), 1)
-> NEXT
SW(9):
WRITE(INT(0), 3)
WRITE(INT(1), 3)
-> NEXT
SW(10):
WRITE(INT(0), 3)
WRITE(INT(1), 3)
WRITE(INT(2), 3)
-> NEXT
SW(11):
R = INT(0) / 10000
PRINT(R, 1, 2)
-> NEXT
SW(14):
SW(13):
CYCLE J = 0, 1, 1
K = INT(J)
IF K = 0 C
THEN PRINTSTRING("????") C
ELSE PRINTSTRING(UNPACKDATE(K)." ".UNPACKTIME(K))
PRINTSTRING(" / ") IF J = 0
REPEAT
-> NEXT
SW(15):
WRITE(INT(4), 1)
NEWLINE
WRITE(INT(0), 6); PRINTSTRING(" A files ")
WRITE(INT(2), 6); PRINTSTRING(" B files ")
WRITE(INT(5)-INT(6), 4); PRINTSTRING(" FDs used")
WRITE(INT(7)-INT(8), 4); PRINTSTRING(" PDs used")
NEWLINE
WRITE(INT(1), 6); PRINTSTRING(" A Kbytes")
WRITE(INT(3), 6); PRINTSTRING(" B Kbytes")
WRITE(INT(6), 4); PRINTSTRING(" FDs free")
WRITE(INT(8), 4); PRINTSTRING(" PDs free")
NEXT:
REPEAT
NEWLINE
END
!
ENDOFFILE