JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      38  DECLARATIONS

   (2)      56  CREATE PRINT JOB

   (3)     102  CLOSE A PRINT JOB

   (4)     154  ADD FILE TO PRINT JOB

   (5)     207  ENTER FILE IN PRINT QUEUE

   (6)     269  SYNCRONIZE WITH A BATCH JOB

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   1

V01                                                                                                                              (1)



                                     0000     1 

                                     0000     2 	.TITLE	JBCSYMAN3 - SYMBIONT MANAGER MAIN ROUTINE

                                     0000     3 	.IDENT	/V01/

                                     0000     4 

                                     0000     5 ;

                                     0000     6 ; COPYRIGHT (C) 1977

                                     0000     7 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     8 ;

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

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

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

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

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

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

                                     0000    15 ; REMAIN IN DEC.

                                     0000    16 ;

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

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

                                     0000    19 ; CORPORATION.

                                     0000    20 ;

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

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

                                     0000    23 

                                     0000    24 ;++

                                     0000    25 ; FACILITY:	STARTLET JOB CONTROLLER

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:	SYMBIONT MANAGER MAIN ROUTINE

                                     0000    28 ;

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

                                     0000    30 ;

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

                                     0000    32 ;

                                     0000    33 ; MODIFIED BY:

                                     0000    34 ;

                                     0000    35 ;	, : VERSION

                                     0000    36 ; 01	-

                                     0000    37 ;--

                                     0000    38 	.SBTTL	DECLARATIONS

                                     0000    39 ;

                                     0000    40 ; INCLUDE FILES:

                                     0000    41 ;

                                     0000    42 ;	[235,10]J/ML

                                     0000    43 ;

                                     0000    44 ; MACROS:

                                     0000    45 ;

                                     0000    46 ;

                                     0000    47 ; EQUATED SYMBOLS:

                                     0000    48 ;

                                     0000    49 	JBCPARDEF			; DEFINE JOB CONTROLLER PARAMETERS

                                     0000    50 	JBCQUEDEF			; DEFINE QUEUE OFFSETS

                                     0000    51 ;

                                     0000    52 ; OWN STORAGE:

                                     0000    53 ;

                                     0000    54 ;	NONE

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   2

V01             CREATE PRINT JOB                                                                                                 (2)



                                     0000    56 	.SBTTL	CREATE PRINT JOB

                                     0000    57 ;++

                                     0000    58 ; FUNCTIONAL DESCRIPTION:

                                     0000    59 ;

                                     0000    60 ;	THIS ROUTINE CREATES A PRINT JOB FOR THE REQUESTING

                                     0000    61 ;	PROCESS.

                                     0000    62 ;

                                     0000    63 ; CALLING SEQUENCE:

                                     0000    64 ;

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

                                     0000    66 ;

                                     0000    67 ; INPUT PARAMETERS:

                                     0000    68 ;

                                     0000    69 ;	R6 CONTAIN THE ADDRESS OF THE PROPER DEVICE QUEUE

                                     0000    70 ;	R9 HAS SYMBIONT MANAGER MESSAGE

                                     0000    71 ;

                                     0000    72 ; IMPLICIT INPUTS:

                                     0000    73 ;

                                     0000    74 ;	R10 HAS BASE ADDRESS OF THE QUEUE FILE

                                     0000    75 ;

                                     0000    76 ; OUTPUT PARAMETERS:

                                     0000    77 ;

                                     0000    78 ;	THE JOB IS CREATED AND INSERTED IN THE OPEN JOB LIST

                                     0000    79 ;

                                     0000    80 ; COMPLETION CODES:

                                     0000    81 ;

                                     0000    82 ;	R0 CONTAINS STATUS

                                     0000    83 ;

                                     0000    84 ; SIDE EFFECTS:		NONE

                                     0000    85 ;--

                                     0000    86 	PURE_SECTION

                                     0000    87 

                                     0000    88 SYM$CREJOB::

                          23     10  0000    89 	BSBB	CLSJOB			; CLOSE THE JOB IF ITS OPEN

                          FFFB'  30  0002    90 	BSBW	SYM$INIPRTJOBHD		; SET UP JOB HEADER

                          FFF8'  30  0005    91 	BSBW	SYM$CNVOPTJOB		; PROCESS USER SUPPLIED OPTIONS

            0C            50     E8  0008    92 	BLBS	R0,20$			; BR IF NO ERROR

                          50     DD  000B    93 	PUSHL	R0			; SAVE ERROR CODE

            50            57     D0  000D    94 	MOVL	R7,R0			; SET ADDRESS OF JOB HEADER

                          FFED'  30  0010    95 	BSBW	SYM$DEARECORD		; RELEASE IT TO FREE LIST

                          01     BA  0013    96 	POPR	#^M<R0>			; RESTORE ERROR

                          0A     11  0015    97 	BRB	90$			; TAKE COMMON EXIT

         08 A7         14 AA     D0  0017    98 20$:	MOVL	SQH$L_OPENJOB(R10),SJH$L_NEXTJOB(R7) ; SET PRVIOUS FIRST AS NEXT

            57            5A     C3  001C    99 	SUBL3	R10,R7,SQH$L_OPENJOB(R10) ; SET NEW JOB AS CURRENT FIRST

                       14 AA         001F       

                                 04  0021   100 90$:	RET				; BACK TO SYMBIONT MANAGER DISPATCHER

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   3

V01             CLOSE A PRINT JOB                                                                                                (3)



                                     0022   102 	.SBTTL	CLOSE A PRINT JOB

                                     0022   103 ;++

                                     0022   104 ; FUNCTIONAL DESCRIPTION:

                                     0022   105 ;

                                     0022   106 ;	THIS ROUTINE IS CALLED TO CLOSE AN OPEN PRINT JOB, CAUSING

                                     0022   107 ;	THE JOB TO BE PLACED INTO ONE OF THE SYMBIONT QUEUES

                                     0022   108 ;

                                     0022   109 ; CALLING SEQUENCE:

                                     0022   110 ;

                                     0022   111 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     0022   112 ;

                                     0022   113 ; INPUT PARAMETERS:

                                     0022   114 ;

                                     0022   115 ;	R9 CONTAINS THE ADDRESS OF THE SYMBIONT MANAGER MESSAGE

                                     0022   116 ;

                                     0022   117 ; IMPLICIT INPUTS:

                                     0022   118 ;

                                     0022   119 ;	R10 HAS THE BASE ADDRESS OF THE SYMBIONT MANAGER QUEUE

                                     0022   120 ;

                                     0022   121 ; OUTPUT PARAMETERS:

                                     0022   122 ;

                                     0022   123 ;	THE JOB IS REMOVED FOR THE OPEN JOB LIST AND INSERTED INTO

                                     0022   124 ;	ONE OF THE SYMBIONT QUEUES IF IT EXISTS AND IS NON-EMPTY

                                     0022   125 ;

                                     0022   126 ; IMPLICIT OUTPUTS:

                                     0022   127 ;

                                     0022   128 ;	JOB HEADER IS RELEASED IF THE JOB CONTAINS NO RECORDS

                                     0022   129 ;

                                     0022   130 ; COMPLETION CODES:

                                     0022   131 ;

                                     0022   132 ;	R0 CONTAINS THE FINAL STATUS OF THE REQUESTS

                                     0022   133 ;

                                     0022   134 ; SIDE EFFECTS:		NONE

                                     0022   135 ;--

                                     0022   136 

                                     0022   137 SYM$CLSJOB::

                          01     10  0022   138 	BSBB	CLSJOB			; CLOSE THE JOB

                                 04  0024   139 	RET				; EXIT WITH THE STATUS

                                     0025   140  

                          FFD8'  30  0025   141 CLSJOB:	BSBW	SYM$FINDOPENJOB		; FIND OPEN JOB FOR THE REQUESTOR

            19            50     E9  0028   142 	BLBC	R0,40$			; BR IF JOB NOT FOUND

            62         08 A7     D0  002B   143 	MOVL	SJH$L_NEXTJOB(R7),(R2)	; CLOSE THE LIST

                                     002F   144 	SYM_QUECHANGE			; CHANGE QUEUE FILE SEQUENCE

                          67     D5  0032   145 	TSTL	SJH$L_RECLINK(R7)	; EMPTY JOB?

                          08     12  0034   146 	BNEQ	20$			; BR IF JOB IS OK

                          FFC7'  30  0036   147 	BSBW	SYM$FREEJOB		; RELEASE THE JOB

                                     0039   148 	SETSTAT	SMZEROJOB		; SET ERROR

                          06     11  003C   149 	BRB	40$			; JOIN COMMON EXIT

                          FFBF'  30  003E   150 20$:	BSBW	SYM$JOBINSQUE		; INSERT JOB IN THE QUEUE

                                     0041   151 	SETSTAT	NORMAL			; SET SUCESSFUL STATUS

                                 05  0044   152 40$:	RSB

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   4

V01             ADD FILE TO PRINT JOB                                                                                            (4)



                                     0045   154 	.SBTTL	ADD FILE TO PRINT JOB

                                     0045   155 ;++

                                     0045   156 ; FUNCTIONAL DESCRIPTION:

                                     0045   157 ;

                                     0045   158 ;	THIS ROUTINE IS CALLED TO ADD A FILE TO THE OPEN JOB

                                     0045   159 ;	FOR THE SPECIFIED PROCESS

                                     0045   160 ;

                                     0045   161 ; CALLING SEQUENCE:

                                     0045   162 ;

                                     0045   163 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     0045   164 ;

                                     0045   165 ; INPUT PARAMETERS:

                                     0045   166 ;

                                     0045   167 ;	R9 CONTAINS THE ADDRESS OF THE SYMBIONT MANAGER MESSAGE

                                     0045   168 ;	WITH THE INFORMATION ABOUT THE FILE TO ADD.

                                     0045   169 ;

                                     0045   170 ; IMPLICIT INPUTS:

                                     0045   171 ;

                                     0045   172 ;	R10 CONTAINS THE BASE ADDRESS OF THE SYMBIONT MANAGER QUEUE

                                     0045   173 ;

                                     0045   174 ; OUTPUT PARAMETERS:

                                     0045   175 ;

                                     0045   176 ;	THE RECORD IS ADDED TO THE JOB

                                     0045   177 ;

                                     0045   178 ; COMPLETION CODES:

                                     0045   179 ;

                                     0045   180 ;	R0 CONTAINS THE FINAL STATUS OF THE REQUEST

                                     0045   181 ;

                                     0045   182 ; SIDE EFFECTS:		NONE

                                     0045   183 ;--

                                     0045   184 

                                     0045   185 SYM$ADDFIL::

                          FFB8'  30  0045   186 	BSBW	SYM$FINDOPENJOB		; LOCATE THE JOB-RET ISSUED ON ERROR

            2F            50     E9  0048   187 	BLBC	R0,50$			; BR IF ERROR FINDING JOB

                          FFB2'  30  004B   188 	BSBW	SYM$INIPRTREC		; SET UP THE RECORD

            29            50     E9  004E   189 	BLBC	R0,50$			; BR IF ERROR SETTING RECORD DESCRIPTOR

                          FFAC'  30  0051   190 	BSBW	SYM$CNVOPTENT		; PROCESS OPTIONS SAME AS ENTER FILE

            0C            50     E8  0054   191 	BLBS	R0,10$			; BR IF NO ERROR

                          50     DD  0057   192 	PUSHL	R0			; SAVE THE ERROR

            50            58     D0  0059   193 	MOVL	R8,R0			; SET RECORD TO DEALLOCATE

                          FFA1'  30  005C   194 	BSBW	SYM$DEARECORD		; RELEASE THE RECORD

                          01     BA  005F   195 	POPR	#^M<R0>			; RESTORE THE ERROR CODE

                          17     11  0061   196 	BRB	50$			; GO BACK

            52            57     D0  0063   197 10$:	MOVL	R7,R2			; COPY JOB HEADER FOR SEARCH OF JOB

            51            52     D0  0066   198 20$:	MOVL	R2,R1			; SAVE LAST RECORD ADDRESS

            52            61     D0  0069   199 	MOVL	SQR$L_RECLINK(R1),R2	; FOLLOW THE LINKS

                          05     13  006C   200 	BEQL	30$			; BR IF RUN OUT OF LINKS

            52            5A     C0  006E   201 	ADDL	R10,R2			; FIND REAL ADDRESS OF THIS RECORD

                          F3     11  0071   202 	BRB	20$			; LOOK AGAIN

            58            5A     C3  0073   203 30$:	SUBL3	R10,R8,SQR$L_RECLINK(R1) ; LINK NEW RECORD AT END OF LIST

                          61         0076       

                                     0077   204 	SETSTAT	NORMAL			; SET SUCESSFUL STATUS

                                 04  007A   205 50$:	RET				; RETURN TO SYMBIONT MANAGER DISPATCHER

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   5

V01             ENTER FILE IN PRINT QUEUE                                                                                        (5)



                                     007B   207 	.SBTTL	ENTER FILE IN PRINT QUEUE

                                     007B   208 ;++

                                     007B   209 ; FUNCTIONAL DESCRIPTION:

                                     007B   210 ;

                                     007B   211 ;	THIS ROUTINE IS ENTER WHEN A PROCESS HAS REQUESTED

                                     007B   212 ;	THAT A FILE BE PRINTED.  THIS RESULTS IN THE CREATION

                                     007B   213 ;	OF A PRINT JOB WITH A SINGLE ENTRY.

                                     007B   214 ;

                                     007B   215 ; CALLING SEQUENCE:

                                     007B   216 ;

                                     007B   217 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     007B   218 ;

                                     007B   219 ; INPUT PARAMETERS:

                                     007B   220 ;

                                     007B   221 ;	R6 HAS THE ADDRESS OF THE PROPER DEVICE QUEUE

                                     007B   222 ;	R9 HAS THE ADDRESS OF THE MESSAGE

                                     007B   223 ;

                                     007B   224 ; IMPLICIT INPUTS:

                                     007B   225 ;

                                     007B   226 ;	R10 HAS THE ADDRESS OF THE PRINT QUEUE FILE

                                     007B   227 ;

                                     007B   228 ; OUTPUT PARAMETERS:

                                     007B   229 ;

                                     007B   230 ;	THE JOB IS CREATED AND INSERTED INTO ONE OF THE QUEUES

                                     007B   231 ;	DEPENDING UPON THE DATA SPECIFIED IN THE REQUEST.

                                     007B   232 ;	IF THERE IS AN ERROR DETECTED WHILE PROCESSING THE

                                     007B   233 ;	REQUEST, NO ENTRY IS MADE.

                                     007B   234 ;

                                     007B   235 ; IMPLICIT OUTPUTS:

                                     007B   236 ;

                                     007B   237 ;	NONE

                                     007B   238 ;

                                     007B   239 ; COMPLETION CODES:

                                     007B   240 ;

                                     007B   241 ;	R0 CONTAINS SUCESS OF FAILURE STATUS

                                     007B   242 ;

                                     007B   243 ; SIDE EFFECTS:

                                     007B   244 ;

                                     007B   245 ;	NONE

                                     007B   246 ;

                                     007B   247 ;--

                                     007B   248 

                                     007B   249 SYM$ENTER::

                          FF82'  30  007B   250 	BSBW	SYM$INIPRTJOBHD		; SET UP COMMON PART OF PRINT JOB HEADER

                          FF7F'  30  007E   251 	BSBW	SYM$INIPRTREC		; SET UP PRINT RECORD

            12            50     E9  0081   252 	BLBC	R0,20$			; BR IF THERE WAS AN ERROR

            58            5A     C3  0084   253 	SUBL3	R10,R8,SJH$L_RECLINK(R7) ; LINK FILE INTO ITS JOB

                          67         0087       

                          FF75'  30  0088   254 	BSBW	SYM$CNVOPTENT		; CONVERT OPTION CODES

            08            50     E9  008B   255 	BLBC	R0,20$			; BR IF ERROR PROCESSING OPTIONS

                          FF6F'  30  008E   256 	BSBW	SYM$JOBINSQUE		; INSERT THE JOB INTO SOME QUEUE

                                     0091   257 	SETSTAT	NORMAL			; SET SUCESSFULL STATUS

                          0A     11  0094   258 	BRB	90$			; CLEAR OUT OF HERE

                                     0096   259 ;

                                     0096   260 ; AN ERROR WAS ENCOUNTERED WHILE PROCESSING OPTIONS

                                     0096   261 ;	MUST DEALLOCATE JOB AND FILE RECORDS

                                     0096   262 ;

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   6

V01             ENTER FILE IN PRINT QUEUE                                                                                        (5)



                          50     DD  0096   263 20$:	PUSHL	R0			; SAVE ERROR CODE

            50            57     D0  0098   264 	MOVL	R7,R0			; SET JOB HEADER ADDRESS

                          FF62'  30  009B   265 	BSBW	SYM$FREEJOB		; RELEASE THE RECORDS

                          01     BA  009E   266 	POPR	#^M<R0>			; RESTORE ERROR CODE

                                 04  00A0   267 90$:	RET				; RETURN TO TOP LEVEL

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   7

V01             SYNCRONIZE WITH A BATCH JOB                                                                                      (6)



                                     00A1   269 	.SBTTL	SYNCRONIZE WITH A BATCH JOB

                                     00A1   270 ;++

                                     00A1   271 ; FUNCTIONAL DESCRIPTION:

                                     00A1   272 ;

                                     00A1   273 ;	THIS ROUTINE IS CALLED TO ESTABLISH A MAILBOX TO RECIEVE

                                     00A1   274 ;	A MESSAGE WHEN A BATCH JOB TERMINATES.

                                     00A1   275 ;

                                     00A1   276 ; CALLING SEQUENCE:

                                     00A1   277 ;

                                     00A1   278 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     00A1   279 ;

                                     00A1   280 ; INPUT PARAMETERS:

                                     00A1   281 ;

                                     00A1   282 ;	R5 CONTAINS THE ADDRESS OF THE ENTRY NUMBER FOLLOWED BY JOB NAME

                                     00A1   283 ;	R9 CONTAINS THE ADDRESS OF THE SYMBIONT MANAGER MESSAGE

                                     00A1   284 ;	R10 CONTAINS THE BASE ADDRESS OF THE SYMBIONT MANAGER QUEUE

                                     00A1   285 ;

                                     00A1   286 ; OUTPUT PARAMETERS:

                                     00A1   287 ;

                                     00A1   288 ;	THE MAILBOX IS SET TO RECIEVE THE MESSAGE

                                     00A1   289 ;

                                     00A1   290 ; COMPLETION CODES:

                                     00A1   291 ;

                                     00A1   292 ;	R0 CONTAINS THE FINAL STATUS OF THE REQUEST

                                     00A1   293 ;

                                     00A1   294 ; SIDE EFFECTS:		NONE

                                     00A1   295 ;--

                                     00A1   296 SYM$SYNCJOB::				;

         08 A6            01     E1  00A1   297 	BBC	#SMQ$V_DETJOB,SMQ$B_FLAGS(R6),70$ ; BR IF NOT A BATCH QUEUE

                          40         00A5       

            57            66     D0  00A6   298 	MOVL	SMQ$L_CURRENT(R6),R7	; GET OFFSET TO FIRST ACTIVE JOB

                          07     10  00A9   299 	BSBB	10$			; SEARCH FOR TARGET JOB

                       C2'AF     9F  00AB   300 	PUSHAB	B^20$			; NEXT PLACE IF NOT IN HOLD LIST

            57         04 A6     D0  00AE   301 	MOVL	SMQ$L_HOLDLST(R6),R7	; GET OFFSET TO FIRST HOLD LIST ENTRY

                          0D     13  00B2   302 10$:	BEQL	15$			; BR IF EMPTY LIST

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

                          31     10  00B7   304 	BSBB	100$			; COMPAIR WITH TARGET JOB

                          1C     13  00B9   305 	BEQL	50$			; BR IF FOUND THE JOB

            57         08 A7     D0  00BB   306 	MOVL	SJH$L_NEXTJOB(R7),R7	; GET OFFSET TO NEXT JOB

                          F1     12  00BF   307 	BNEQ	10$			; CHECK THIS ONE OUT

                                 05  00C1   308 15$:	RSB				;

                          FF3B'  30  00C2   309 20$:	BSBW	SYM$FINDCLSJOB		; FIND A CLOSED JOB FOR THIS QUEUE

            1D            50     E9  00C5   310 30$:	BLBC	R0,60$			; BR IF NO SUCH JOB

            57            52     D0  00C8   311 	MOVL	R2,R7			; SET ADDRESS OF JOB HEADER

                          1D     10  00CB   312 	BSBB	100$			; COMPAIR

                          06     13  00CD   313 	BEQL	40$			; BR IF FOUND

                          50     D4  00CF   314 	CLRL	R0			; DON'T DEQUE THE JOB

                          9E     16  00D1   315 	JSB	@(SP)+			; GET THE NEXT JOB IN THE QUEUE

                          F0     11  00D3   316 	BRB	30$			;

                          8E     D5  00D5   317 40$:	TSTL	(SP)+			; CLEAR CO-ROUTINE LINK ADDRESS

                       0D A7     B5  00D7   318 50$:	TSTW	SJH$W_MBCHAN(R7)	; SOMEONE ALREADY WAITING?

                          0A     12  00DA   319 	BNEQ	70$			; BR IF YES

                                 B0  00DC   320 	MOVW	JCD_W_TMPCHAN(R11),-	; GET CHANNEL OF MAILBOX FOR RESPONCE

         0D A7            6B         00DD   321 		SJH$W_MBCHAN(R7)	; AND SAVE IT IN THE BATCH JOB HEADER

                          6B     B4  00E0   322 	CLRW	JCD_W_TMPCHAN(R11)	; DISABLE IMMEADIATE RESPONCE

                                     00E2   323 	SETSTAT	NORMAL			; ALL IS WELL

                                 04  00E5   324 60$:	RET				;

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   8

V01             SYNCRONIZE WITH A BATCH JOB                                                                                      (6)



                                     00E6   325  

                                     00E6   326 70$:	SETSTAT	SMINVOPR		; CAN'T DO WHAT HAS BEEN REQUESTED

                                 04  00E9   327 	RET				;

                                     00EA   328  

                          65     B5  00EA   329 100$:	TSTW	(R5)			; LOOKING FOR JOB BY ENTRY

                          05     13  00EC   330 	BEQL	110$			; BR IF NO

         04 A7            65     B1  00EE   331 	CMPW	(R5),SJH$W_JOBSEQ(R7)	; COMAPIR JOB ID'S

                                 05  00F2   332 	RSB				; RETURN WITH CONDITION CODES SET

                          0C     BB  00F3   333 110$:	PUSHR	#^M<R2,R3>		; SAVE REGISTERS USED BY INSTRUCTION

         18 A7            0C     29  00F5   334 	CMPC	#12,SJH$T_USERNAM(R7),SMR$T_USERNAM(R9) ; SAME USER?

                       10 A9         00F9       

                          06     12  00FB   335 	BNEQ	120$			; BR IF NO - JOB CAN'T MATCH

         34 A7            08     29  00FD   336 	CMPC	#8,SJH$Q_JOBNAME(R7),2(R5) ; CHECK FOR JOB NAME MATCH

                       02 A5         0101       

                          0C     BA  0103   337 120$:	POPR	#^M<R2,R3>		; RESTORE REGISTERS USED BY INSDTRUCTION

                                 05  0105   338 	RSB				;

                                     0106   339  

                                     0106   340 	.END

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page   9

SYMBOL TABLE                                                                                                                     (6)



ACM$B_PROCPRI    00000024            JBC$_SYMBWRT   = 00048448            SJH$L_PROCID     00000010            

ACM$L_PROCID     FFFFFFFC            JBC$_SYMDEL    = 00048470            SJH$L_RECLINK    00000000            

ACM$L_UIC        0000000C            JBC$_UAFOPN    = 000484A0            SJH$L_UIC        00000014            

ACM$Q_ACNTNAM    0000001C            JBC$_UNESYMMSG = 000484C0            SJH$M_HOLD     = 00000001            

ACM$Q_PRVMSK     00000004            JBC$_USERVAL   = 00048498            SJH$M_JOBABORT = 00000004            

ACM$T_DATA       00000028            JBC_K_MAXBUFR  = 00000004            SJH$M_LOWER    = 00000002            

ACM$T_USERNAM    00000010            JBC_K_PRTIMFLAG= 00000002            SJH$Q_ACNTNAM    00000024            

ACM$W_MAILBOX    00000002            JBC_K_SYNCFLAG = 00000001            SJH$Q_JOBNAME    00000034            

ACM$W_TYPE       00000000            JBC_K_UPDFLG   = 00000008            SJH$Q_TIME       0000002C            

ACM$W_USERREQ    00000026            JBC_M_CREJOBREQ= 00000008            SJH$T_USERNAM    00000018            

BIT...         = 00000005            JBC_M_MBREADREQ= 00000001            SJH$V_HOLD     = 00000000            

CLSJOB           00000025 R     03   JBC_M_SRVTIMQUE= 00000010            SJH$V_JOBABORT = 00000002            

GBL...         = 00000000            JBC_M_SYMCREREQ= 00000002            SJH$V_LOWER    = 00000001            

JBC$_ACMINVOP  = 00048088            JBC_M_SYMINIREQ= 00000004            SJH$W_JOBSEQ     00000004            

JBC$_ACNTOPN   = 00048478            JBC_V_CREJOBREQ= 00000003            SJH$W_MBCHAN     0000000D            

JBC$_ACNTWRT   = 00048480            JBC_V_MBREADREQ= 00000000            SJH$W_QINDEX     00000006            

JBC$_ENTQUE    = 000484A8            JBC_V_SRVTIMQUE= 00000004            SMQ$B_CHAR       0000000A            

JBC$_ILLDEVNAM = 00048000            JBC_V_SYMCREREQ= 00000001            SMQ$B_FLAGS      00000008            

JBC$_ILLDEVTYP = 00048008            JBC_V_SYMINIREQ= 00000002            SMQ$B_FORMS      00000009            

JBC$_ILLFILNAM = 00048010            JCD_A_LBUFADR    0000000C            SMQ$B_JOBCNT     00000009            

JBC$_ILLQUENAM = 00048018            JCD_A_QUEBASE    00000018            SMQ$B_JOBLIM     0000000B            

JBC$_INPASGN   = 00048488            JCD_B_CURPDEV    0000001D            SMQ$C_SIZE       00000020            

JBC$_INPREAD   = 00048490            JCD_B_CURSYMB    0000001C            SMQ$K_SIZE       00000020            

JBC$_INVMSG    = 00048418            JCD_G_LISTS      00000000            SMQ$L_ASNSCT     0000000C            

JBC$_INVSCT    = 00048468            JCD_G_WLEND      FFFFFFF0            SMQ$L_CURRENT    00000000            

JBC$_JOBABORT  = 00048080            JCD_G_WORKLIST   FFFFFFD0            SMQ$L_HOLDLST    00000004            

JBC$_JOBCRD    = 000484B0            JCD_K_SIZE     = 000000FC            SMQ$M_CREPND   = 00000004            

JBC$_LOSTREC   = 00048438            JCD_L_SMBPID     FFFFFFCC            SMQ$M_DEFBRST  = 00000002            

JBC$_MBASGN    = 00048400            JCD_Q_ACNTFIL    FFFFFFE8            SMQ$M_DEFFLAG  = 00000001            

JBC$_MBDEAS    = 00048460            JCD_Q_FREEBUFR   FFFFFFF0            SMQ$M_DETJOB   = 00000002            

JBC$_MBREAD    = 00048408            JCD_Q_LBUFDES    00000008            SMQ$M_GENDEV   = 00000010            

JBC$_MBSETAST  = 000484C8            JCD_Q_PROCDEL    FFFFFFE0            SMQ$M_INIPRI   = 0000000F            

JBC$_MBWRITE   = 000484D0            JCD_Q_SYMBMAN    FFFFFFD8            SMQ$M_INUSE    = 00000001            

JBC$_MULTREC   = 00048430            JCD_Q_SYMBSRV    FFFFFFD0            SMQ$M_LOWER    = 00000008            

JBC$_NOOPENJOB = 00048048            JCD_Q_SYMBWAIT   FFFFFFF8            SMQ$M_NOGENERIC= 00000020            

JBC$_NOPRIV    = 00048020            JCD_Q_TIME       FFFFFFC4            SMQ$M_NOSWAP   = 00000010            

JBC$_NOQUEHDR  = 00048028            JCD_Q_TMPDESC    00000010            SMQ$M_PAUSED   = 00000004            

JBC$_NOQUESPACE= 00048030            JCD_T_INDEX0     00000000            SMQ$M_REDIRECT = 00000010            

JBC$_NORMAL    = 00040001            JCD_T_LINBFE     000000C0            SMQ$M_STOPPED  = 00000008            

JBC$_NOSUCHJOB = 00048040            JCD_T_LINBUF     0000001E            SMQ$M_TRMDEV   = 00000004            

JBC$_NOSUCHQUE = 00048038            JCD_T_START      FFFFFFC4            SMQ$S_INIPRI   = 00000004            

JBC$_PASSCRD   = 000484B8            JCD_W_FLAGS      00000004            SMQ$T_NAME       00000010            

JBC$_PRCREAT   = 00048410            JCD_W_JOBSEQ     00000006            SMQ$V_CREPND   = 00000002            

JBC$_PRINTOUT  = 000484E0            JCD_W_LBUFCNT    00000008            SMQ$V_DEFBRST  = 00000001            

JBC$_QUECNT    = 00048428            JCD_W_LBUFSIZ    0000000A            SMQ$V_DEFFLAG  = 00000000            

JBC$_QUEERR    = 00048458            JCD_W_MBCHAN     00000002            SMQ$V_DETJOB   = 00000001            

JBC$_QUENOSTOP = 00048050            JCD_W_TMPCHAN    00000000            SMQ$V_GENDEV   = 00000004            

JBC$_QUEUPD    = 000484E8            JCM_K_SIZE       000000C0            SMQ$V_INIPRI   = 00000000            

JBC$_SCTERR    = 00048450            JCM_Q_IOSB       00000008            SMQ$V_INUSE    = 00000000            

JBC$_SMINVOPR  = 00048058            JCM_Q_LINKS      00000000            SMQ$V_LOWER    = 00000003            

JBC$_SMINVOPT  = 00048060            JCM_T_MSGDATA    00000010            SMQ$V_NOGENERIC= 00000005            

JBC$_SMINVREQ  = 00048068            SJH$B_COPYCNT    0000000E            SMQ$V_NOSWAP   = 00000004            

JBC$_SMZEROJOB = 00048070            SJH$B_FLAGS      0000000C            SMQ$V_PAUSED   = 00000002            

JBC$_SNDRESP   = 00048420            SJH$B_FORMS      0000000D            SMQ$V_REDIRECT = 00000004            

JBC$_SYMBASN   = 00048440            SJH$B_PRTPRI     0000000F            SMQ$V_STOPPED  = 00000003            

JBC$_SYMBCRE   = 000484D8            SJH$L_NEXTJOB    00000008            SMQ$V_TRMDEV   = 00000002            

JBC$_SYMBDSAB  = 00048078            SJH$L_PARMBLK    0000003C            SMR$B_PROCPRI    00000024            

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (6)



SMR$L_PROCID     FFFFFFFC            SYM$FINDCLSJOB   ********   X   03   

SMR$L_UIC        0000000C            SYM$FINDOPENJOB  ********   X   03   

SMR$Q_ACNTNAM    0000001C            SYM$FREEJOB      ********   X   03   

SMR$Q_PRVMSK     00000004            SYM$INIPRTJOBHD  ********   X   03   

SMR$T_DATA       00000028            SYM$INIPRTREC    ********   X   03   

SMR$T_USERNAM    00000010            SYM$JOBINSQUE    ********   X   03   

SMR$W_MAILBOX    00000002            SYM$K_RECSIZE    00000040            

SMR$W_TYPE       00000000            SYM$SYNCJOB      000000A1 RG    03   

SMR$W_USERREQ    00000026            SYM_K_MAXDEVNAM= 0000000F            

SQH$B_FLAGS      00000004            SYM_K_MAXFILNAM= 00000013            

SQH$B_MAXQUE     00000006            SYM_K_MAXSYMB  = 00000010            

SQH$B_NUMQUE     00000005            SYM_K_NUMQUEUE = 0000001F            

SQH$B_SPARE      00000007            SYM_K_NUMRECORD= 00000400            

SQH$C_SIZE       00000120            SYM_K_PRTPRI   = 00000020            

SQH$K_SIZE       00000120            SYM_K_QUENAM   = 0000000F            

SQH$L_FIRSTREC   00000008            _$$$_          = 00000016            

SQH$L_FREEREC    00000000            

SQH$L_LASTREC    00000010            

SQH$L_NEXTREC    0000000C            

SQH$L_OPENJOB    00000014            

SQH$L_TIMQUE     00000018            

SQH$Q_QUEUE      00000020            

SQH$W_QUESEQ     0000001C            

SQR$B_COPYCNT    00000039            

SQR$B_FLAGS      00000038            

SQR$L_RECLINK    00000000            

SQR$M_BRSTPAG  = 00000004            

SQR$M_DELETE   = 00000001            

SQR$M_DOUBLE   = 00000008            

SQR$M_FLAGPAG  = 00000002            

SQR$M_NOFEED   = 00000010            

SQR$M_PAGHDR   = 00000020            

SQR$T_FILNAM     00000024            

SQR$T_VOLNAM     00000008            

SQR$V_BRSTPAG  = 00000002            

SQR$V_DELETE   = 00000000            

SQR$V_DOUBLE   = 00000003            

SQR$V_FLAGPAG  = 00000001            

SQR$V_NOFEED   = 00000004            

SQR$V_PAGHDR   = 00000005            

SQR$W_DIRNUM     0000001E            

SQR$W_DIRSEQ     00000020            

SQR$W_DIRVOL     00000022            

SQR$W_FILNUM     00000018            

SQR$W_FILSEQ     0000001A            

SQR$W_JOBSEQ     00000004            

SQR$W_PAGCNT     0000003A            

SQR$W_RECID      00000006            

SQR$W_RELVOL     0000001C            

SYM$ADDFIL       00000045 RG    03   

SYM$CLSJOB       00000022 RG    03   

SYM$CNVOPTENT    ********   X   03   

SYM$CNVOPTJOB    ********   X   03   

SYM$CREJOB       00000000 RG    03   

SYM$C_RECSIZE    00000040            

SYM$DEARECORD    ********   X   03   

SYM$ENTER        0000007B RG    03   

JBCSYMAN3       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:40   VAX-11 MACRO X0.3-11               Page  11

PROGRAM SECTION SYNOPSIS                                                                                                         (6)







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         00000106      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

17816. BYTES LEFT IN FREE MEMORY POOL.

154. BYTES OF RECLAIMED MEMORY.

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

33 MLB DIR RDS - 443 GETS TO DEFINE 21 MACROS. 27 INTER. FILE WRITES. 

