externalstringfunctionspec derrs(integer n)
recordformat oinff(string (11) name,integer sp12,nkb,
byteinteger arch,codes,cct,ownp,eep,use,codes2,
ssbyte,flags,pool,dayno,sp31)
externalintegerfunctionspec dfilenames(string (6) user,
record (oinff)arrayname inf,
integername fileno,maxrec,
nfiles,integer fsys,type)
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 doarch(string (255) s)
string (6)array u(0:1023)
integer nu,nusers,fromrec,ngiven,nfiles,flag
integer j,n,fx,fsys,ix
integerarray a(0:99)
string (31) file
string (63) user
record (oinff)array flis(0:255)
!
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 length(user) = 6 then start
fromrec = 0
ngiven = (1<<31)!256
flag = dfilenames(user,flis,fromrec,ngiven,nfiles,fsys,0)
if flag # 0 then start
printstring("User ".user." DFILENAMES flag =".derrs(flag))
newline
nu = nu + 1
continue
finish
ix = 0
while ix < ngiven cycle
file = flis(ix)_name
if file = "#ARCH" or file = "SS#DIR" or file = "SS#OPT" or file = "SS#PROFILE" then start
ix = ix + 1
continue
finish
if flis(ix)_codes&128 # 0 then start
printstring(user.".".file); newline
finish
ix = ix + 1
repeat
finish
nu = nu+1
repeat
fx = fx + 1
repeat
return
bp:
printstring("Illegal fsys specification"); newline
end ; ! of doarch
endoffile