EXTERNALROUTINE FULLIP(STRING (255)S)
EXTERNALINTEGERFNSPEC DPERMISSION(STRING (6)OWNER, USER, C
STRING (8)DATE, STRING (11)FILE, INTEGER FSYS, TYPE, ADR)
RECORDFORMAT F1(STRING (6)USER, BYTEINTEGER PRM)
RECORDFORMAT F2(INTEGER N, OWNP, EEP, X, RECORDARRAY IP(0:15)(F1))
!
RECORD P(F2)
RECORDNAME IP(F1)
CONSTINTEGER ACR = 7
CONSTINTEGER TRY = 38
!
SYSTEMROUTINESPEC PHEX(INTEGER I)
EXTERNALROUTINESPEC GETAVFSYS(INTEGERNAME N,INTEGERARRAYNAME A)
EXTERNALINTEGERFNSPEC GETUSNAMES(INTEGERNAME N,INTEGER ADR,FSYS)
EXTERNALINTEGERFNSPEC DSFI(STRING (6)U,INTEGER F,T,S,A)
!
!
INTEGER NSYS, F, AP, ADR, NU, JJ, J, K, N
INTEGERARRAY A(0:99)
INTEGERARRAY FLD(0:15)
STRINGNAME U1
BYTEINTEGERARRAY UNAMES(0:2400)
!
AP = ADDR(P)
ADR = ADDR(UNAMES(0))
PRINTSTRING("GET FSYSS")
NEWLINE
GET AV FSYS(NSYS, A)
!
CYCLE F = 0, 1, NSYS-1
N = A(F)
PRINTSTRING("FSYS")
WRITE(N, 1)
NEWLINE
J = GETUSNAMES(NU, ADR, N)
IF NU > 0 START
CYCLE JJ = 0, 7, (NU-1)*7
U1 == STRING(ADR+JJ)
!
J = DPERMISSION(U1, "", "", "", N, 8, AP)
IF J = 0 START
K = P_N-24
IF K>=0 START
K = K//8
CYCLE J = K, -1, 0
IP == P_IP(J)
IF IP_PRM = 7 START
PRINTSTRING(U1 . " " . IP_USER)
NEWLINE
FINISH
REPEAT
FINISH
FINISH
REPEAT
FINISH
REPEAT
END
ENDOFFILE