.TITLE SYSTIM .IDENT /V7.06/ ;********************************************************************** ; ; SYSTIM SETS UP FILES AT SYSTEM BOOT AS REQUIRED BY THE ; LATER EXECUTION OF THE DISK ACCOUNTING SYSTEM ; OR REPORTING PROGRAM. ; IT WRITES AN 8-WORD RECORD CONTAINING THE SYSTEM TIME ; IN THE FORMAT RETURNED BY THE GTIM$ MACRO CALL. ; THIS PROGRAM WRITES TO FILE LB:[0,0]TSKNAM.TIM ; WHERE "TSKNAM" IS THE NAME GIVEN TO THIS TASK WHEN ; IT IS RUN. ; ; VERSION: V6 OCTOBER 1979 ; VERSION: V7 APRIL 1981 ; ; STEVE THOMPSON SCHOOL OF CHEMICAL ENGINEERING ; OLIN HALL ; CORNELL UNIVERSITY ; ITHACA NY 14853 ; ; ; REVISION HISTORY ; ---------------- ; ; SMT814 12-APR-82 LOWER CASE MESSAGES FOR RSX-11M V4.0 ; ; SMT851 22-JUL-83 ADDED RSX-11M V4.1 SUPPORT ; ;********************************************************************* .MCALL FDBDF$,FDAT$A,FDRC$A,FDOP$A,FSRSZ$,FINIT$ .MCALL OPEN$W,CLOSE$,PUT$,NMBLK$ .MCALL GTSK$S,GTIM$S,EXIT$S,QIOW$ .MCALL EXST$S LUN1 = 1 ; LUN FOR TI: I/O LUN2 = 2 ; LUN FOR FILE I/O ; ; ERROR MESSAGES ; .NLIST BEX .IIF DF AA$V40 ! AA$V41, .ENABL LC ERR1: .ASCII /SYSTIM -- Create failure/ ERR1SZ=.-ERR1 ERR2: .ASCII /SYSTIM -- Write error/ ERR2SZ=.-ERR2 .EVEN TSKBUF: .BLKW 16. ; TASK INFORMATION BUFFER TIMBUF: .BLKW 8. ; DATE/TIME BUFFER RECSIZ=.-TIMBUF DIR00: .ASCII /[0,0]/ ; DIRECTORY DESCRIPTOR DIRSIZ=.-DIR00 .EVEN FSRSZ$ 1 FDB: FDBDF$ ; DEFINE FDB FOR OUTPUT FILE FDAT$A R.VAR,FD.BLK,,1 ; GIVE THE FILE SOME ATTRIBUTES FDRC$A ,TIMBUF,RECSIZ ; FDOP$A LUN2,,NMBLK,FO.WRT ; NMBLK: NMBLK$ TIME,TIM,1,LB,0 QIOW: QIOW$ IO.WVB,LUN1,1,,,,<0,0,40> .PAGE $STMEP: FINIT$ ; MOV #DIRSIZ,R1 ; SET SIZE OF DEFAULT UFD STRING MOV #DIR00,R2 ; AND ITS ADDRESS CALL .WDFDR ; WRITE DEFAULT DIRECTORY IN $$FSR2 MOV #176000,R1 ; SET PROTECTION MASK TO [RWED,RWED,RW,] CALL .WDFFP ; SET FILE PROTECTION MOV #401,R1 ; SET FILE OWNER TO [1,1] CALL .WFOWN ; SET FILE OWNER GTIM$S #TIMBUF ; GET TIME PARAMETERS GTSK$S #TSKBUF ; GET TASK INFORMATION MOV TSKBUF+G.TSTN,NMBLK+N.FNAM ; SET FILE NAME = TASK NAME MOV TSKBUF+G.TSTN+2,NMBLK+N.FNAM+2 ; CLR NMBLK+N.FNAM+4 ; MOV #FDB,R0 ; GET FILE DESCRIPTOR BLOCK ADDRESS OPEN$W R0 ; OPEN NEW FILE BCS 70$ ; OPEN FAILURE PUT$ R0 ; WRITE IN THE DATA BCS 80$ ; WRITE ERROR CLOSE$ R0 ; AND CLOSE IT EXIT$S ; FINISHED 70$: MOV #ERR1,QIOW+Q.IOPL ; SET ERROR MESSAGE ADDRESS MOV #ERR1SZ,QIOW+Q.IOPL+2 ; AND ITS LENGTH DIR$ #QIOW ; PRINT THE ERROR MESSAGE EXST$S #EX$SEV ; EXIT WITH SEVERE ERROR 80$: CLOSE$ R0 ; CLOSE THE FILE MOV #ERR2,QIOW+Q.IOPL ; SET ERROR MESSAGE ADDRESS MOV #ERR2SZ,QIOW+Q.IOPL+2 ; AND ITS LENGTH DIR$ #QIOW ; PRINT THE ERROR MESSAGE EXST$S #EX$ERR ; EXIT WITH ERROR .END $STMEP