EXTERNALROUTINE NAMES(STRING (255)S)
EXTERNALROUTINESPEC CLEAR(STRING (255)S)
EXTERNALROUTINESPEC DEFINE(STRING (255)S)
!
INTEGER NI
STRING (31)W, W1, IN
!
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)
!
DEFINE("61,NAMES,1023")
SELECT OUTPUT(61)
!
NI = 0
AP = ADDR(W)
ADR = ADDR(UNAMES(0))
GET AV FSYS(NSYS, A)
!
CYCLE F = 0, 1, NSYS-1
N = A(F)
J = GETUSNAMES(NU, ADR, N)
IF NU > 0 START
CYCLE JJ = 0, 7, (NU-1)*7
U1 == STRING(ADR+JJ)
!
J = DSFI(U1, N, 18, 0, AP)
IF J = 0 START
IF W -> W1 . (".") . S START
IN = W1
IN = IN . "." . W1 WHILE S -> W1 . (".") . S
W = S . "," . IN
W <- W . " "
PRINTSTRING(W)
NEWLINE
NI = NI + 1
FINISH
FINISH
REPEAT
FINISH
REPEAT
SELECT OUTPUT(0)
CLOSE STREAM(61)
CLEAR("61")
WRITE(NI, 1)
NEWLINE
END
ENDOFFILE