externalintegerfunctionspec dfinfo(string (6) user,string (11) file,
integer fsys,adr)
recordformat dfinfof(integer nkb,rup,eep,apf,use,arch,fsys,conseg,
cct,codes,byteinteger spare,day,pool,codes2,
integer ssbyte,string (6) tran)
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 dolex(string (255) s)
string (6)array u(0:1023)
integer nu,nusers
integer j,n,fx,fsys,flag
integerarray a(0:99)
string (63) user
record (dfinfof) info
!
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
flag = dfinfo(user,"LEXICON",fsys,addr(info))
if flag = 0 then start
printstring(user); newline
finish
finish
nu = nu+1
repeat
fx = fx + 1
repeat
return
bp:
printstring("Illegal fsys specification"); newline
end ; ! of dolex
endoffile