C+
C	Title:	LBCCOM
C	Author:	T. R. Wyant
C	Date:	09-Sep-1987
C	Modified:
C	Remarks:
C		This include file describes the common area
C		that the various parts of LBC use for communication.
C
C		The values for EX.ENA (and any other F11ACP codes that
C		may get added) are documented in [13,10]F11PRE.MAC.
C-
	PARAMETER	EFSYNC	= 1	! Sync. event flag.
	PARAMETER	EXSWAR	= 0	! Exit status of Warning.
	PARAMETER	EXSSUC	= 1	! Exit status of SUCCESS.
	PARAMETER	EXSERR	= 2	! Exit status of ERROR.
	PARAMETER	IMXBLK	= 64	! Max. blocks to copy.
	PARAMETER	EXENA	= '200'O	! Enable bit for extend.
	PARAMETER	IOEXT	= '11400'O	! Extend file.
	PARAMETER	IORAT	= '13000'O	! Read file attributes
	PARAMETER	IORLB	= '1000'O	! Read logical block
	PARAMETER	IORVB	= '10400'O	! Read virtual block
	PARAMETER	IOWAT	= '13400'O	! Write file attributes
	PARAMETER	IOWLB	= '400'O	! Write logical block
	PARAMETER	IOWVB	= '11000'O	! Write virtual block
	PARAMETER	LUNTO	= 5		! Terminal Output LUN.
	PARAMETER	LUNTI	= 5		! Terminal Input LUN
	PARAMETER	LUNIN	= 1		! Input LUN.
	PARAMETER	LUNOUT	= 2		! Output LUN.
	PARAMETER	LUNTRC	= 4		! Trace output LUN.
	PARAMETER	UC1DSK = '140010'O	! U.CW1 req'd for disk
	PARAMETER	UC1DNO = '001700'O	! U.CW1 ignore for disk
	PARAMETER	UC1TAP = '000140'O	! U.CW1 req'd for disk
	PARAMETER	UC1TNO = '140621'O	! U.CW1 ignore for disk

	INTEGER*2	ATRLST (2, 4)	! File attribute list.
	INTEGER*4	CPYSIZ		! Size of the copy.
	INTEGER*2	CSIZBK		! Current I/O size in blocks.
	INTEGER*2	CSIZMX		! Maximum I/O size in blocks.
	INTEGER*2	DEVSLN (2)	! Input and output spec length.
	CHARACTER*64	DEVSPC (2)	! Input & output specs.
	LOGICAL*1	DEVBYT (64, 2)	! Input & output specs.
	INTEGER*2	DSWR5		! = Rad-50 "DSW"
	INTEGER*2	ERRARG (4)	! User arguments for ERRORS.
	INTEGER*2	EXSTAT		! Exit status.
	LOGICAL*1	ERRBYT (80)	! Error text (for ERRORS)
	INTEGER*2	ERRDEV		! Error unit (1=input, 2=output)
	CHARACTER*80	ERRTXT		! Error text (for ERRORS)
	INTEGER*2	FRCXIT		! Exit control from LBCERR.
	INTEGER*2	ICUBLK (2, 2)	! Current block.
	INTEGER*2	ICUINB (2)	! Current input block.
	INTEGER*2	ICUOUB (2)	! Current output block.
	INTEGER*2	INTERA		! .TRUE. if interactive.
	INTEGER*2	IOFUNC (2)	! I/O function codes, each devic
	INTEGER*2	IOR5		! = Rad-50 "IO"
	INTEGER*4	JCUBLK (2)	! Current block.
	INTEGER*4	JCUINB		! Current input block.
	INTEGER*4	JCUOUB		! Current output block.
	INTEGER*2	OUTDAT (18)	! Date and revision info.
	INTEGER*2	OUTFID (3)	! Output file ID.
	INTEGER*2	OUTNEW		! .TRUE. if new output file.
	INTEGER*2	OUTPRO		! Output file protection.
	INTEGER*2	OUTUFA (16)	! Output file user attributes.
	INTEGER*2	PARAMS (6)	! QIO parameters.
	INTEGER*2	STATYP		! Status type.
	INTEGER*2	STATUS (3)	! Status code.

	EQUIVALENCE	(DEVBYT, DEVSPC)
	EQUIVALENCE	(ERRBYT, ERRTXT)
	EQUIVALENCE	(ICUBLK (1,1), ICUINB, JCUINB, JCUBLK)
	EQUIVALENCE	(ICUBLK (1,2), ICUOUB, JCUOUB)

	COMMON /LBCCOM/	CPYSIZ, CSIZBK, DEVSLN, DEVBYT, DSWR5,
     1		ERRARG, EXSTAT, ERRDEV, ERRBYT, FRCXIT, ICUBLK,
     2		IOFUNC, IOR5, PARAMS, STATYP, STATUS,
     3		OUTFID, OUTPRO, OUTUFA, OUTDAT, ATRLST, OUTNEW,
     4		INTERA, CSIZMX

	DATA	DSWR5	/3RDSW/
	DATA	IOR5	/3RIO /


