externalintegerfunctionspec outpos
externalintegerfunctionspec dsfi(string (6) user,integer fsys,type,
set,adr)
externalintegerfunctionspec get usnames(integername n,integer adr,
fsys)
externalroutinespec get av fsys(integername n,integerarrayname a)
systemstringfunctionspec itos(integer n)
!
!
integerfunction stoi(string (255) s)
if s = "-1" then result = -1
if length(s) = 1 then s = "0".s
if length(s) # 2 then result = -2
unless '0' <= charno(s,1) <= '9' then result = -2
unless '0' <= charno(s,2) <= '9' then result = -2
result = (charno(s,1) - '0')*10 + charno(s,2) - '0'
end ; ! of stoi
!
!
externalroutine checksfi(string (255) s)
string (6)array u(0:1023)
integer nu,nusers,flag
integer i,j,n,fx,fsys
integerarray a(0:99)
integerarray i1(1:8)
string (31) basefile
string (63) user
!
fsys = -1
if s # "" then start
fsys = stoi(s)
unless -1 <= fsys <= 99 then -> bp
finish
if fsys<0 then get av fsys(n,a) else a(0) = fsys and n = 1
fx = 0
while fx<n cycle
fsys = a(fx)
printstring("+++ FSYS ".itos(fsys)." +++"); newline; newline
j = get usnames(nusers,addr(u(0)),fsys)
printstring("GET USNAMES flag ="); write(j,1)
printstring(" No of users ="); write(nusers,1); newlines(2)
nu = 0
while nu<nusers cycle
user<-u(nu)
if user = "VOLUMS" or user = "SPOOLR" or c
substring(user,1,4) = "UNIX" or c
substring(user,1,3) = "ERC" or c
user = "JOURNL" or user = "ENGINR" or c
substring(user,1,5) = "MANAG" or c
user = "MAILER" or user = "FTRANS" then start
nu = nu + 1
continue
finish
if length(user) = 6 then start
flag = dsfi(user,fsys,0,0,addr(basefile))
monitor if flag # 0
if "MANAGR.SKELBASE" # basefile # "" then start
printstring("BASEFILE")
spaces(12-outpos)
printstring(user.": ".basefile)
newline
finish
flag = dsfi(user,fsys,14,0,addr(i1(1)))
monitor if flag # 0
if i1(1) # 1 or i1(2) # 1 or i1(3) # 2 then start
printstring("IBT")
spaces(12-outpos)
printstring(user.": ".itos(i1(1)).".".itos(i1(2)).".".itos(i1(3)))
newline
finish
flag = dsfi(user,fsys,7,0,addr(i))
monitor if flag # 0
if i # 10 then start
printstring("ACR")
spaces(12-outpos)
printstring(user.": ".itos(i))
newline
finish
flag = dsfi(user,fsys,12,0,addr(i))
monitor if flag # 0
if i # 1024 then start
printstring("MAXFILE")
spaces(12-outpos)
printstring(user.": ".itos(i))
newline
finish
flag = dsfi(user,fsys,4,0,addr(i1(1)))
monitor if flag # 0
if i1(4) # 4 then start
printstring("INDEX")
spaces(12-outpos)
printstring(user.": ".itos(i1(4)))
newline
finish
finish
nu = nu+1
repeat
fx = fx + 1
repeat
return
bp:
printstring("Illegal fsys specification"); newline
end ; ! of check
endoffile