	.TITLE	VRSSMBDTA - VERSATEC PRINT SYMBIONT DATA FILE
	.SBTTL	DEFINITION AND MACROS
;
;
;	LANGUAGE:  VAX-11 MACRO
;
;	OPERATING SYSTEM:  VAX/VMS
;
;	ORDER NUMBER:  12X-9XV
;
;	PART NUMBER:  000-025809-XXX REV. G  MAY, 1985
;
;	PRODUCT: VAX-11 DIAGNOSTIC,
;	PRODUCT: VAX/VMS DRIVER, SYMBIONT, AND OUTPUT PACKAGE
;
;	VERSATEC, INC., SANTA CLARA, CALIFORNIA 95051
;	A XEROX COMPANY
;
;	Copyright (C) 1985 by Xerox Corporation.  All rights reserved.
;
;	"NOTICE. THIS PROGRAM IS THE EXCLUSIVE PROPERTY OF VERSATEC,
;	INC. AND IS ISSUED IN STRICT CONFIDENCE UNDER A PREARRANGED
;	LICENSE AGREEMENT AND IS NOT TO BE DISCLOSED IN ANY MANNER TO
;	PERSONS OUTSIDE THE LICENSED ORGANIZATION AND SHALL NOT BE
;	REPRODUCED OR DISSEMINATED, IN WHOLE OR PART, TO ANYONE OUTSIDE
;	THE LICENSED ORGANIZATION WITHOUT THE PRIOR WRITTEN APPROVAL OF
;	VERSATEC, INC. UNLESS OTHERWISE PROVIDED FOR BY SUCH LICENSE
;	AGREEMENT.  THIS WORK IS PROTECTED AS AN UNPUBLISHED WORK UNDER
;	THE COPYRIGHT ACT OF 1976."
;
;
;	VERSATEC SYMBIONT DATA BASE
;
;	B.L.	MAY, 1985	INITIAL RELEASE WITH REV. G DRIVER
;
 
	.PSECT	VRSSMBDTA,NOEXE,WRT,RD,LONG
 
	$FABDEF
	$FSCNDEF
	$NAMDEF
	$RABDEF
 
	.MACRO	DYNAMIC_STRING	NAME
NAME::
		.WORD	0		;DESCRIPTOR SIZE = 0
		.BYTE	DSC$K_DTYPE_T	;DESCRIPTOR TYPE = STRING
		.BYTE	DSC$K_CLASS_D	;DESCRIPTOR CLASS = DYNAMIC
		.LONG	0		;DESCRIPTOR POINTER = 0
	.ENDM
 
	.MACRO	FIXED_STRING	NAME,SIZE,ADDR
NAME::
		.WORD	SIZE		;DESCRIPTOR SIZE
		.BYTE	DSC$K_DTYPE_T	;DESCRIPTOR TYPE = STRING
		.BYTE	DSC$K_CLASS_S	;DESCRIPTOR CLASS = FIXED
		.ADDRESS ADDR		;DESCRIPTOR POINTER
	.ENDM
 
VRSSMB$K_LPEFN		==1		;PRINTER EVENT FLAG
VRSSMB$K_TOFEFN		==2		;TOP OF FORMS EVENT FLAG
VRSSMB$K_TIMEFN		==2		;TIMER EVENT FLAG
 
VRSSMB$K_TBUFSIZ	==32768		;LINE BUFFER SIZE
 
	.PAGE
	.SBTTL	SYMBIONT DATABASE
SD_B_GEN_FLAGS::	.BLKB	1	;GENERAL FLAGS
	SD_M_FLGPAGDONE	==1	;FLAG PAGE IS DONE
	SD_V_FLGPAGDONE	==0	;FLAG PAGE IS DONE
 
	SD_M_GOOD_WAKE	==2	;'GOOD WAKE' FLAG FOR MAIN CODE
	SD_V_GOOD_WAKE	==1	;'GOOD WAKE' FLAG FOR MAIN CODE
 
	SD_M_INTRNLCC	==4	;INTERNAL CARRIAGE CONTROL FILE
	SD_V_INTRNLCC	==2	;INTERNAL CARRIAGE CONTROL FILE
 
	SD_M_FFREQ	==8	;FORM FEED REQUIRED BEFORE PRINTING
	SD_V_FFREQ	==3	;FORM FEED REQUIRED BEFORE PRINTING
 
	SD_M_PAUS_TASK	==16	;PAUSE TASK
	SD_V_PAUS_TASK	==4	;PAUSE TASK
 
	SD_M_STOP_TASK	==32	;STOP TASK
	SD_V_STOP_TASK	==5	;STOP TASK
 
	SD_M_FLGPAG	==64	;FLAG PAGE IS PRINTING
	SD_V_FLGPAG	==6	;FLAG PAGE IS PRINTING
 
SD_B_LTPCNT::	.BLKB	1	;LINES THIS PAGE COUNT
SD_B_MAXLTP::	.BLKB	1	;MAX LINES THIS PAGE
SD_B_PAGELEN::	.BLKB	1	;PRINTER PAGE LENGTH
SD_W_PAGEWIDTH::.BLKW	1	;PRINTER PAGE WIDTH
SD_W_FBUFCNT::	.WORD	0	;WORD TO HOLD NUMBER OF CHARS OUTPUT BY FAO
SD_Q_TOFIOSB::	.BLKQ	1	;TOP OF FORMS I/O STATUS BLOCK
SD_Q_IOSB::	.BLKQ	1	;I/O STATUS BLOCK
SD_Q_FBUF_DESC::		;FLAGPAGE BUFFER DESCRIPTOR
		.WORD	132,0	;NUMBER OF BYTES IN THE BUFFER
		.ADDRESS SD_T_FBUF ;ADDRESS OF THE FLAG PAGE BUFFER
SD_T_FBUF::	.BLKB	132	;FLAG PAGE BUFFER
SD_T_FHBUF::			;FLAG PAGE HEADER BUFFER
		.REPEAT	45
		.ASCII	/*/
		.ENDR
		.ASCII	\ VERSATEC PRINT/PLOT SYMBIONT REVISION G \
		.REPEAT	46
		.ASCII	/*/
		.ENDR
SD_T_STAR_BUF::			;FLAG PAGE STARS HEADER BUFFER
		.REPEAT	132
		.ASCII	/*/
		.ENDR
SD_Q_PTIME::	.BLKQ	1	;TIME FILE WAS PRINTED
.ALIGN	LONG		;LONG WORD ALIGN
SD_G_QIOBLK::	.BLKL	13	;QIO ARGUMENT BLOCK
SD_G_FAB::	$FAB	-	;FILE FAB
		  FOP=NAM,-	;  OPEN BY FILE ID
		  NAM=SD_G_NAM	;  POINTER TO FILENAME BLOCK
SD_G_RAB::	$RAB	-	;FILE RAB
		  FAB=SD_G_FAB,-;  POINTER TO FAB
		  ROP=RAH,-	;  USE READ-AHEAD FOR PERFORMANCE
		  UBF=SD_T_TBUF,-; RECORD BUFFER ADDRESS
		  USZ=VRSSMB$K_TBUFSIZ ;RECORD BUFFER SIZE
SD_G_NAM::	$NAM		;FILE NAME BLOCK
; *** NOTE *** ADJACENCY OF SQBUF AND TBUF ASSUMED
SD_T_SQBUF::	.BLKB	6	;BUFFER FOR SEQUENCE NUMBER AND TAB
.ALIGN	LONG		;LONG WORD ALIGN
SD_T_TBUF::	.BLKB	VRSSMB$K_TBUFSIZ ;PRINTER BUFFER
FIXED_STRING	SD_Q_HDBUF,132,SD_T_HDBUF ;PAGE HEADER BUFFER DESCRIPTOR
SD_T_HDBUF::	.BLKB	132	;PAGE HEADER BUFFER
SD_W_HEAD_L::	.BLKW	1	;ACTUAL HEADER LENGTH
SD_W_ITM_SIZ::	.BLKW	1	;NUMBER OF BYTES IN MESSAGE ITEM
SD_Q_QTIME::	.BLKL	2	;TIME JOB WAS QUEUED FOR PRINTING
SD_L_CONTEXT::	.BLKL	1	;CONTEXT FOR CALL TO SMB$READ_MESSAGE_ITEM
DYNAMIC_STRING	SD_Q_ITM_BUF	;DESCRIPTOR OF ITEM BUFFER
SD_L_ITM_COD::	.BLKL	1	;CODE FOR MESSAGE ITEM
SD_L_STREAM::	.BLKL	1	;LONGWORD TO RECEIVE STREAM NUMBER
DYNAMIC_STRING	SD_Q_MESSAGE	;DESCRIPTOR OF MESSAGE BUFFER
SD_L_REQUEST::	.BLKL	1	;CODE FOR MESSAGE REQUEST TYPE
DYNAMIC_STRING	SD_Q_DEV_NAM	;DESCRIPTOR OF DEVICE NAME
FIXED_STRING	SD_Q_FILE_ID,32,SD_G_NAM+NAM$T_DVI ;DESCRIPTOR OF FILE ID
DYNAMIC_STRING	SD_Q_FILE_SPEC	;DESCRIPTOR OF FILE SPECIFICATION
DYNAMIC_STRING	SD_Q_FILE_TRIM	;DESCR. OF TRIMMED FILE SPEC.
DYNAMIC_STRING	SD_Q_JOB_NAM	;DESCRIPTOR OF JOB NAME
DYNAMIC_STRING	SD_Q_MSG_VEC	;DESCRIPTOR OF MESSAGE VECTOR
FIXED_STRING	SD_Q_PRT_CTL,4,SD_L_PRT_CTL ;DESCRIPTOR OF PRINT CONTROL
SD_L_PRT_CTL::	.LONG	0	;LONGWORD TO HOLD PRINT CONTROL
DYNAMIC_STRING	SD_Q_QUE_NAM	;DESCRIPTOR OF QUEUE NAME
FIXED_STRING	SD_Q_SEP_CTL,4,SD_L_SEP_CTL ;DESCR. OF SEPERATION CONTROL
SD_L_SEP_CTL::	.LONG	0	;LONGWORD TO HOLD SEPERATION CONTROL
FIXED_STRING	SD_Q_STOP_COND,4,SD_L_STOP_COND ;DESCR. OF STOP CONDITION
SD_L_STOP_COND::.LONG	0	;LONGWORD TO HOLD STOP CONDITION
DYNAMIC_STRING	SD_Q_TIM_QUE	;DESCRIPTOR OF TIME QUEUED
DYNAMIC_STRING	SD_Q_USR_NAM	;DESCRIPTOR OF USER NAME
FIXED_STRING	SD_Q_ACC_DATA,16,SD_L_PAGE ;DESCRIPTOR OF ACCOUNTING DATA
SD_L_PAGE::	.BLKL	1	;PAGE NUMBER
	;NOTE ORDER OF NEXT 2 LONGWORDS IS REVERSE OF THAT DOCUMENTED
	;IN AA-Z504A-TE, PAGE SMB-23 AND SMB-35.  DEC HAS CONFIRMED
	;THAT THIS MANUAL IS IN ERROR AND THAT THIS IS THE CORRECT ORDER.
SD_L_QIOCNT::	.BLKL	1	;TOTAL QIO COUNT
SD_L_GETCNT::	.BLKL	1	;TOTAL $GET COUNT
		.BLKL	1	;UNUSED LONGWORD OF ACCOUNTING DATA
SD_L_ITMLST::			;LIST FOR CALL TO $GETDVIW
		.WORD	4				;LENG OF SD_L_DEVCLASS
		.WORD	DVI$_DEVCLASS ! DVI$C_SECONDARY	;CODE FOR DEVICE CLASS
		.ADDRESS SD_L_DEVCLASS			;L-W TO HOLD CLASS
		.ADDRESS SD_L_DEVCLASSL			;L-W TO HOLD CLASS LENG.
		.WORD	4				;LENG OF SD_L_DEVDEPEND
		.WORD	DVI$_DEVDEPEND ! DVI$C_SECONDARY ;CODE FOR DEV. DEPEND
		.ADDRESS SD_L_DEVDEPEND			;L-W TO HOLD DEP. PARAM.
		.ADDRESS SD_L_DEVDEPENDL		;L-W TO HOLD DEP. LENGTH
		.WORD	4				;LENG OF SD_L_DEVDEPEND
		.WORD	DVI$_DEVBUFSIZ ! DVI$C_SECONDARY ;CODE FOR BUFFER SIZE
		.ADDRESS SD_L_DEVBUFSIZ			;L-W TO HOLD BUFFER SIZE
		.ADDRESS SD_L_DEVBUFSIZL		;L-W TO HOLD BUFSIZ LENG
		.LONG	0				;END OF LIST
SD_L_DEVCLASS::		.LONG	0	;L-W TO HOLD CLASS
SD_L_DEVCLASSL::	.LONG	0	;L-W TO HOLD CLASS LENG.
SD_L_DEVDEPEND::	.LONG	0	;L-W TO HOLD DEP. PARAM.
SD_L_DEVDEPENDL::	.LONG	0	;L-W TO HOLD DEP. LENGTH
SD_L_DEVBUFSIZ::	.LONG	0	;L-W TO HOLD BUFFER SIZE
SD_L_DEVBUFSIZL::	.LONG	0	;L-W TO HOLD BUFSIZ LENG
		$PRVDEF
SD_Q_PRVADR::	.QUAD	0	;QUADWORD TO HOLD PRIVILEGE BITS
SD_L_NUM_ERROR::.LONG	0	;LONGWORD TO HOLD NUMBER OF ERRORS
SD_T_ERROR::	.BLKL	5	;5 LONGWORDS TO HOLD ERROR CONDITIONS
SD_L_DEV_STAT::	.LONG	0	;LONGWORD TO HOLD DEVICE STATUS
SD_L_FILE_SCAN::		;ARGUMENT BLOCK FOR CALL TO $FILESCAN
SD_W_FNAM_LEN::	.WORD	0,FSCN$_NAME	;WORD TO HOLD NAME LENGTH
SD_L_FNAM_ADDR::.LONG	0		;LONGWORD TO HOLD NAME ADDRESS
SD_W_FTYP_LEN::	.WORD	0,FSCN$_TYPE	;WORD TO HOLD FILE TYPE LENGTH
SD_L_FTYP_ADDR::.LONG	0		;LONGWORD TO HOLD FILE TYPE ADDR.
SD_W_FVER_LEN::	.WORD	0,FSCN$_VERSION	;WORD TO HOLD FILE VERSION LENGTH
SD_L_FVER_ADDR::.LONG	0		;LONGWORD TO HOLD FILE VERSION ADDR.
		.LONG	0		;END OF LIST
SEQNODESC::
	.WORD		SEQNODESC_END-SEQNODESC_START,0
	.ADDRESS	SEQNODESC_START
SEQNODESC_START:
	.ASCII	\!5UW!_\	;SEQ NO. CONVERSION STRING FOR FAO
SEQNODESC_END:
VRSSMB$L_ADDESC::			;DESCRIPTOR FOR PURGE WORKING SET
	.LONG	0
	.LONG	^X07FFFFFFF		;PURGE ENTIRE WORKING SET
;
; FACILITY NAME
FACILITY_DESC::
	.BLKL	1
	.LONG	10$
10$:	.ASCII	/VRSSMB_/
FACILITY_LEN==.-10$
LP_NAME::
	.BLKB	16
;
; SIGNAL NAME
SIG_NAM::
	.BLKL	1
	.END
