SUBROUTINE LOGIN(IOUT,MUIC,MBLOCK,INTT,NDEV) C.. C.. BOHDEN K. CMAYLO, JUL 82 C.. C.. THIS ROUTINE (ALONG WITH KBLOCK) PERFORMS C.. LOGIN STORAGE OF INFO INTO FILE SX:[5,10]LOGGER.1ST C.. C.. LOGGER.1ST 16 WORD RECORD; 1=TT0, 2=TT1, ETC C.. C.. 1=UIC (GROUP) C.. 2=UIC (MEMBER) C.. 3=YR C.. 4=MO C.. 5=DA C.. 6-7=SECONDS SINCE MIDNIGHT C.. 8=FILES LOGGED IN C.. 9-10=BLOCKS USED C.. 11-12=BLOCKS ALLOCATED C.. 13-14=MAXBLK (FROM LOGIN) C.. 15-16=DEVICE;NO COLON C.. DIMENSION INPUT(16),INPUTR(16),MUIC(2),MBLOCK(2,4) BYTE INFILE(24),INPUTB(44),NDEV(5),IR0 DOUBLE PRECISION XFILE(3) EQUIVALENCE (SECS,INPUT(6)),(INPUT,INPUTB) EQUIVALENCE (INFILE,XFILE) DATA IR0,XFILE/'0','SX:[5,10',']LOGGER.','1ST '/ C.. C.. CHECK FOR VALID ANSWERS AND VALID LOG ENTRY C.. IF(INTT.LT.0.OR.INTT.GT.63) GO TO 299 C.. C.. GET DATE AND TIME FIGURES STORED C.. CALL IDATE(INPUT(4),INPUT(5),INPUT(3)) SECS=SECNDS(0.) C.. C.. STORE PASSED PARAMETERS C.. UIC1,UIC2 CALL WORDDO(INPUT(1),INPUT(2),MUIC(1)) C..FILES,BLOCKSUSED,BLOCKSALL,BLOCKSMAX CALL WORDDO(INPUT(8),INPUT(14),MBLOCK(2,1)) C..DEVICE CALL BYTEDO(INPUTB(29),INPUTB(32),NDEV) INPUTB(33)=':' INPUTB(34)=0 CALL ASSIGN(IOUT,INPUTB(29)) CALL GETLUN(IOUT,INPUTB(29)) CALL CLOSE(IOUT) INPUTB(32)=INPUTB(31) INPUTB(31)=INPUTB(32)/10 INPUTB(32)=INPUTB(32)-INPUTB(31)*10 INPUTB(31)=INPUTB(31)+IR0 INPUTB(32)=INPUTB(32)+IR0 C.. C.. READ, THEN WRITE OUT TO CORRECT LOCATION IF OK. C.. INREC=INTT+1 CALL ERRSET(29,.TRUE.,.FALSE.,.TRUE.,.FALSE.,100) INFILE(20)=0 OPEN(UNIT=IOUT,NAME=XFILE,ACCESS='DIRECT',FORM='UNFORMATTED', 1 MAXREC=64,RECORDSIZE=8,SHARED,TYPE='OLD',ERR=99) JREC=INREC READ(IOUT'JREC)INPUTR IF(INPUTR(1).NE.0) GO TO 299 C..OK, WRITE OUT RECORD WRITE(IOUT'INREC)INPUT 299 CLOSE(UNIT=IOUT) RETURN 99 TYPE 199,(XFILE(I),I=1,3) 199 FORMAT('0*** ERROR *** LOGIN *** BAD LOGGER FILE =',3A8) RETURN END