.TITLE INITPAS INITIALIZE PASSWORD FILE .IDENT /V03.00/ ; ; *********************** ; * [311,77]INITPAS.MAC * ; *********************** ; .MCALL OPEN$W,PUT$R,CLOSE$,FSRSZ$,FINIT$ ; ; THIS TASK CREATES AND INITIALIZES TO ZERO THE PDS EMPLOYEE ; NUMBER BIT MAP FILES. ; NUMPAS=12288. ; LARGEST EMPLOYEE NUMBER NUMREC=NUMPAS/16. ; NUMBER OF EMPLOYEE RECORDS ; START:: FSRSZ$ 2 FINIT$ CLR R5 ; R5 = 0 THEN INITIALIZING REGULAR ; 1 THEN INITIALIZING PRIVILAGED ; .MCALL QIOW$S,EXIT$S 10$: OPEN$W #PASFDB ; OPEN PASSWORD FILE BCC 50$ ; OPEN OK ; 30$: MOV #ECODE,R0 ; GET ERROR CODE MOVB PASFDB+F.ERR,R1 ; CLR R2 ; CALL $CBDSG ; QIOW$S #IO.WVB,#5,#1,,,,<#ERRP,#ERRPL,#40> ; PRINT ERROR MESSAGE EXIT$S ; ; 50$: MOV #NUMREC,R1 ; SET UP TO WRITE NUMREC RECORDS MOV #1,R3 ; INITIALIZE RECORD POINTER 60$: PUT$R #PASFDB,#PASS,#2,R3 ; BCS 30$ ; ERROR INC R3 ; INCREMENT RECORD NUMBER SOB R1,60$ ; LOOP CLOSE$ #PASFDB ; DONE CLOSE FILE TST R5 ; ARE WE DONE BNE 70$ ; YES MOV #SPSA,ACTDS+12 ; SET UP TO DO PRIVILAGED PASSWORDS MOV #SPSS,ACTDS+10 ; INC R5 ; BR 10$ ; GO DO IT 70$: QIOW$S #IO.WVB,#5,#1,,,,<#DONE,#DONEL,#40> EXIT$S ; ERRP: .ASCII /PASSWORD FILE FAILURE CODE = / ECODE: .ASCII / / ERRPL=.-ERRP DONE: .ASCII /ALL DONE/ DONEL=.-DONE .EVEN ; PASS: .WORD 0 ; .MCALL FDBDF$,FDOP$A,FDBF$A,FDRC$A,FDAT$A ; PASFDB: FDBDF$ FDAT$A R.FIX,FD.BLK,2,3 FDRC$A FD.RAN FDOP$A 6,ACTDS,,,FA.ENB!FA.DLK FDBF$A 6,,1 ; ACTDS: .WORD DNSS ; DEVICE NAME SIZE .WORD DNSA ; DEVICE NAME ADDRESS .WORD DIRSS ; DIRECTORY SIZE .WORD DIRSA ; DIRECTORY ADDRESS .WORD FNSS ; FILE NAME SIZE .WORD FNSA ; FILE NAME ADDRESS DNSA: .ASCII /LB0:/ DNSS=.-DNSA DIRSA: .ASCII /[1,100]/ DIRSS=.-DIRSA FNSA: .ASCII /PDSPAS.PAS/ ; REGULAR PASSWORD FILE FNSS=.-FNSA SPSA: .ASCII /PDSPRIV.PAS/ ; PRIV PASSWORDS SPSS=.-SPSA ; .END START