%externalroutine findpriv(%string(255)u) %string(6)user %integer flag,fsys,priv,i %externalintegerfnspec dfsys(%string(6)user,%integername fsys) %externalintegerfnspec dsfi (%string(6)user,%integer fsys,type,set,adr) user<-u %if length(user)#6 %then flag=8 %and ->out fsys=-1 flag=dfsys(user,fsys) ->out %unless flag=0 flag=dsfi(user,fsys,38,0,addr(priv)) ->out %unless flag=0 write(priv,1) newline %for i=0,1,32 %cycle %if (priv>>i)&1=1 %then write(i,3) %repeat out: %if flag#0 %start printstring("Flag=") write(flag,1) newline %finish %end %endoffile