Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - cblio.c06
There is 1 other file named cblio.c06 in the archive. Click here to see a list.
 INS 4/2	;06C1
	;JSM	08-APR-83 [1064] GET CHECKPOINTING AND RERUN IN FRONT OF IMPLICIT FREE
	;                        FOR SIMULTANEOUS UPDATE
	;JSM	08-APR-83 [1063] IF FILE OPENED FOR SMU DOES NOT HAVE MAX BYTE
	;			 COUNT IN FDB GIVE WARNING MESSAGE
	;JEH	07-APR-83 [1062] If program's blocking factor differs from ISAM's
	;			  blocking factor, give error
	;SMI	31-MAR-83 [1061] Fix bytesize on open of MAGTAPE with RECORDING MODE
	;			  SIXBIT
	;RLF	16-MAR-83 [1057] Set correct value for files status and error number.
	;JEH	24-FEB-83 [1055] Extend sixbit w/ logical blk > physical blk fails
	;			 if re-opened at logical block boundary
	;JEH	10-FEB-83 [1052] Extend blocked sixbit files correctly
	;JEH	25-JAN-83 [1050] Set last blk nbr (D.LBN) for random input file
 REP 21/23	;06C2
		CAMLE	AC2,AC6		;[535] [515] IF NOT LESS OR EQUAL ERROR
 WIT
		CAME	AC2,AC6		;[535] [515] [1062] IF NOT EQUAL, ERROR
 REP 115/48	;06C3
		TLNE	FLG,DDMBIN	; IS DEVICE MODE BINARY?
 WIT
		TLNE	FLG,DDMBIN!DDMSIX	;[1052]IS DEVICE MODE BINARY or SIXBIT?
 INS 159/48	;06C4
		MOVE	AC0,D.BPL(I16)	;[1055] GET # OF BUFFERS PER LOGICAL BLOCK
		MOVEM	AC0,D.BCL(I16)	;[1055] RESET # OF BUFFERS TO FILL CURR LOG BLK
 REP 18/61	;06C5
		JRST	OPNLU3		;[1007] YES IT IS, ULBLK. IS CORRECT
 WIT
	;[1050]	JRST	OPNLU3		;[1007] YES IT IS, ULBLK. IS CORRECT
		JRST	[TLNE	FLG,RANFIL	;[1050] IF RANDOM FILE,
			 PUSHJ	PP,OPNEL2	;[1050]  SET D.LBN, LAST BLK NBR
			 JRST	OPNLU3]		;[1050]  (USE EXTENDED LKUP BLK)
 REP 7/64	;06C6
		E.MCPT==^D2000000	; [431] [1015] MONITOR COMPT. UUO ERROR
 WIT
		E.MCPT==^D3000000	; [431] [1015] [1057] MONITOR COMPT. UUO ERROR
 REP 178/64	;06C7
	IFN ISAM,<TLZ	FLG1,FOPIDX>		; [431] CLEAR FLAG
 WIT
	IFN ISAM,<TLZE	FLG1,FOPIDX>		;[M1063] [431] CLEAR FLAG

	;THE FOLLOWING CHUNK OF CODE CHECKS FOR RELATIVE FILES OPENED UNDER SMU.
	; IF A FILE DOES NOT HAVE THE MAXIMUM BYTE COUNT IN ITS FDB A WARNING
	; MESSAGE IS ISSUED TO THE USER'S TERMINAL.

		SKIPA	AC2,ICHAN(I12)		;[1063]  GET CHAN # FROM HERE
		LDB	AC2,DTCN.		;[1063]  ELSE FROM HERE
		PUSHJ	PP,GETJFN		;[1063] GET THE JFN
		 SETZ	AC1,			;[1063]  FAILED, CANNOT HAPPEN
		TLNE	FLG,RANFIL		;[1063] IS IT A RELATIVE FILE?
		TLNN	FLG,OPNIO		;[1063]  AND BEING OPENED FOR I-O?
		 JRST	RET.2			;[1063] NO
		SKIPN	F.WSMU(I16)		;[1063]  UNDER SIMULTANEOUS UPDATE?
		 JRST	RET.2			;[1063] NO
		HRRZS	AC1,AC1			;[1063] MAKE SURE ONLY JFN IN AC1
		HRLI	AC2,1			;[1063]  WANT ONLY 1 WORD FROM FDB
		HRRI	AC2,.FBSIZ		;[1063]  THE FILE BYTE COUNT
		HRRZI	AC3,AC0			;[1063]   PUT IT IN AC0
		GTFDB				;[1063] GET THE FDB INFO
		 ERJMP	[POPJ PP,]		;[1063]  SHOULDN'T HAPPEN, TAKE THE ERROR RETURN
		HRLOI	AC2,377777		;[1063] PUT MAX NO. OF BYTES IN AC2
		CAMN	AC0,AC2			;[1063]  SAME AS IN FDB?
		 JRST	RET.2			;[1063]   YES
		PUSHJ	PP,DSPL1.		;[1063] PUT OUT MESSAGE
		OUTSTR	[ASCIZ /% /]
		MOVE	AC2,[BYTE (5)10,31,20,14]
		PUSHJ	PP,MSOUT1
		OUTSTR	[ASCIZ / does not have the maximum file size
	in its FDB. Run SETEOF before updating to insure no loss of data under SMU.
	/]
 INS 182/64	;06C8
		MOVEI	AC0,^D30		; [1057] IT IS A
		MOVEM	AC0,FS.FS		; [1057] PERMANENT ERROR
 REP 22/75	;06C9
		JRST	RET.2		; NO,DEFAULT OK, GOOD RETURN

 WIT
		JRST	DEFMOD		;[1061] SET MODE TO CORE DUMP
 INS 31/75	;06C10
	;[1061] HERE TO SET INDUSTRY COMPATIBLE CORE DUMP MODE
	DEFMOD:	HRLZI	AC3,2		;[1061] LENGTH ,, ADDR
		MOVEI	AC2,.TFMID	;[1061] INDUSTRY-COMPATIBLE CORE DUMP MODE
		JRST	TAPMOD		;[1061] GO SET IT

 REP 43/121	;06C11

 WIT
		SKIPN	F.WSMU(I16)	;[1064] DOING SIMULTANEOUS UPDATE?
		 JRST	WRTR11		;[1064] NO
		SKIPN	SU.FRF		;[1064] DOING FAKE READ FOR SMU?
		 PUSHJ	PP,LRDEQX##	;[1064]  NO
 REP 25/150	;06C12
		SKIPE	F.WSMU(I16)	; SIMULTANEOUS UPDATE ?
		PUSHJ	PP,LRDEQX##	; YES
 WIT
	;[D1064] SKIPE	F.WSMU(I16)	; SIMULTANEOUS UPDATE ?
	;[D1064] PUSHJ	PP,LRDEQX##	; YES
 REP 41/168	;06C13
		SKIPE	F.WSMU(I16)	; SIMULTANEOUS - UPDATE?
		PUSHJ	PP,LRDEQX##	; YES
 WIT
	;[D1064] SKIPE	F.WSMU(I16)	; SIMULTANEOUS - UPDATE?
	;[D1064] PUSHJ	PP,LRDEQX##	; YES
 INS 55/168	;06C14
		SKIPN	F.WSMU(I16)	;[1064] SIMULTANEOUS UPDATE?
		 JRST	IWRIXA		;[1064] NO
		SKIPN	SU.FRF		;[1064] DOING FAKE READ FOR SMU?
		 PUSHJ	PP,LRDEQX##	;[1064] NO
	IWRIXA:				;[1064]

 REP 75/193	;06C15
		SKIPE	F.WSMU(I16)	; SIMULTANEOUS - UPDATE?
		PUSHJ	PP,LRDEQX##	; YES
 WIT
	;[D1064] SKIPE	F.WSMU(I16)	; SIMULTANEOUS - UPDATE?
	;[D1064] PUSHJ	PP,LRDEQX##	; YES
 REP 82/193	;06C16
		
 WIT
		SKIPN	F.WSMU(I16)	;[1064] SIMULTANEOUS UPDATE?
		 JRST	MVBXAC		;[1064] NO
		SKIPN	SU.FRF		;[1064] DOING FAKE READ FOR SMU?
		 PUSHJ	PP,LRDEQX##	;[1064] NO
	MVBXAC:				;[1064]
 SUM 207705