095 !! 100 ! PROGRAM TO ADD USER TO PDSUPF DATA FILE 110 DIM #4,DD%(255,31) 120 DIM PS$[6],PX%(2),UC$[9],U1$[3]V,U2$[3]V 130 DIM NA%(4),PW%(2),DV$[4],NM$[12],LN$[72]V,NB%(4) 140 ! FORMAT OF PDSUPF RECORD (LENGTH=64 BYTES) 150 ! NAME (8 BYTES) 160 ! UIC (2 BYTES) 170 ! PASSW (4 BYTES, COMPLEMENT OF RAD50) 180 ! BLANK (2 BYTES) 190 ! PRIV (2 BYTES) 200 ! BLANK (22. BYTES) ACCOUNTING INFORMATION WE DON'T USE 210 ! DEVICE (4 BYTES) IN ASCII XXN: 220 ! BLANK (20. BYTES) BATCH PRI,BATCH PW # TASKS, ETC 230 PRINT "USER NAME "; 240 INPUT NM$ 250 FOR I=1 TO 4 260 NB%(I)=AR5(SBS$(NM$,3*I-2,3)) 270 NEXT I 280 OPEN #4,"[1,100]PDSUPF.DAT/FX/BN/LN:64/RN/RO" 290 MA%=0 300 RE=1 310 INPUT #4@RE,FU%,LU% 320 FOR I=FU% TO LU% 330 INPUT #4@I,NA%(1),NA%(2),NA%(3),NA%(4) 340 IF NA%(1)=0 AND MA%=0 THEN MA%=I 342 FOR IK=1 TO 4 344 IF NA%(IK)<>NB%(IK) THEN 350 345 NEXT IK 346 PRINT "USER NAME ALREADY IN FILE" 347 RUN "USERSMENU.SYS" 350 NEXT I 355 IF MA%>0 THEN GOTO 440 360 ! NO BLANK RECORDS 370 CLOSE 4 380 LU%=LU%+1 : RE%=LU% : UN%=LU%-FU%+1: ! SET NEW RECORD # AND USER # 390 RN%=2+(UN%-1)/8 : ! SET RECORD # FOR NAMES TABLE AREA 400 IF RN%32767 THEN U=U-65536 560 UI%=U 570 PRINT "ENTER PASSWORD "; 580 PS$=" " 590 INPUT PS$ 600 PW%(1)=-1-AR5(SBS$(PS$,1,3)) 610 PW%(2)=-1-AR5(SBS$(PS$,4,3)) 620 INPUT "PRIVILEGE WORD (OCTAL) ";UC$ 630 PR%=OCT(UC$) 640 INPUT "DEVICE (ASCII 'DDN:') "; DV$ 650 OPEN #4,"[1,100]PDSUPF.DAT/BL/UP" 660 FOR I=1 TO 32 670 DD%(RE%-1,I-1)=DD%(0,I-1) 680 NEXT I 690 FOR I=1 TO 4 700 DD%(RE%-1,I-1)=NB%(I) 710 NEXT I 720 DD%(RE%-1,4)=UI% 730 DD%(RE%-1,5)=PW%(1) 740 DD%(RE%-1,6)=PW%(2) 750 DD%(RE%-1,8)=PR% 760 DD%(RE%-1,20)=ASC(SBS$(DV$,2,1))*256+ASC(SBS$(DV$,1,1)) 770 DD%(RE%-1,21)=ASC(SBS$(DV$,4,1))*256+ASC(SBS$(DV$,3,1)) 780 DD%(0,1)=LU% 790 CLOSE 4 800 RUN "LOGCREATE.SYS"