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