EXTERNALROUTINE SETS(STRING (255)S) ! ! EXTERNALROUTINESPEC PROMPT(STRING (255)S) EXTERNALROUTINESPEC RDINT(INTEGERNAME I) EXTERNALROUTINESPEC RSTRG(STRINGNAME S) EXTERNALROUTINESPEC GETAVFSYS(INTEGERNAME N,INTEGERARRAYNAME A) EXTERNALINTEGERFNSPEC GETUSNAMES(INTEGERNAME N,INTEGER ADR,FSYS) EXTERNALINTEGERFNSPEC DSFI(STRING (6)U,INTEGER F,T,S,A) ! ! INTEGER M, I, W INTEGER TYPE, NSYS, F, ADR, NU, J, K, C0, C1, N STRING (15)WHAT, MODE, U0 INTEGERARRAY A(0:99) INTEGERARRAY P(1:100) INTEGERARRAY ITYPE(1:100) INTEGERARRAY FLD(0:15) STRINGNAME U1 STRING (6)ARRAY GU(1:100) STRING (31)ARRAY STYPE(1:100) BYTEINTEGERARRAY UNAMES(0:2400) ! INTEGERFN LOOK UP(STRING (31)WHAT,STRINGNAME MODE) CONSTSTRING (15)ARRAY TYPES(0:38) = C "SBASEFILE", "SDELIVERY", "", "SADDRTELE", "", "", "ILASTLOGON", "IACR", "IDIRVSN", "", "ISTKKB", "IMAXKB", "IMAXFILE", "", "", "", "IDIRMON", "ISIGMON", "SSURNAME", "SLOGFILE", "","","","","","","","","","","","", "IISESSM","IINUTS","", "SSPECIALSS", "SBATCHSS", "SGPHOLDR", "ITRYING" INTEGER I ! CYCLE I = 0, 1, 38 IF TYPES(I) -> MODE.(WHAT) THEN RESULT = I REPEAT RESULT = -1 END ; ! OF LOOK UP ! PROMPT("WHAT: ") RSTRG(WHAT) TYPE = LOOK UP(WHAT, MODE) ! IF TYPE < 0 C THEN PRINTSTRING("NOT KNOWN ") C ELSE START PROMPT("NEW VALUE: ") IF MODE = "I" C THEN RDINT(FLD(0)) C ELSE RSTRG(STRING(ADDR(FLD(0)))) PROMPT("USERS: ") RSTRG(U0) ! N = 0; ! GOOD NAMES ADR = ADDR(UNAMES(0)) GET AV FSYS(NSYS, A) ! CYCLE F = 0, 1, NSYS-1 J = GETUSNAMES(NU, ADR, A(F)) 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 ! K = DSFI(U1, A(F), TYPE, 1, ADDR(FLD(0))) NO GO: REPEAT FINISH REPEAT FINISH END ; ! OF SETS ENDOFFILE