EXTERNALROUTINE  ALLFILES(STRING (255)S)
!
RECORDFORMAT  INFF(STRING (11)NAME, INTEGER  SP12, NKB,
      BYTEINTEGER  ARCH, CODES, CCT, OWNP,
         EEP, USE, CODES2, SSBYTE,
         FLAGS, POOL, DAYNO, SP31)
!
EXTERNALROUTINESPEC  PROMPT(STRING (255)S)
EXTERNALROUTINESPEC  RSTRG(STRINGNAME  S)
EXTERNALROUTINESPEC  GETAVFSYS(INTEGERNAME  N,INTEGERARRAYNAME  A)
EXTERNALINTEGERFNSPEC  GETUSNAMES(INTEGERNAME  N,INTEGER  ADR,FSYS)
EXTERNALINTEGERFNSPEC  DFILENAMES(STRING (6)USER,
      RECORD (INFF)ARRAYNAME  INF,
      INTEGERNAME  FILENO, MAXREC, NFILES, INTEGER  FSYS, TYPE)
EXTERNALINTEGERFNSPEC  DFSTATUS(STRING (11)USER, FILE,
      INTEGER  FSYS, ACT, VALUE)
!
!
ROUTINE  DO(STRING (6)USER, INTEGER  FSYS)
INTEGER  J
      J = DFSTATUS(USER, "SS#DIR", FSYS, 17, 0)
      J = DFSTATUS(USER, "SS#OPT", FSYS, 17, 0)
      J = DFSTATUS(USER, "SS#PROFILE", FSYS, 17, 0)
END 
!
!
INTEGER  FSYS, P, FILENO, MAXREC, NFILES
INTEGER  NSYS, F, ADR, NU, J, K, C0, C1, N
STRING (15)FILE, U0
INTEGERARRAY  A(0:99)
STRINGNAME  U1
BYTEINTEGERARRAY  UNAMES(0:2400)
RECORD (INFF)ARRAY  INFS(0:500)
!
         PROMPT("USERS: ")
         RSTRG(U0)
!
         N = 0; ! GOOD NAMES
         ADR = ADDR(UNAMES(0))
         GET AV FSYS(NSYS, A)
!
         CYCLE  F = 0, 1, NSYS-1
            FSYS = A(F)
            J = GETUSNAMES(NU, ADR, FSYS)
            IF  NU > 0 START 
               CYCLE  J = 0, 7, (NU-1)*7
                  U1 == STRING(ADR+J)
                  CYCLE  K = 1, 1, 6
                     C0 = BYTEINTEGER(ADDR(U0)+K)
                     C1 = BYTEINTEGER(ADDR(U1)+K)
                     UNLESS  C0=M'?' OR  C0=C1 C 
                     THEN  -> NO GO
                  REPEAT 
!
                  DO(U1, FSYS)
!
NO GO:
               REPEAT 
            FINISH 
         REPEAT 
END 
ENDOFFILE