Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap2_198111 - decus/20-0027/f.mac
There are 6 other files named f.mac in the archive. Click here to see a list.
;	THIS FILE ASSEMBLED WITH F.MAC	VERSION #2	SEPT. 1 '69
	XLIST
;	3-29-66



;FILE DATA BLOCK
	
	CINI=0		;LH=DEVICE CHANNEL NUMBER SET BY FIN OR FOUT
			;RH=INIT CONTROL BITS AND DATA MODE
	CDNAM=1		;CHANNEL DEVICE NAME IN SIXBIT
	CBUFH=2		;LH IS UNUSED
			;RH=CHANNEL INPUT OR OUTPUT BUFFER HEADER ADDRESS
	CBSIZE=3	;MAXIMUM SIZE OF BUFFER AREA. IF 0, A TWO BUFFER
			;RING WILL BE SET UP IF SPACE PERMITS, OTHERWISE
			;ONE BUFFER.  IF NOT 0, LARGEST RING POSSIBLE
			;WILL BE SET UP UNLESS THIS IS A SPECIAL DEVICE
			;IN WHICH CASE A TWO BUFFER RING IS USED.
	CDIR=4		;LOOKUP OR ENTRY BLOCK ADDRESS
	CDCHAR=5	;DEVICE CHARACTERISTICS AS PER DEVCHR.
	CDSTAT=6	;DEVICE STATUS
	CFSTAT=7	;LH=FILE CHANNEL STATUS - SAME AS LH JOBJDA
			;RH=ERROR BITS SET BY FIN,FOUT AND FCLOSE
	CDBLOCK=10	;LH=NEXT BLOCK NUMBER (FOR LINKED FILES)
			;RH=CURRENT BLOCK NUMBER
	CBADR=11	;BUFFER RING ADDRESS. IF 0, SET BY FIN OR FOUT
	
;LEFT HALF OF CFSTAT - FILE CHANNEL STATUS
	
		FOUTB=100	;FOUT CALLED
		OUTBFB=200		;OUTBUF
		INBFB=400		;INBUF
		OCLOSB=1000		;OUTPUT CLOSE
		ICLOSB=2000		;INPUT CLOSE
		OUTPB=4000		;OUTPUT
		INPB=10000		;INPUT
		ENTRB=20000		;ENTER
		LOOKB=40000		;LOOKUP
		OBUFB=100000		;INIT WITH OUTPUT BUFFER SPECIFIED
		IBUFB=200000		;INIT WITH INPUT BUFFER SPECIFIED.
		INITB=400000		;INIT



;RIGHT HALF OF CFSTAT
	
		IOCNA=1		;NO CHANNEL AVAILABLE
	
	;INIT ERRORS - DEVICE WAS NOT INITIALIZED
	
		IODNA=2		;DEVICE NOT AVAILABLE TO THIS JOB
		IONSD=4		;NO SUCH DEVICE
		IOIDM=10	;ILLEGAL DATA MODE FOR THIS DEVICE
		IOBHOB=20	;BUFFER HEADER OUT OF BOUNDS
		IOBHPD=40	;BUFFER HEADER IN PROTECTED JOB DATA AREA
	
	;ENTER/LOOKUP FAILURES
	
		IOFEOB=100	;ENTRY/LOOKUP BLOCK OUT OF BOUNDS
		IOFEPD=200	;ENTRY/LOOKUP BLOCK IN PROTECTED JOB DATA AREA
		IOFNF=400	;FILE NOT FOUND ON LOOKUP
		IODDF=1000	;ENTER FAILED, PROBABLY THE DIRECTORY IS FULL
	
	;INBUF/OUTBUF FAILURES
	
		IOBOB=2000	;BUFFER OUT OF BOUNDS
		IOBPD=4000	;BUFFER IN PROTECTED JOB DATA AREA
	
	;INPUT/OUTPUT FAILURES
	
		IOFAO=10000	;ON INPUT, FILE ALREADY OPEN FOR OUTPUT
				;ON OUTPUT, FILE ALREADY OPEN FOR INPUT
		IOIBN=20000	;ILLEGAL BLOCK NUMBER (DECTAPE)
		IOCLOB=40000	;DUMP COMMAND LIST OUT OF BOUNDS
		IOCOB=100000	;DUMP COMMAND OUT OF BOUNDS
	
	;CLOSE FAILURE 
	
		IOBTH=200000	;CHANNEL OPEN FOR BOTH INPUT AND OUTPUT
				;CLOSE WAS NOT DONE.
	
	;REASSIGN FAILURES
	
		IOJNI=400000	;JOB NOT INITIALIZED
		;IODNA=2	;DEVICE NOT AVAILABLE TO THIS JOB
;DEVICE CHARACTERISTICS	AS PER THE DEVCHR UUO
	
;CDCHAR LEFT HALF
	
		DVOUT=1			;OUTPUT DEVICE
		DVIN=2			;INPUT DEVICE
		DVDIR=4			;HAS A DIRECTORY
		DVTTY=10		;IS A TTY
		DVMTA=20		;IS A MAG TAPE
		DVAVAL=40		;IS AVAILABLE FOR AND INIT
		DVDEC=100		;DEVICE IS A DECTAPE
		DVPTR=200		;DEVICE IS PAPER TAPE READER
		DVPTP=400		;DEVICE IS A PAPER TAPE PUNCH
		TTYUSE=10000		;TTY DDB IN USE FLAG
		TTYATC=20000		;TTY ATTACHED TO JOB
		DVLPT=40000		;IS A LPT
		DVCDR=100000		;IS A CDR
		DVDSK=200000		;IS A DISK
		DVDIRIN=400000		;DECTAPE DIRECTORY IS IN CORE
	
	
	
;CDCHAR RIGHT HALF
	
		ASSPRG=200000		;DEVICE IS INITED
		ASSCOM=400000		;DEVICE IS ASSIGNED BY COMMAND
	
	;CLOSE UUO OPTIONS
	
		CLSIN=1			;CLOSE INPUT ONLY
		CLSOUT=2		;CLOSE OUTPUT ONLY
	;DEVICE STATUS
	;RIGHT HALF ERROR BITS
	
		IOACT=10000		;DEVICE IS ACTIVE
		IODEND=20000		;DATA END ENCOUNTERED. EOF.
		IOBKTL=40000		;BLOCK TOO LARGE
		IODTER=100000		;DATA ERROR. COMPUTED CHECKSUM
					;ERROR OR INVALID DATA
		IODERR=200000		;DEVICE ERROR. PARITY,WRITE LOCK,ETC.
		IOIMPM=400000		;IMPROPER MODE
		ERRORS=IOBKTL+IODTER+IOIMPM+IODERR
	
;DATA MODES
	
		A=0			;ASCII
		AL=1			;ASCII LINE
		I=10			;IMAGE
		IB=13			;IMAGE BINARY
		B=14			;BINARY
		SD=15			;SCOPE DUMP
		DR=16			;DUMP (MAG TAPE)
		D=17			;DUMP (DEC TAPE)

	LIST