	.TITLE	FTCBDEF	FTCOPY DATA BLOCK
	.SUBTITLE DEFINITION OF THE COMMAND DATA BLOCK
;
	.IDENT	/30-APR-1984 V01.D/
;
;	V01.D	TWD	30-APR-1984	Add definitions for the output and
;				input buffer sizes and the buffer message flags
;	V01.C	TWD	29-DEC-1983	Add definition for the save area for
;				the input device class  --  FTCB_B_IN_CLAS
;
;	Foreign Tape copy
;
	.MACRO	FTCBDEF,$GBL
;
;		NOTE:
;		THE ESCAPE BYTE TABLE AND THE TRANSLATION TABLE POINTERS
;		USED IN FT_TRANS ARE DEPENDENT ON OFFSETS DEFINED AT THE END
;		OF THIS MACRO.
;		THE ADDRESSES IN THE POINTER TABLE AND THE ESCAPE BYTES ARE IN
;		THE SAME ORDER AS THE TRANSLATION CODES DEFINED IN THE FTCB.
;		IF ANY CHANGES ARE MADE TO THESE DEFINITIONS, CORRESPONDING
;		CHANGES MUST BE MADE TO THE FT_TRANS ROUTINE
;		WHERE THE ADDRESS AND ESCAPE TABLES ARE DEFINED.
;
	$DEFINI	FTCB,$GBL		; FTCOPY COMMAND CONTROL BLOCK
	$DEF	FTCB_B_TCODE	.BLKB	1	; TRANSLATION CODE FOR INPUT
						; TO OUTPUT DATA TYPES.
	$DEF	FTCB_B_EVEN	.BLKB	1	; CHARACTER TO EVEN ODD LENGTH 
						; BLOCKS ON OUTPUT.
;
	$DEF	FTCB_W_PADS			; WORD FOR PAD BYTES.
	$DEF	FTCB_B_PREC	.BLKB	1	; CHAR. FOR PAD OUTPUT RECORDS.
	$DEF	FTCB_B_PBLK	.BLKB	1	; CHAR. FOR PAD OUTPUT BLOCKS.
;
	$DEF	FTCB_W_TRAILS			; WORD FOR TRAIL BYTES.
	$DEF	FTCB_B_TRAILR	.BLKB	1	; CHAR. FOR FILLING ODD RECORD
	$DEF	FTCB_B_TRAILB	.BLKB	1	; OR BLOCK ON INPUT.
;
	$DEF	FTCB_B_ESCAPE	.BLKB	1	; ESCAPE CHARACTER FOR "MOVTUC"
	$DEF	FTCB_B_OUT_CLAS	.BLKB	1	; OUTPUT DEVICE CLASS.
	$DEF	FTCB_B_IN_CLAS	.BLKB	1	; INPUT DEVICE CLASS.
;
	$DEF	FTCB_B_EOV	.BLKB	1	; NUMBER OF SEQUENTIAL EOF'S
	$DEF	FTCB_W_OUT_BUF	.BLKW	1	; BUFFER SIZE OF OUTPUT DEVICE.
	$DEF	FTCB_W_IN_BUF	.BLKW	1	; BUFFER SIZE OF INPUT DEVICE.
	$DEF	FTCB_B_EXTRA	.BLKB	2	; EXTRA BYTES.
;
;
	$DEF	FTCB_W_DEFS	.BLKW	1	; DEFAULT CONDITION FLAGS
;
	_VIELD	DEFS,0,<-			; BIT DEFINITIONS
		<TCODE,,M>,-		; TRANSLATION CODE DEFAULT IF = 1.
		<EVEN,,M>,-		; EVEN RECORDS DEFAULT IF = 1.
		<PTREC,,M>,-		; PAD TYPE IS RECORD IF = 1.
		<PTBLK,,M>,-		; PAD TYPE IS BLOCK IF = 1.
		<PDEF,,M>,-		; USE PAD DEFAULT IF = 1.
		<BLEDT,,M>,-		; BLANK EDIT IS TO DEFAULT IF = 1.
		<TRAILR,,M>,-		; TRAIL REC. CHARS DEFAULT IF = 1.
		<TRAILB,,M>,-		; TRAIL BLOCK CHARS DEFAULT IF = 1.
		<INBLK,,M>,-		; INPUT BLOCK IS DEFAULTED IF = 1.
		<INREC,,M>,-		; INPUT RECORD IS DEFAULTED IF = 1.
		<OUTBLK,,M>,-		; OUTPUT BLOCK IS DEFAULTED IF = 1.
		<OUTREC,,M>,-		; OUTPUT RECORD IS DEFAULTED IF = 1.
		<BUFMSG,,M>,-		; OUTPUT BUFFER OVERFLOW MESSAGE
;					  NOT WRITTEN IF = 1.
		>
;
;
	$DEF	FTCB_W_FLAG	.BLKW	1	; FEATURE USAGE FLAGS.
;
	_VIELD	FLAG,0,<-			; BIT DEFINITIONS
		<FTIN,,M>,-		; INPUT IS FOREIGN TAPE IF = 1.
		<FTOUT,,M>,-		; OUTPUT IS FOREIGN TAPE IF = 1.
		<INIT_COP,,M>,-		; INITIALIZE COPY VALUES IF = 1.
		<EVEN,,M>,-		; EVEN THE OUTPUT BLOCKS IF = 1.
		<PREC,,M>,-		; PAD OUTPUT RECORDS IF = 1.
		<PBLK,,M>,-		; PAD OUTPUT BLOCKS IF = 1.
		<TRAILR,,M>,-		; KEEP INPUT RECORD CHARS. IF = 1.
		<TRAILB,,M>,-		; KEEP INPUT BLOCK CHARS. IF = 1.
		<BLANK,,M>,-		; BLANK EDIT IF = 1.
		<TRANS,,M>,-		; TRANSLATE CHARACTERS IF =1.
		<OUT_COMP,,M>,-		; OUT PUT JUST COMPLETED IF = 1.
		<ODDSIZ,,M>,-		; INPUT RECORD > INPUT BLOCK IF = 1.
		<ESCAPE,,M>,-		; TRANSLATION ESCAPE INDICATOR.
		<CKBUF,,M>,-		; CHECK BUFFER SIZE FOR TT: OR LP: TYPE
;					  DEVICES IF = 1.
		>
;
;
	$DEF	FTCB_L_TRAPTR	.BLKL	1	; POINTER TO TRANSLATION TABLE.
	$DEF	FTCB_L_FILCOP	.BLKL	1	; COUNT OF FILES COPIED.
;
	$DEF	FTCB_L_SEVERITY	.BLKL	1	; MAXIMUM SEVERITY OF COPY OPER.
	$DEF	FTCB_L_INLUN	.BLKL	1	; INPUT LOGICAL UNIT NUMBER.
	$DEF	FTCB_L_OUTLUN	.BLKL	1	; OUTPUT LOGICAL UNIT NUMBER.
;
	$DEF	FTCB_L_BLK_READ	.BLKL	1	; # BLOCKS READ.
	$DEF	FTCB_L_BLK_WRIT	.BLKL	1	; # BLOCKS WRITTEN.
	$DEF	FTCB_L_REC_READ	.BLKL	1	; # RECORDS READ.
	$DEF	FTCB_L_REC_WRIT	.BLKL	1	; #RECORDS WRITTEN.
	$DEF	FTCB_L_RMS_CNT	.BLKL	1	; COUNT OF RMS FILES
	$DEF	FTCB_L_NFILES	.BLKL	1	; NUMBER OF INPUT FILES.
;
	$DEF	FTCB_L_INBLK	.BLKL	1	; INPUT BLOCK SIZE
	$DEF	FTCB_L_INREC	.BLKL	1	; INPUT RECORD SIZE.
	$DEF	FTCB_L_OUTBLK	.BLKL	1	; OUTPUT BLOCK SIZE
	$DEF	FTCB_L_OUTREC	.BLKL	1	; OUTPUT RECORD SIZE.
	$DEF 	FTCB_L_ACT_INREC	.BLKL	1	; ACTUAL SIZE INPUT REC
	$DEF	FTCB_L_ACT_INBLK	.BLKL	1	; ACTUAL SIZE IN BLOCK
	$DEF	FTCB_L_ACT_OUTREC	.BLKL	1	; ACTUAL SIZE OUT REC.
	$DEF	FTCB_L_ACT_OUTBLK	.BLKL	1	; ACTUAL SIZE OUT BLOCK
;
	$DEF	FTCB_L_INRECS	.BLKL	1	; NUMBER OF RECS IN INPUT BLOCK
	$DEF	FTCB_L_INREM	.BLKL	1	; NUMBER OF BYTES REMAINING IN.
	$DEF	FTCB_L_OUTRECS	.BLKL	1	; NUMBER OF RECS IN OUTPUT BLK.
	$DEF	FTCB_L_OUTREM	.BLKL	1	; NUMBER OF BYTES REMAINING OUT
;
	$DEF	FTCB_Q_ISTAT	.BLKQ	1	; I/O STATUS BLOCK.
	$DEF	FTCB_L_OUT_RAB	.BLKL	1	; OUTPUT RAB ADDRESS.
	$DEF	FTCB_L_EXIT_FLG	.BLKL	1	; EXIT ON ERROR FLAG.
;
	$DEF	FTCB_L_INSLEN	.BLKL	1	; INPUT STRING LENGTH
	$DEF	FTCB_L_INSPTR	.BLKL	1	; INPUT STRING POINTER
;
	$DEF	FTCB_B_INSTR	.BLKB	160	; INPUT STRING BUFFER.
;
;		NOTE:
;		THE ESCAPE BYTE TABLE AND THE TRANSLATION TABLE POINTERS ARE
;		DEPENDENT ON THE OFFSETS DEFINED IN THE SECTION BELOW.
;		THE ADDRESSES IN THE POINTER TABLE AND THE ESCAPE BYTES ARE IN
;		THE SAME ORDER AS THE TRANSLATION CODES DEFINED IN THE FTCB.
;		IF ANY CHANGES ARE MADE TO THESE DEFINITIONS, CORRESPONDING
;		CHANGES MUST BE MADE TO THE FT_TRANS ROUTINE
;		WHERE THE ADDRESS AND ESCAPE TABLES ARE DEFINED.
;
	_VIELD	TRANS,0,<-			; TRANSLATION CODES.
		<ASCTEBC,,M>,-			; ASCII TO EBCDIC
		<EBCTASC,,M>,-			; EBCDIC TO ASCII
		<8AT7A,,M>,-			; 8 BIT ASCII TO 7 BIT
		<7AT8A,,M>,-			; 7 BIT ASCII TO 8 BIT
		<USER,,M>,-			; USER DEFINED TABLE.
		>
;
	$DEF	FTCB_K_LEN			; LENGTH OF THE FTCB
	$DEFEND	FTCB
	.ENDM	FTCBDEF
;
	.END
