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