JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      37  DECLARATIONS

   (2)      59  INITIALIZE DEVICE QUEUE

   (3)     123  DELETE DEVICE QUEUE

   (4)     192  START QUEUEING FOR DEVICE

   (4)     297  ABORT CURRENT JOB

   (4)     354  PAUSE OPERATION ON QUEUE

   (4)     396  SEND TO ASSIGNED SYMBIONT

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   1

V01                                                                                                                              (1)



                                     0000     1 	.TITLE	JBCSYMAN1 - SYMBIONT MANAGER MAIN ROUTINE

                                     0000     2 	.IDENT	/V01/

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

                                     0000     8 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000     9 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000    10 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000    11 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000    12 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000    13 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

                                     0000    16 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

                                     0000    17 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

                                     0000    20 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000    21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ; FACILITY:	STARTLET JOB CONTROLLER

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:	SYMBIONT MANAGER MAIN ROUTINE

                                     0000    27 ;

                                     0000    28 ; ENVIRONMENT:	USER MODE, NON-PRIVLEDGED CODE

                                     0000    29 ;

                                     0000    30 ; AUTHOR:	W.H.BROWN, CREATION DATE:14-JAN-77

                                     0000    31 ;

                                     0000    32 ; MODIFIED BY:

                                     0000    33 ;

                                     0000    34 ;	, : VERSION

                                     0000    35 ; 01	-

                                     0000    36 ;--

                                     0000    37 	.SBTTL	DECLARATIONS

                                     0000    38 ;

                                     0000    39 ; INCLUDE FILES:

                                     0000    40 ;

                                     0000    41 ;	[235,10]J/ML

                                     0000    42 ;

                                     0000    43 ; MACROS:

                                     0000    44 ;

                                     0000    45 ;

                                     0000    46 ; EQUATED SYMBOLS:

                                     0000    47 ;

                                     0000    48 	JBCPARDEF			; DEFINE JOB CONTROLLER PARAMETERS

                                     0000    49 	JBCQUEDEF			; DEFINE QUEUE OFFSETS

                                     0000    50 	JBCSCTDEF			; SYMBIONT CONTROL TABLE DEFINITIONS

                                     0000    51 	$MSGDEF				;

                                     0000    52 	$DEVDEF				; DEFINE DEVICE DEFINTIONS

                                     0000    53 	$LPDEF				; DEFINE LINEPRINTER BITS

                                     0000    54 ;

                                     0000    55 ; OWN STORAGE:

                                     0000    56 ;

                                     0000    57 ;	NONE

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   2

V01             INITIALIZE DEVICE QUEUE                                                                                          (2)



                                     0000    59 	.SBTTL	INITIALIZE DEVICE QUEUE

                                     0000    60 ;++

                                     0000    61 ; FUNCTIONAL DESCRIPTION:

                                     0000    62 ;

                                     0000    63 ; THIS ROUTINE CREATES A QUEUE FOR THE DEVICE SPECIFIED

                                     0000    64 ; IF THE QUEUE ALREADY EXISTS, IT IS INITIALIZED EMPTY AND STOPPED

                                     0000    65 ;

                                     0000    66 ;

                                     0000    67 ; CALLING SEQUENCE:

                                     0000    68 ;

                                     0000    69 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     0000    70 ;

                                     0000    71 ; INPUT PARAMETERS:

                                     0000    72 ;

                                     0000    73 ;	R0 IS SET FROM THE RESULT OF ATTEMPT TO FIND THE DEVICE QUEUE

                                     0000    74 ;	R5 POINTS AT DEVICE NAME IF NOT FOUND,JUST PAST IT IF FOUND

                                     0000    75 ;	R6 CONTAINS DEVICE QUEUE ADDRESS IN QUEUE FILE

                                     0000    76 ;	R9 CONTAINS ADDRESS OF SYMBIONT MANAGER MESSAGE PACKET

                                     0000    77 ;

                                     0000    78 ;

                                     0000    79 ; OUTPUT PARAMETERS:

                                     0000    80 ;

                                     0000    81 ;	THE QUEUE IS INITIALIZED, IF IT EXISTED, IT IS EMPTIED.

                                     0000    82 ;

                                     0000    83 ; COMPLETION CODES:

                                     0000    84 ;

                                     0000    85 ;	R0 IS RETURN WITH THE STATUS OF THE REQUEST

                                     0000    86 ;

                                     0000    87 ; SIDE EFFECTS:		NONE

                                     0000    88 ;--

                                     0000    89 	PURE_SECTION

                                     0000    90  

                                     0000    91 	.ENABL	LSB

                                     0000    92 

                                     0000    93 SYM$INITIALIZE::

            08            50     E9  0000    94 	BLBC	R0,10$			; BR IF NO SUCH QUEUE

                          55     DD  0003    95 	PUSHL	R5			; SAVE POINTER TO OPTIONS DATA

                          3D     10  0005    96 	BSBB	100$			; DELETE THE QUEUE

                          20     BA  0007    97 	POPR	#^M<R5>			; RESTORE OPTION POINTER

                          1F     11  0009    98 	BRB	30$			; JOIN COMMON CODE

            56       0100 CA     DE  000B    99 10$:	MOVAL	SQH$K_SIZE-SMQ$K_SIZE(R10),R6 ; SET ADDRESS FOR HEADER SEARCH

                                     0010   100 	SETSTAT	NOQUEHDR		; ASSUME NO QUEUE HEADERS AVAILIABLE

                                 91  0013   101 	CMPB	SQH$B_NUMQUE(R10),-	; CHECK THE NUMBER OF ACTIVE QUEUES

         06 AA         05 AA         0014   102 		SQH$B_MAXQUE(R10)	; AGAINST THE MAXIMUM ALLOWED

                          26     1E  0018   103 	BGEQU	90$			; BR IF NO MORE SPACE FOR QUEUES

            56            20     C0  001A   104 20$:	ADDL	#SMQ$K_SIZE,R6		; ADVANCE TO NEXT

                                 E0  001D   105 	BBS	#SMQ$V_INUSE,-		; BR IF THE QUEUE HEADER IS

         08 A6            00         001E   106 		SMQ$B_FLAGS(R6),20$	; IN USE AND CHECK THE NEXT

                          F8         0021       

            65            10     28  0022   107 	MOVC3	#16,(R5),SMQ$T_NAME(R6)	; SET NAME IN QUEUE

                       10 A6         0025       

            55            51     D0  0027   108 	MOVL	R1,R5			; SET MESSAGE DATA POINTER TO NEXT BYTE

                                     002A   109 30$:	ASSUME	SMQ$B_FLAGS+1 EQ SMQ$B_FORMS

                                     002A   110 	ASSUME	SMQ$B_FLAGS+1 EQ SMQ$B_JOBCNT

                                     002A   111 	ASSUME	SMQ$B_FLAGS+2 EQ SMQ$B_CHAR

                                     002A   112 	ASSUME	SMQ$B_FLAGS+3 EQ SMQ$B_JOBLIM

                       09 A6     D4  002A   113 	CLRL	SMQ$B_FORMS(R6)		; ZERO FLAGS,FORMS,CHAR,AND COUNTS

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   3

V01             INITIALIZE DEVICE QUEUE                                                                                          (2)



                       0B A6     96  002D   114 	INCB	SMQ$B_JOBLIM(R6)	; SET DEFAULT JOB LIMIT

                          FFCD'  30  0030   115 	BSBW	SYM$CNVOPTINI		; PROCESS OPTIONS FOR INIT QUEUE

            0A            50     E9  0033   116 	BLBC	R0,90$			; BR IF BAD OPTION

                                 88  0036   117 	BISB	#<SMQ$M_INUSE!SMQ$M_STOPPED>,- ;INITIALIZE QUEUE IN USE

         08 A6            09         0037   118 		SMQ$B_FLAGS(R6)		; AND STOPPED.

                       05 AA     96  003A   119 	INCB	SQH$B_NUMQUE(R10)	; KEEP COUNT OF NUMBER OF QUEUES IN USE

                                     003D   120 	SETSTAT	NORMAL			; INIT OF QUEUE WAS SUCESSFUL

                                 04  0040   121 90$:	RET				; BACK TO THE TOP

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   4

V01             DELETE DEVICE QUEUE                                                                                              (3)



                                     0041   123 	.SBTTL	DELETE DEVICE QUEUE

                                     0041   124 ;++

                                     0041   125 ; FUNCTIONAL DESCRIPTION:

                                     0041   126 ;

                                     0041   127 ;	THIS ROUTINE IS CALLED TO REMOVE AN EXISTING DEVICE QUEUE

                                     0041   128 ;	FROM THE SYMBIONT MANAGER QUEUE FILE, OF RESET THE QUEUE

                                     0041   129 ;	HEADER PRIOR TO AN INIT OF AN EXISTING QUEUE.

                                     0041   130 ;

                                     0041   131 ; CALLING SEQUENCE:

                                     0041   132 ;

                                     0041   133 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     0041   134 ;

                                     0041   135 ; INPUT PARAMETERS:

                                     0041   136 ;

                                     0041   137 ;	R6 CONTAINS THE ADDRESS OF THE QUEUE TO DELETE

                                     0041   138 ;

                                     0041   139 ; IMPLICIT INPUTS:

                                     0041   140 ;

                                     0041   141 ;	R10 HAS ADDRESS OF SYMBIONT MANAGER QUEUE FILE

                                     0041   142 ;

                                     0041   143 ; OUTPUT PARAMETERS:

                                     0041   144 ;

                                     0041   145 ;	THE QUEUE IS DELETED AS LONG AS OPERATION WAS REQUESTED PROPERLY.

                                     0041   146 ;

                                     0041   147 ; COMPLETION CODES:

                                     0041   148 ;

                                     0041   149 ;	R0 IS RETURN WITH THE FINAL STATUS OF THE REQUEST

                                     0041   150 ;

                                     0041   151 ; SIDE EFFECTS:		NONE

                                     0041   152 ;--

                                     0041   153 

                                     0041   154 

                                     0041   155 SYM$DELETEQUE::				; DELETE THE DEVICE QUEUE

                          01     10  0041   156 	BSBB	100$			; EXECUTE COMMON CODE

                                 04  0043   157 99$:	RET				; RETURN TO SYMBIONT MANAGER

                                     0044   158 

                                     0044   159 ;

                                     0044   160 ; COMMON SUBROUTINE FOR INIT OF EXISTING QUEUE AND DELETE

                                     0044   161 ;

                                     0044   162 

                                     0044   163 100$:	SETSTAT	QUENOSTOP		; ASSUME DELETE REQUEST ON RUNNING QUEUE

                          66     D5  0047   164 	TSTL	SMQ$L_CURRENT(R6)	; STILL PRINTING A JOB?

                          F8     12  0049   165 	BNEQ	99$			; BR IF YES-CAN'T DELETE TILL DONE

         08 A6            03     E1  004B   166 	BBC	#SMQ$V_STOPPED,SMQ$B_FLAGS(R6),99$ ; BR IF QUEUE IS STOPPED

                          F3         004F       

            57         04 A6     D0  0050   167 110$:	MOVL	SMQ$L_HOLDLST(R6),R7	; GET NEXT JOB FROM HOLD LIST

                          0D     13  0054   168 	BEQL	120$			; BR IF NONE

            57            5A     C0  0056   169 	ADDL	R10,R7			; CHANGE OFFSET TO REAL ADDRESS

         04 A6         08 A7     D0  0059   170 	MOVL	SJH$L_NEXTJOB(R7),SMQ$L_HOLDLST(R6) ; CLOSE UP HOLD LIST

                          FF9F'  30  005E   171 	BSBW	SYM$FREEJOB		; RELEASE THE JOB RECORDS

                          ED     11  0061   172 	BRB	110$			; TRY AGAIN

                                     0063   173 ;

                                     0063   174 ; NOW SEARCH FOR A JOBS IN THIS QUEUE

                                     0063   175 ;

                                     0063   176 ;	NOTE: THE COROUTINE USES R2-R4 AND MUST NOT BE CHANGED

                                     0063   177 ;

                          FF9A'  30  0063   178 120$:	BSBW	SYM$FINDQUEJOB		; INIT THE COROUTINE

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   5

V01             DELETE DEVICE QUEUE                                                                                              (3)



            0C            50     E9  0066   179 130$:	BLBC	R0,180$			; BR IF NO MORE JOBS IN THIS QUEUE

                          9E     16  0069   180 	JSB	@(SP)+			; ALWAYS REMOVE RECORDS

            57            52     D0  006B   181 	MOVL	R2,R7			; COPY RECORD ADDRESS

                          FF8F'  30  006E   182 	BSBW	SYM$FREEJOB		; RELEASE ALL RECORDS IN JOB

                          9E     16  0071   183 	JSB	@(SP)+			; RETURN FOR NEXT JOB

                          F1     11  0073   184 	BRB	130$			; SEE IF ANYTHING FOUND

                       08 A6     B4  0075   185 180$:	CLRW	SMQ$B_FLAGS(R6)		; ZERO FLAGS AND FORMS TYPE BYTES

                       05 AA     97  0078   186 	DECB	SQH$B_NUMQUE(R10)	; REDUCE NUMBER OF ACTIVE QUEUES

                                     007B   187 	SETSTAT	NORMAL			; SET GOOD STATUS

                                 05  007E   188 	RSB				; RETURN TO CALLER

                                     007F   189 

                                     007F   190 	.DSABL	LSB

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   6

V01             START QUEUEING FOR DEVICE                                                                                        (4)



                                     007F   192 	.SBTTL	START QUEUEING FOR DEVICE

                                     007F   193 ;++

                                     007F   194 ; FUNCTIONAL DESCRIPTION:

                                     007F   195 ;

                                     007F   196 ;	THIS IS ROUTINE IS CALLED TO ENABLE DEQUEUEING FOR A SPECIFIC

                                     007F   197 ;	DEVICE QUEUE,OR RESUME PRINTING IF THE OPERATION HAD BEEN SUSPENDED

                                     007F   198 ;

                                     007F   199 ; CALLING SEQUENCE:

                                     007F   200 ;

                                     007F   201 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     007F   202 ;

                                     007F   203 ; INPUT PARAMETERS:

                                     007F   204 ;

                                     007F   205 ;	R6 CONTAINS THE PROPER DEVICE QUEUE ADDRESS

                                     007F   206 ;	R9 CONTAINS THE SYMBIONT MANAGER MESSAGE

                                     007F   207 ;	R10 HAS BASE ADDRESS OF PRINT QUEUE FILE

                                     007F   208 ;

                                     007F   209 ; OUTPUT PARAMETERS:

                                     007F   210 ;

                                     007F   211 ;	DEQUEUEING IS ENABLED, AND FILES THAT CAN BE PRINTED ARE

                                     007F   212 ;	REMOVED FORM THE HOLD QUEUE AND INSERTED INTO THE PRINT QUEUE.

                                     007F   213 ;

                                     007F   214 ; COMPLETION CODES:

                                     007F   215 ;

                                     007F   216 ;	R0 IS RETURN WITH THE FINAL STATUS OF THE REQUEST.

                                     007F   217 ;

                                     007F   218 ; SIDE EFFECTS:		NONE

                                     007F   219 ;--

                                     007F   220 	.ENABL	LSB

                                     007F   221 

                                     007F   222 SYM$START::

                                     007F   223 	SETSTAT	SMINVOPR		; ASSUME ERROR

                                 E1  0082   224 	BBC	#SMQ$V_PAUSED,-		; IF DEVICE SHOULDE NOT BE PAUSED

         08 A6            02         0083   225 		SMQ$B_FLAGS(R6),10$	; AND PROCESS START REQUEST

                          03         0086       

                          0096   31  0087   226 	BRW	110$			; DEVICE IS PAUSED-RESUME

                                 E1  008A   227 10$:	BBC	#SMQ$V_STOPPED,-	; IF DEVICE IS NOT STOPPED

         08 A6            03         008B   228 		SMQ$B_FLAGS(R6),20$	; THEN THIS REQUEST IS AN ERROR

                          18         008E       

                          FF6E'  30  008F   229 	BSBW	SYM$CNVOPTINI		; PROCESS OPTIONS AS START/INIT

            12            50     E9  0092   230 	BLBC	R0,20$			; BR IF THERE WAS AN ERROR

                                 93  0095   231 	BITB	#<SMQ$M_DETJOB!SMQ$M_GENDEV>,- ; CK IF QUEUE IS DEFINED TO BE

         08 A6            12         0096   232 		SMQ$B_FLAGS(R6)		; EITHER GENERIC OR BATCH

                          3C     12  0099   233 	BNEQ	60$			; BR IF YES-DON'T CHARACTERISTICS

         0A A6            04     E0  009B   234 	BBS	#SMQ$V_REDIRECT,SMQ$B_CHAR(R6),60$ ; BR IF QUEUE REDIRECTED

                          37         009F       

            50         10 A6     9E  00A0   235 	MOVAB	SMQ$T_NAME(R6),R0	; SET ADDRESS OF DEVICE NAME

                          FF59'  30  00A4   236 	BSBW	SYM$GETDEVCHAR		; GET THE DEVICE CHARACTERISTICS

            75            50     E9  00A7   237 20$:	BLBC	R0,100$			; BR IF ERROR GETTING DEVICE INFO

                                     00AA   238 	SETSTAT	ILLDEVTYP		; ASSUME DEVICE IS ILLEGAL

            62            01     E1  00AD   239 	BBC	#DEV$V_CCL,(R2),100$	; BR IF NOT CARRAIGE CONTROL DEVICE

                          6E         00B0       

         0A A6            04     8A  00B1   240 	BICB	#SMQ$M_TRMDEV,SMQ$B_CHAR(R6) ; ASSUME DEVICE IS NOT A TERMINAL

            62            02     E1  00B5   241 	BBC	#DEV$V_TRM,(R2),30$	; BR IF DEVICE IS NOT A TERMINAL

                          04         00B8       

         0A A6            04     88  00B9   242 	BISB	#SMQ$M_TRMDEV,SMQ$B_CHAR(R6) ; SET FLAG IN QUEUE HEADER

            62            11     E1  00BD   243 30$:	BBC	#DEV$V_GEN,(R2),40$	; BR IF DEVICE IS NOT GENERIC DEVICE

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   7

V01             START QUEUEING FOR DEVICE                                                                                        (4)



                          04         00C0       

         08 A6            10     88  00C1   244 	BISB	#SMQ$M_GENDEV,SMQ$B_FLAGS(R6) ; SET FLAG IF DEVICE IS GENERIC

         08 A2            07     E1  00C5   245 40$:	BBC	#LP$V_LOWER,8(R2),50$	; BR IF NOT A LOWER CASE PRINTER

                          04         00C9       

                                     00CA   246 	SETBIT	SMQ$V_LOWER,SMQ$B_CHAR(R6) ; SET BIT TO FLAG LOWER CASE PRINTER

            50            01     D0  00CE   247 50$:	MOVL	#1,R0			; SET REQUEST TYPE TO ALLOCATE

                          FF2C'  30  00D1   248 	BSBW	SYM$ALLODEAL		; ALLOCATE/DEALLOCATE DEVICE ROUTINE

            48            50     E9  00D4   249 	BLBC	R0,100$			; BR IF ALLOCATE FAILED

                                 8A  00D7   250 60$:	BICB	#SMQ$M_STOPPED,-	; RESET THE STOPPED FLAG

         08 A6            08         00D8   251 		SMQ$B_FLAGS(R6)		; IN FLAGS BYTE

            54         04 A6     DE  00DB   252 	MOVAL	SMQ$L_HOLDLST(R6),R4	; SET UP TO SCAN HOLD LIST

            57            64     D0  00DF   253 70$:	MOVL	(R4),R7			; GET OFFSET TO NEXT JOB

                          20     13  00E2   254 	BEQL	90$			; BR WHEN NO MORE FILES TO CHECK

            57            5A     C0  00E4   255 	ADDL	R10,R7			; FIND REAL ADDRESS OF JOB HEADER

                                 E0  00E7   256 	BBS	#SJH$V_HOLD,-		; IF HOLD FLAG IS SET FOR THIS JOB

         0C A7            00         00E8   257 		SJH$B_FLAGS(R7),80$	; THEN THIS JOB STAYS IN THE HOLD LIST

                          12         00EB       

                                     00EC   258 	IF_FORM_DIF	80$		; BR IF FORMS DON'T MATCH

            64         08 A7     D0  00F2   259 	MOVL	SJH$L_NEXTJOB(R7),(R4)	; REMOVE THIS JOB FORM HOLD LIST

                                     00F6   260 	SYM_QUECHANGE			; INDICATE QUEUE CHANGED

                          FF04'  30  00F9   261 	BSBW	SYM$JOBINSQUE		; INSERT THIS IN PRINT QUEUE

                          E1     11  00FC   262 	BRB	70$			; TRY NEXT

            54         08 A7     DE  00FE   263 80$:	MOVAL	SJH$L_NEXTJOB(R7),R4	; SET R4 TO POINT AT LINK

                          DB     11  0102   264 	BRB	70$			; TRY FOR NEXT

         08 A6            04     E0  0104   265 90$:	BBS	#SMQ$V_GENDEV,SMQ$B_FLAGS(R6),130$ ; BR IF GENERIC DEVICE QUEUE

                          3F         0108       

            50            03     9A  0109   266 	MOVZBL	#JBC_V_CREJOBREQ,R0	; GET FLAG BIT THAT CREATE OF JOB NEEDED

         08 A6            01     E0  010C   267 	BBS	#SMQ$V_DETJOB,SMQ$B_FLAGS(R6),140$  ; BR IF JOB QUEUE

                          3A         0110       

         0A A6            04     E0  0111   268 	BBS	#SMQ$V_REDIRECT,SMQ$B_CHAR(R6),95$ ; BR IF QUEUE IS REDIRECTED

                          06         0115       

                       1D AB     96  0116   269 	INCB	JCD_B_CURPDEV(R11)	; KEEP COUNT OF DEVICES PRINTING

                          FEE4'  30  0119   270 	BSBW	SYM$CREPRTSYM		; CREATE A SYMBIONT IF NEEDED

                                     011C   271 95$:	SETSTAT	NORMAL			; SET TRUE STATUS

                                 04  011F   272 100$:	RET				; RETURN TO SYMBIONT MANAGER

                                     0120   273 

                                     0120   274 ;

                                     0120   275 ; PROCESS RESTART OF PAUSED DEVICE

                                     0120   276 ;

                                     0120   277 

                          FEDD'  30  0120   278 110$:	BSBW	SYM$CNVOPTRES		; PROCESS OPTIONS FOR RESTART

            F9            50     E9  0123   279 	BLBC	R0,100$			; BR IF ERROR PROCCESSING OPTIONS

                                 8A  0126   280 	BICB	#<1@SMQ$V_PAUSED>,-	; REMOVED PAUSED FLAG

         08 A6            04         0127   281 		SMQ$B_FLAGS(R6)		; FROM QUEUE FLAGS BYTE

                          66     D5  012A   282 	TSTL	SMQ$L_CURRENT(R6)	; IS THERE A JOB DEQUEUED?

                          1A     13  012C   283 	BEQL	130$			; BR IF NO-TRY TO DEQUEUE ONE

            50            51     D0  012E   284 	MOVL	R1,R0			; SET RESUME MESSAGE FROM OPTIONS IN R0

            55         0C A6     D0  0131   285 	MOVL	SMQ$L_ASNSCT(R6),R5	; GET ASSIGNED SYMBIONT CONTROL TABLE

            07         08 A5     91  0135   286 	CMPB	SCT_B_STATE(R5),#SCT_K_SUSPND ; IS THE SYMBIONT SUSPENDED?

                          07     12  0139   287 	BNEQ	120$			; BR IF NO-TRY TO RESTART

         08 A5            03     90  013B   288 	MOVB	#SCT_K_DEQFIL,SCT_B_STATE(R5) ; SET STATE FOR NEXT DEQUEUE

                          0082   31  013F   289 	BRW	220$			; SEND RESUME MESSAGE

         D4 BB            65     0E  0142   290 120$:	INSQUE	(R5),@JCD_Q_SYMBSRV+4(R11) ; SET THE SYMBIONT UP FOR SERVICE

                          08     11  0146   291 	BRB	150$			; EXIT

            50            02     9A  0148   292 130$:	MOVZBL	#JBC_V_SYMINIREQ,R0	; GET FLAG TO SET

                                     014B   293 140$:	SETBIT	R0,JCD_W_FLAGS(R11)	; SET PROPER FLAG

                                     0150   294 150$:	SETSTAT	NORMAL			;

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   8

V01             START QUEUEING FOR DEVICE                                                                                        (4)



                                 04  0153   295 	RET				; RETURN TO DISPATCHER

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page   9

V01             ABORT CURRENT JOB                                                                                                (4)



                                     0154   297 	.SBTTL	ABORT CURRENT JOB

                                     0154   298 ;++

                                     0154   299 ; FUNCTIONAL DESCRIPTION:

                                     0154   300 ;

                                     0154   301 ;	THIS ROUTINE WILL SEND A MESSAGE TO A SYMBIONT INSTRUCTING

                                     0154   302 ;	THE SYMBIONT TO TERMINATE IS PRINTING ITS CURRENT FILE

                                     0154   303 ;

                                     0154   304 ; CALLING SEQUENCE:

                                     0154   305 ;

                                     0154   306 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     0154   307 ;

                                     0154   308 ; INPUT PARAMETERS:

                                     0154   309 ;

                                     0154   310 ;	R6 CONTAINS THE ADDRESS OF THE ASSOCIATED DEVICE QUEUE HEADER

                                     0154   311 ;	R9 HAS THE ADDRESS OF THE SYMBIONT MANAGER RECORD

                                     0154   312 ;	R10 HAS THE BASE ADDRESS OF THE QUEUE FILE

                                     0154   313 ;	R11 HAS THE ADDRESS OF THE JOB CONTROLLER DATA BLOCK

                                     0154   314 ;

                                     0154   315 ; OUTPUT PARAMETERS:

                                     0154   316 ;

                                     0154   317 ;	SYMBIONT IS INSTRUCTED TO STOP PRINTING

                                     0154   318 ;

                                     0154   319 ; COMPLETION CODES:

                                     0154   320 ;

                                     0154   321 ;	R0 IS RETURN WITH THE FINAL STATUS OF THE REQUEST.

                                     0154   322 ;

                                     0154   323 ; SIDE EFFECTS:		NONE

                                     0154   324 ;--

                                     0154   325 

                                     0154   326 SYM$ABORT::				; ABORT THE CURRENT JOB

            57            66     D0  0154   327 	MOVL	SMQ$L_CURRENT(R6),R7	; GET OFFSET TO CURRENT JOB

                          3F     13  0157   328 160$:	BEQL	200$			; BR IF NO CURRENT JOB

            57            5A     C0  0159   329 	ADDL	R10,R7			; FIND REAL ADDRESS OF JOB HEADER

         08 A6            01     E1  015C   330 	BBC	#SMQ$V_DETJOB,SMQ$B_FLAGS(R6),190$ ; BR IF PRINT QUEUE

                          23         0160       

         04 A7            65     B1  0161   331 	CMPW	(R5),SJH$W_JOBSEQ(R7)	; SEQUENCE NUMBER MATCH?

                          06     13  0165   332 	BEQL	170$			; BR IF YES-FOUND THE JOB

            57         08 A7     D0  0167   333 	MOVL	SJH$L_NEXTJOB(R7),R7	; GET INDEX OF NEXT JOB

                          EA     11  016B   334 	BRB	160$			; CHECK THIS ONE OUT

                          FE90'  30  016D   335 170$:	BSBW	SYM$CKREQPRV		; CHECK IF THIS GUY CAN ABORT THIS JOB

                                     0170   336 	$DELPRC_S PIDADR=SJH$L_PROCID(R7) ; DELETE THE JOB

            04            50     E9  017C   337 	BLBC	R0,180$			; BR IF SERVICE WAS UNSUCCESSFUL

                                     017F   338 	SETBIT	SJH$V_JOBABORT,SJH$B_FLAGS(R7) ; REMEMBER ABORT WAS DONE

                                 04  0183   339 180$:	RET

                                     0184   340  

                          FE79'  30  0184   341 190$:	BSBW	SYM$CKREQPRV		; VERIFY THAT THE REQUESTOR CAN DO THIS

                          FE76'  30  0187   342 	BSBW	SYM$CNVOPTABO		; CHECK FOR ABORT OPTIONS

            0E            50     E9  018A   343 	BLBC	R0,205$			; BR IF INVALID OPTION

            04            51     E9  018D   344 	BLBC	R1,195$			; BR IF NO REQUEUE REQUESTED

                          21     10  0190   345 	BSBB	SYM$SNDASNSYM		; SEND MESSAGE TO SYMBIONT

                                 06  0192   346 	.BYTE	SCT_K_REQUE		; NEXT STATE FOR SYMBIONT

                                 11  0193   347 	.BYTE	MSG$_ABOOPR		; MESSAGE FOR SYMBIONT

                          1D     10  0194   348 195$:	BSBB	SYM$SNDASNSYM		; SENT TO ASSIGNED SYMBIONT

                                 05  0196   349 	.BYTE	SCT_K_ABOREQ		; NEXT STATE

                                 11  0197   350 	.BYTE	MSG$_ABOOPR		; MESSAGE CODE

                                     0198   351 200$:	SETSTAT	NOSUCHJOB		; BR IF NO JOB PRINTING ON DEVICE

                                 04  019B   352 205$:	RET				;

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page  10

V01             PAUSE OPERATION ON QUEUE                                                                                         (4)



                                     019C   354 	.SBTTL	PAUSE OPERATION ON QUEUE

                                     019C   355 ;++

                                     019C   356 ; FUNCTIONAL DESCRIPTION:

                                     019C   357 ;

                                     019C   358 ;	THIS ROUTINE IS ENTERED WHEN IS IS NECESSARY TO SUSPEND

                                     019C   359 ;	THE OPERATION OF A SPECIFIC QUEUE FOR A WHILE

                                     019C   360 ;

                                     019C   361 ; CALLING SEQUENCE:

                                     019C   362 ;

                                     019C   363 ;	ENTERED FROM THE SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     019C   364 ;

                                     019C   365 ; INPUT PARAMETERS:

                                     019C   366 ;

                                     019C   367 ;	R5 POINTS AT NEXT BYTE TO PROCESS IN THE MESSAGE

                                     019C   368 ;	R6 CONTAINS THE ADDRESS OF THE ASSOCIATED QUEUE HEADER

                                     019C   369 ;	R9 CONTAINS THE ADDRESS OF THE SYMBIONT MANAGER MESSAGE

                                     019C   370 ;

                                     019C   371 ; IMPLICIT INPUTS:

                                     019C   372 ;

                                     019C   373 ;	R10 HAS THE BASE ADDRESS OF THE PRINT QUEUE FILE

                                     019C   374 ;	R11 HAS THE JOB CONTROLLER DATA BLOCK

                                     019C   375 ;

                                     019C   376 ; OUTPUT PARAMETERS:	NONE

                                     019C   377 ;

                                     019C   378 ; COMPLETION CODES:

                                     019C   379 ;

                                     019C   380 ;	R0 IS RETURN WITH THE FINAL STATUS OF THE REQUEST.

                                     019C   381 ;

                                     019C   382 ; SIDE EFFECTS:		NONE

                                     019C   383 ;--

                                     019C   384 

                                     019C   385 SYM$PAUSE::				; SUSPEND OPERATION ON A QUEUE

         08 A6            12     93  019C   386 	BITB	#SMQ$M_GENDEV!SMQ$M_DETJOB,SMQ$B_FLAGS(R6) ; CK IF QUEUE CAN BE PAUSED

                          0E     12  01A0   387 	BNEQ	210$			; BR IF NO - TRY A STOP

         0A A6            04     E0  01A2   388 	BBS	#SMQ$V_REDIRECT,SMQ$B_CHAR(R6),210$ ; ALSO STOP REDIRECTED QUEUES

                          09         01A6       

         08 A6            02     E2  01A7   389 	BBSS	#SMQ$V_PAUSED,	-	; SET PAUSED FLAG - AND BR IF ALREADY-

                          1B         01AB       

                                     01AC   390 		SMQ$B_FLAGS(R6),230$	; PAUSED

                          05     10  01AC   391 	BSBB	SYM$SNDASNSYM		; SEND MESSAGE TO ASSIGNED SYMBIONT

                                 07  01AE   392 	.BYTE	SCT_K_SUSPND		; NEXT STATE IS SUSPENDED

                                 12  01AF   393 	.BYTE	MSG$_SUSOPR		; MESSAGE CODE

                          FE4D'  31  01B0   394 210$:	BRW	SYM$STOP		; 

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page  11

V01             SEND TO ASSIGNED SYMBIONT                                                                                        (4)



                                     01B3   396 	.SBTTL	SEND TO ASSIGNED SYMBIONT

                                     01B3   397 ;++

                                     01B3   398 ; FUNCTIONAL DESCRIPTION:

                                     01B3   399 ;

                                     01B3   400 ;	THIS ROUTINE IS CALLED TO SEND A MESSAGE TO THE SYMBIONT CURRENTLY

                                     01B3   401 ;	ASSIGNED TO THE DEVICE WHOSE QUEUE HEADER IS IN R6, AND TO

                                     01B3   402 ;	SET THE STATE OF THE SYMBIONT IN ACCORDANCE WITH THE MESSAGE.

                                     01B3   403 ;

                                     01B3   404 ; CALLING SEQUENCE:

                                     01B3   405 ;

                                     01B3   406 ;	JSB/BSB	SYM$SNDASNSYM		;

                                     01B3   407 ;

                                     01B3   408 ; INPUT PARAMETERS:

                                     01B3   409 ;

                                     01B3   410 ;	NEW STATE FOLLOWED BY MESSAGE CODE IN LINE AFTER CALL

                                     01B3   411 ;	R6 CONTAINS THE PROPER DEVICE QUEUE ADDRESS

                                     01B3   412 ;	R10 HAS BASE ADDRESS OF PRINT QUEUE FILE

                                     01B3   413 ;

                                     01B3   414 ; OUTPUT PARAMETERS:

                                     01B3   415 ;

                                     01B3   416 ;	MESSAGE IS SENT, THE STATE IS SET, AND A RETURN IS TAKEN

                                     01B3   417 ;	TO SYMBIONT MANAGER DISPATCHER.

                                     01B3   418 ;

                                     01B3   419 ; COMPLETION CODES:

                                     01B3   420 ;

                                     01B3   421 ;	R0 IS SET WITH RESULTANT STATUS

                                     01B3   422 ;

                                     01B3   423 ; SIDE EFFECTS:		NONE

                                     01B3   424 ;--

                                     01B3   425 

                                     01B3   426 SYM$SNDASNSYM::				; SEND TO ASSIGNED SYMBIONT

                          66     D5  01B3   427 	TSTL	SMQ$L_CURRENT(R6)	; ANYTHING GOING?

                          10     13  01B5   428 	BEQL	230$			; BR IF NO

            55         0C A6     D0  01B7   429 	MOVL	SMQ$L_ASNSCT(R6),R5	; SET ADR OF ASSIGNED SYMBIONT CONTROL

                          01     BA  01BB   430 	POPR	#^M<R0>			; GET ADDRESS OF MESSAGE

         08 A5            80     90  01BD   431 	MOVB	(R0)+,SCT_B_STATE(R5)	; SET STATE OF SYMBIONT

            50            60     9A  01C1   432 	MOVZBL	(R0),R0			; GET MESSAGE CODE

                          FE39'  30  01C4   433 220$:	BSBW	SYM$SND2SMB		; SEND THAT TO THE SYMBIONT

                                     01C7   434 230$:	SETSTAT	NORMAL			; STATUS OF OPERATION

                                 04  01CA   435 240$:	RET				; BACK TO THE DISPATCHER

                                     01CB   436 	.DSABL	LSB

                                     01CB   437 	.END				;

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (4)



ACM$B_PROCPRI    00000024            DEV$V_SQD      = 00000005            JBC_K_UPDFLG   = 00000008            

ACM$L_PROCID     FFFFFFFC            DEV$V_SWL      = 00000019            JBC_M_CREJOBREQ= 00000008            

ACM$L_UIC        0000000C            DEV$V_TRM      = 00000002            JBC_M_MBREADREQ= 00000001            

ACM$Q_ACNTNAM    0000001C            DEV$V_WCK      = 0000001F            JBC_M_SRVTIMQUE= 00000010            

ACM$Q_PRVMSK     00000004            GBL...         = 00000000            JBC_M_SYMCREREQ= 00000002            

ACM$T_DATA       00000028            JBC$_ACMINVOP  = 00048088            JBC_M_SYMINIREQ= 00000004            

ACM$T_USERNAM    00000010            JBC$_ACNTOPN   = 00048478            JBC_V_CREJOBREQ= 00000003            

ACM$W_MAILBOX    00000002            JBC$_ACNTWRT   = 00048480            JBC_V_MBREADREQ= 00000000            

ACM$W_TYPE       00000000            JBC$_ENTQUE    = 000484A8            JBC_V_SRVTIMQUE= 00000004            

ACM$W_USERREQ    00000026            JBC$_ILLDEVNAM = 00048000            JBC_V_SYMCREREQ= 00000001            

BIT...         = 00000000            JBC$_ILLDEVTYP = 00048008            JBC_V_SYMINIREQ= 00000002            

DEV$M_ALL      = 00800000            JBC$_ILLFILNAM = 00048010            JCD_A_LBUFADR    0000000C            

DEV$M_AVL      = 00040000            JBC$_ILLQUENAM = 00048018            JCD_A_QUEBASE    00000018            

DEV$M_CCL      = 00000002            JBC$_INPASGN   = 00048488            JCD_B_CURPDEV    0000001D            

DEV$M_DIR      = 00000008            JBC$_INPREAD   = 00048490            JCD_B_CURSYMB    0000001C            

DEV$M_DMT      = 00200000            JBC$_INVMSG    = 00048418            JCD_G_LISTS      00000000            

DEV$M_ELG      = 00400000            JBC$_INVSCT    = 00048468            JCD_G_WLEND      FFFFFFF0            

DEV$M_FOD      = 00004000            JBC$_JOBABORT  = 00048080            JCD_G_WORKLIST   FFFFFFD0            

DEV$M_FOR      = 01000000            JBC$_JOBCRD    = 000484B0            JCD_K_SIZE     = 000000FC            

DEV$M_GEN      = 00020000            JBC$_LOSTREC   = 00048438            JCD_L_SMBPID     FFFFFFCC            

DEV$M_IDV      = 04000000            JBC$_MBASGN    = 00048400            JCD_Q_ACNTFIL    FFFFFFE8            

DEV$M_MBX      = 00100000            JBC$_MBDEAS    = 00048460            JCD_Q_FREEBUFR   FFFFFFF0            

DEV$M_MNT      = 00080000            JBC$_MBREAD    = 00048408            JCD_Q_LBUFDES    00000008            

DEV$M_NET      = 00002000            JBC$_MBSETAST  = 000484C8            JCD_Q_PROCDEL    FFFFFFE0            

DEV$M_ODV      = 08000000            JBC$_MBWRITE   = 000484D0            JCD_Q_SYMBMAN    FFFFFFD8            

DEV$M_RCK      = 40000000            JBC$_MULTREC   = 00048430            JCD_Q_SYMBSRV    FFFFFFD0            

DEV$M_REC      = 00000001            JBC$_NOOPENJOB = 00048048            JCD_Q_SYMBWAIT   FFFFFFF8            

DEV$M_RND      = 10000000            JBC$_NOPRIV    = 00048020            JCD_Q_TIME       FFFFFFC4            

DEV$M_RTM      = 20000000            JBC$_NOQUEHDR  = 00048028            JCD_Q_TMPDESC    00000010            

DEV$M_SDI      = 00000010            JBC$_NOQUESPACE= 00048030            JCD_T_INDEX0     00000000            

DEV$M_SHR      = 00010000            JBC$_NORMAL    = 00040001            JCD_T_LINBFE     000000C0            

DEV$M_SPL      = 00000040            JBC$_NOSUCHJOB = 00048040            JCD_T_LINBUF     0000001E            

DEV$M_SQD      = 00000020            JBC$_NOSUCHQUE = 00048038            JCD_T_START      FFFFFFC4            

DEV$M_SWL      = 02000000            JBC$_PASSCRD   = 000484B8            JCD_W_FLAGS      00000004            

DEV$M_TRM      = 00000004            JBC$_PRCREAT   = 00048410            JCD_W_JOBSEQ     00000006            

DEV$M_WCK      = 80000000            JBC$_PRINTOUT  = 000484E0            JCD_W_LBUFCNT    00000008            

DEV$V_ALL      = 00000017            JBC$_QUECNT    = 00048428            JCD_W_LBUFSIZ    0000000A            

DEV$V_AVL      = 00000012            JBC$_QUEERR    = 00048458            JCD_W_MBCHAN     00000002            

DEV$V_CCL      = 00000001            JBC$_QUENOSTOP = 00048050            JCD_W_TMPCHAN    00000000            

DEV$V_DIR      = 00000003            JBC$_QUEUPD    = 000484E8            JCM_K_SIZE       000000C0            

DEV$V_DMT      = 00000015            JBC$_SCTERR    = 00048450            JCM_Q_IOSB       00000008            

DEV$V_ELG      = 00000016            JBC$_SMINVOPR  = 00048058            JCM_Q_LINKS      00000000            

DEV$V_FOD      = 0000000E            JBC$_SMINVOPT  = 00048060            JCM_T_MSGDATA    00000010            

DEV$V_FOR      = 00000018            JBC$_SMINVREQ  = 00048068            LP$M_CR        = 00000001            

DEV$V_GEN      = 00000011            JBC$_SMZEROJOB = 00048070            LP$M_LOWER     = 00000080            

DEV$V_IDV      = 0000001A            JBC$_SNDRESP   = 00048420            LP$M_MECHFORM  = 00000002            

DEV$V_MBX      = 00000014            JBC$_SYMBASN   = 00048440            LP$M_PAGE_L    = FF000000            

DEV$V_MNT      = 00000013            JBC$_SYMBCRE   = 000484D8            LP$S_PAGE_L    = 00000008            

DEV$V_NET      = 0000000D            JBC$_SYMBDSAB  = 00048078            LP$V_CR        = 00000000            

DEV$V_ODV      = 0000001B            JBC$_SYMBWRT   = 00048448            LP$V_LOWER     = 00000007            

DEV$V_RCK      = 0000001E            JBC$_SYMDEL    = 00048470            LP$V_MECHFORM  = 00000001            

DEV$V_REC      = 00000000            JBC$_UAFOPN    = 000484A0            LP$V_PAGE_L    = 00000018            

DEV$V_RND      = 0000001C            JBC$_UNESYMMSG = 000484C0            LP$_LA11       = 00000002            

DEV$V_RTM      = 0000001D            JBC$_USERVAL   = 00048498            LP$_LA180      = 00000003            

DEV$V_SDI      = 00000004            JBC_K_MAXBUFR  = 00000004            LP$_LP11       = 00000001            

DEV$V_SHR      = 00000010            JBC_K_PRTIMFLAG= 00000002            MSG$_ABOOPR    = 00000011            

DEV$V_SPL      = 00000006            JBC_K_SYNCFLAG = 00000001            MSG$_ABORT     = 00000030            

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (4)



MSG$_ACCRSP    = 00000021            SJH$B_FORMS      0000000D            SMQ$V_REDIRECT = 00000004            

MSG$_CONFIRM   = 00000031            SJH$B_PRTPRI     0000000F            SMQ$V_STOPPED  = 00000003            

MSG$_CONNECT   = 00000032            SJH$L_NEXTJOB    00000008            SMQ$V_TRMDEV   = 00000002            

MSG$_CRUNSOLIC = 00000002            SJH$L_PARMBLK    0000003C            SMR$B_PROCPRI    00000024            

MSG$_DELPROC   = 00000003            SJH$L_PROCID     00000010            SMR$L_PROCID     FFFFFFFC            

MSG$_DELSMB    = 00000014            SJH$L_RECLINK    00000000            SMR$L_UIC        0000000C            

MSG$_DEVOFFLIN = 00000005            SJH$L_UIC        00000014            SMR$Q_ACNTNAM    0000001C            

MSG$_DEVONLIN  = 00000007            SJH$M_HOLD     = 00000001            SMR$Q_PRVMSK     00000004            

MSG$_DISCON    = 00000033            SJH$M_JOBABORT = 00000004            SMR$T_DATA       00000028            

MSG$_EXIT      = 00000034            SJH$M_LOWER    = 00000002            SMR$T_USERNAM    00000010            

MSG$_INIOPR    = 00000010            SJH$Q_ACNTNAM    00000024            SMR$W_MAILBOX    00000002            

MSG$_INTMSG    = 00000035            SJH$Q_JOBNAME    00000034            SMR$W_TYPE       00000000            

MSG$_OPREPLY   = 00000009            SJH$Q_TIME       0000002C            SMR$W_USERREQ    00000026            

MSG$_OPRQST    = 00000008            SJH$T_USERNAM    00000018            SQH$B_FLAGS      00000004            

MSG$_PATHLOST  = 00000036            SJH$V_HOLD     = 00000000            SQH$B_MAXQUE     00000006            

MSG$_PROTOCOL  = 00000037            SJH$V_JOBABORT = 00000002            SQH$B_NUMQUE     00000005            

MSG$_REJECT    = 00000038            SJH$V_LOWER    = 00000001            SQH$B_SPARE      00000007            

MSG$_RESOPR    = 00000013            SJH$W_JOBSEQ     00000004            SQH$C_SIZE       00000120            

MSG$_SCANBAD   = 00000028            SJH$W_MBCHAN     0000000D            SQH$K_SIZE       00000120            

MSG$_SCANRSP   = 00000029            SJH$W_QINDEX     00000006            SQH$L_FIRSTREC   00000008            

MSG$_SMBDON    = 00000009            SMQ$B_CHAR       0000000A            SQH$L_FREEREC    00000000            

MSG$_SMBINI    = 00000008            SMQ$B_FLAGS      00000008            SQH$L_LASTREC    00000010            

MSG$_SMBRSP    = 00000020            SMQ$B_FORMS      00000009            SQH$L_NEXTREC    0000000C            

MSG$_SNDACC    = 0000000A            SMQ$B_JOBCNT     00000009            SQH$L_OPENJOB    00000014            

MSG$_SNDSMB    = 00000004            SMQ$B_JOBLIM     0000000B            SQH$L_TIMQUE     00000018            

MSG$_SUSOPR    = 00000012            SMQ$C_SIZE       00000020            SQH$Q_QUEUE      00000020            

MSG$_THIRDPARTY= 00000039            SMQ$K_SIZE       00000020            SQH$W_QUESEQ     0000001C            

MSG$_TIMEOUT   = 0000003A            SMQ$L_ASNSCT     0000000C            SQR$B_COPYCNT    00000039            

MSG$_TRMHANGUP = 00000006            SMQ$L_CURRENT    00000000            SQR$B_FLAGS      00000038            

MSG$_TRMUNSOLIC= 00000001            SMQ$L_HOLDLST    00000004            SQR$L_RECLINK    00000000            

MSG$_XM_ATTN   = 0000000D            SMQ$M_CREPND   = 00000004            SQR$M_BRSTPAG  = 00000004            

MSG$_XM_DATAVL = 0000000B            SMQ$M_DEFBRST  = 00000002            SQR$M_DELETE   = 00000001            

MSG$_XM_SHUTDN = 0000000C            SMQ$M_DEFFLAG  = 00000001            SQR$M_DOUBLE   = 00000008            

SCT_B_FLAGS      00000009            SMQ$M_DETJOB   = 00000002            SQR$M_FLAGPAG  = 00000002            

SCT_B_STATE      00000008            SMQ$M_GENDEV   = 00000010            SQR$M_NOFEED   = 00000010            

SCT_K_ABOREQ   = 00000005            SMQ$M_INIPRI   = 0000000F            SQR$M_PAGHDR   = 00000020            

SCT_K_DEQFIL   = 00000003            SMQ$M_INUSE    = 00000001            SQR$T_FILNAM     00000024            

SCT_K_DEQJOB   = 00000002            SMQ$M_LOWER    = 00000008            SQR$T_VOLNAM     00000008            

SCT_K_FREE     = 00000000            SMQ$M_NOGENERIC= 00000020            SQR$V_BRSTPAG  = 00000002            

SCT_K_INIT     = 00000001            SMQ$M_NOSWAP   = 00000010            SQR$V_DELETE   = 00000000            

SCT_K_MRKDEL   = 00000008            SMQ$M_PAUSED   = 00000004            SQR$V_DOUBLE   = 00000003            

SCT_K_REQUE    = 00000006            SMQ$M_REDIRECT = 00000010            SQR$V_FLAGPAG  = 00000001            

SCT_K_SIZE       00000028            SMQ$M_STOPPED  = 00000008            SQR$V_NOFEED   = 00000004            

SCT_K_SUSPND   = 00000007            SMQ$M_TRMDEV   = 00000004            SQR$V_PAGHDR   = 00000005            

SCT_K_TRMJOB   = 00000004            SMQ$S_INIPRI   = 00000004            SQR$W_DIRNUM     0000001E            

SCT_L_CPUTIM     00000018            SMQ$T_NAME       00000010            SQR$W_DIRSEQ     00000020            

SCT_L_CURFIL     00000010            SMQ$V_CREPND   = 00000002            SQR$W_DIRVOL     00000022            

SCT_L_GETCNT     00000024            SMQ$V_DEFBRST  = 00000001            SQR$W_FILNUM     00000018            

SCT_L_PAGCNT     0000001C            SMQ$V_DEFFLAG  = 00000000            SQR$W_FILSEQ     0000001A            

SCT_L_PROCID     0000000C            SMQ$V_DETJOB   = 00000001            SQR$W_JOBSEQ     00000004            

SCT_L_QIOCNT     00000020            SMQ$V_GENDEV   = 00000004            SQR$W_PAGCNT     0000003A            

SCT_Q_LINKS      00000000            SMQ$V_INIPRI   = 00000000            SQR$W_RECID      00000006            

SCT_W_JOBSTAT    00000016            SMQ$V_INUSE    = 00000000            SQR$W_RELVOL     0000001C            

SCT_W_MBCHAN     0000000A            SMQ$V_LOWER    = 00000003            SYM$ABORT        00000154 RG    03   

SCT_W_QINDEX     00000014            SMQ$V_NOGENERIC= 00000005            SYM$ALLODEAL     ********   X   03   

SJH$B_COPYCNT    0000000E            SMQ$V_NOSWAP   = 00000004            SYM$CKREQPRV     ********   X   03   

SJH$B_FLAGS      0000000C            SMQ$V_PAUSED   = 00000002            SYM$CMPFORMS     ********   X   03   

JBCSYMAN1       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:49:18   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (4)



SYM$CNVOPTABO    ********   X   03   

SYM$CNVOPTINI    ********   X   03   

SYM$CNVOPTRES    ********   X   03   

SYM$CREPRTSYM    ********   X   03   

SYM$C_RECSIZE    00000040            

SYM$DELETEQUE    00000041 RG    03   

SYM$FINDQUEJOB   ********   X   03   

SYM$FREEJOB      ********   X   03   

SYM$GETDEVCHAR   ********   X   03   

SYM$INITIALIZE   00000000 RG    03   

SYM$JOBINSQUE    ********   X   03   

SYM$K_RECSIZE    00000040            

SYM$PAUSE        0000019C RG    03   

SYM$SND2SMB      ********   X   03   

SYM$SNDASNSYM    000001B3 RG    03   

SYM$START        0000007F RG    03   

SYM$STOP         ********   X   03   

SYM_K_MAXDEVNAM= 0000000F            

SYM_K_MAXFILNAM= 00000013            

SYM_K_MAXSYMB  = 00000010            

SYM_K_NUMQUEUE = 0000001F            

SYM_K_NUMRECORD= 00000400            

SYM_K_PRTPRI   = 00000020            

SYM_K_QUENAM   = 0000000F            

SYS$DELPRC       ********   X   03   

_$$$_          = 00000010            

_$$_           = 000000EF            





PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            FFFFFFFC      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

JBC_PURE         000001CB      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

13644. BYTES LEFT IN FREE MEMORY POOL.

48. BYTES OF RECLAIMED MEMORY.

OBJ$:JBCSYMAN1,LIS$:JBCSYMAN1/-SP=EXECML$/ML,LIB$:JOBCTL/ML,SRC$:JBCSYMAN1

44 MLB DIR RDS - 612 GETS TO DEFINE 30 MACROS. 44 INTER. FILE WRITES. 

