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

TABLE OF CONTENTS   



   (1)      38  DECLARATIONS

   (2)      55  MERGE QUEUE CONTENTS

   (3)     118  REDIRECT QUEUE CONTENTS

   (4)     184  JUSTIFY PRINT FORMS

   (5)     213  STOP PRINTING OF DEVICE

   (6)     269  ALLOCATE/DEALOCATE A DEVICE

   (7)     316  ALTER JOB CHARACTERISTICS

   (8)     369  REMOVE JOB FORM QUEUE

   (9)     438  RELEASE HELD JOB

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

V01                                                                                                                              (1)



                                     0000     1 

                                     0000     2 	.TITLE	JBCSYMAN2 - 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:		NONE

                                     0000    53 ;

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

V01             MERGE QUEUE CONTENTS                                                                                             (2)



                                     0000    55 	.SBTTL	MERGE QUEUE CONTENTS

                                     0000    56 ;++

                                     0000    57 ; FUNCTIONAL DESCRIPTION:

                                     0000    58 ;

                                     0000    59 ;	THIS ROUTINE IS CALLED TO HAVE THE CONTENTS OF A QUEUE

                                     0000    60 ;	REMOVED AND MERGED INTO ANOTHER QUEUE.

                                     0000    61 ;

                                     0000    62 ; CALLING SEQUENCE:

                                     0000    63 ;

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

                                     0000    65 ;

                                     0000    66 ; INPUT PARAMETERS:

                                     0000    67 ;

                                     0000    68 ;	R5 POINTS AT THE NAME OF THE QUEUE TO MERGE FROM

                                     0000    69 ;	R6 CONTAINS THE ADDRESS OF THE QUEUE TO MERGE TO.

                                     0000    70 ;

                                     0000    71 ; IMPLICIT INPUTS:

                                     0000    72 ;

                                     0000    73 ;	R9 HAS THE ADDRESS OF THE SYMBIONT MANAGER RECORD

                                     0000    74 ;	R10 HAS THE BASE ADDRESS OF THE QUEUE FILE

                                     0000    75 ;	R11 HAS THE ADDRESS OF THE JOB CONTROLLER DATA BLOCK

                                     0000    76 ;

                                     0000    77 ; OUTPUT PARAMETERS:

                                     0000    78 ;

                                     0000    79 ;	QUEUES ARE MERGED INTO 1, THE SOURCE QUEUE IS EMPTY.

                                     0000    80 ;--

                                     0000    81 	PURE_SECTION

                                     0000    82  

                                     0000    83 SYM$MERGE::				; MERGE A QUEUE WITH ANOTHER

                          56     DD  0000    84 	PUSHL	R6			; SAVE QUEUE TO MERGE INTO

                          FFFB'  30  0002    85 	BSBW	SYM$FINDQUEUE		; LOOK FOR THE QUEUE TO MERGE FROM

            58            56     D0  0005    86 	MOVL	R6,R8			; SET ADDRESS OF QUEUE TO MERGE FROM

                          56   8ED0  0008    87 	POPL	R6			; GET THE TARGET QUEUE BACK

            48            50     E9  000B    88 	BLBC	R0,90$			; EXIT IF TARGET QUEUE IS NOT HERE

            57         04 A8     D0  000E    89 10$:	MOVL	SMQ$L_HOLDLST(R8),R7	; GET FIRST RECORD IN HOLD LIST

                          18     13  0012    90 	BEQL	20$			; BR IF NONE

            57            5A     C0  0014    91 	ADDL	R10,R7			; FIND REAL ADDRESS OF JOB

                                 D0  0017    92 	MOVL	SJH$L_NEXTJOB(R7),-	; CLOSE UP THE LIST OF HOLD LIST

         04 A8         08 A7         0018    93 		SMQ$L_HOLDLST(R8)	; ENTRIES FOR MERGE FROM QUEUE

                                     001C    94 	SYM_QUECHANGE			; FLAG CHANGE IN THE QUEUE

            56            5A     C3  001F    95 	SUBL3	R10,R6,R0		; FIND INDEX TO THIS QUEUE

                          50         0022       

         06 A7            50     B0  0023    96 	MOVW	R0,SJH$W_QINDEX(R7)	; SET NEW QUEUE INDEX

                          FFD6'  30  0027    97 	BSBW	SYM$JOBINSQUE		; INSERT THIS JOB IN THE QUEUE

                          E2     11  002A    98 	BRB	10$			; CONTINUE TILL HOLD LIST IS EMPTY

                     0000'CF     DF  002C    99 20$:	PUSHAL	W^SYM$FINDQUEJOB	; SET ADDRESS FOR FIRST CO-ROUTINE CALL

            57            56     D0  0030   100 30$:	MOVL	R6,R7			; SAVE ADDRESS OF QUEUE TO MERGE TO

            56            58     D0  0033   101 	MOVL	R8,R6			; SET ADDRESS OF QUEUE TO REMOVE FROM

                          50     D4  0036   102 40$:	CLRL	R0			; INHIBIT DEQUEUING OF JOBS

                          9E     16  0038   103 	JSB	@(SP)+			; GET NEXT JOB FROM THE LIST

            16            50     E9  003A   104 	BLBC	R0,80$			; BR IF THERE ARE NO MORE

            57            5A     C3  003D   105 	SUBL3	R10,R7,R1		; FIND OFFSET TO QUEUE HEADER

                          51         0040       

         06 A2            51     B0  0041   106 	MOVW	R1,SJH$W_QINDEX(R2)	; SET INDEX OF QUEUE TO JOB IS GOING TO

                          54     D5  0045   107 	TSTL	R4			; CHECK IF THIS JOB WAS IN A PRINT QUEUE

                          ED     15  0047   108 	BLEQ	40$			; BR IF NOT IN PRINT QUEUE

                          9E     16  0049   109 	JSB	@(SP)+			; RETURN AND REQUEST REMOVAL OF JOB

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

V01             MERGE QUEUE CONTENTS                                                                                             (2)



            57            52     D0  004B   110 	MOVL	R2,R7			; SET JOB ADDRESS IN STANDARD REGISTER

                          FFAF'  30  004E   111 	BSBW	SYM$JOBINSQUE		; QUEUE THE JOB TO THE NEW DEVICE

                                     0051   112 					; NOTE:R6 IS SET TO ADDRESS OF QUEUE

                                     0051   113 					; HEADER INTO WHICH THE JOB WAS MERGED.

                          DD     11  0051   114 	BRB	30$			; REQUEST SEARCH FOR NEXT

                                     0053   115 80$:	SETSTAT	NORMAL			; SET GOOD FINAL STATUS

                                 04  0056   116 90$:	RET				; BACK TO TOP LEVEL

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

V01             REDIRECT QUEUE CONTENTS                                                                                          (3)



                                     0057   118 	.SBTTL	REDIRECT QUEUE CONTENTS

                                     0057   119 ;++

                                     0057   120 ; FUNCTIONAL DESCRIPTION:

                                     0057   121 ;

                                     0057   122 ;	THIS ROUTINE IS CALLED TO HAVE THE CONTENTS OF A QUEUE

                                     0057   123 ;	REDIRECTED TO ANOTHER QUEUE FOR PROCESSING.

                                     0057   124 ;

                                     0057   125 ; CALLING SEQUENCE:

                                     0057   126 ;

                                     0057   127 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     0057   128 ;

                                     0057   129 ; INPUT PARAMETERS:

                                     0057   130 ;

                                     0057   131 ;	R5 POINTS AT THE NAME OF THE QUEUE TO REDIRECT TO

                                     0057   132 ;	R6 CONTAINS THE ADDRESS OF THE QUEUE TO BE REDIRECTED.

                                     0057   133 ;

                                     0057   134 ;	IF THE TARGET QUEUE NAME IS NULL, THIS IS A REDIRECT OF

                                     0057   135 ;	A QUEUE BACK TO ITSELF.

                                     0057   136 ;

                                     0057   137 ; IMPLICIT INPUTS:

                                     0057   138 ;

                                     0057   139 ;	R9 HAS THE ADDRESS OF THE SYMBIONT MANAGER RECORD

                                     0057   140 ;	R10 HAS THE BASE ADDRESS OF THE QUEUE FILE

                                     0057   141 ;	R11 HAS THE ADDRESS OF THE JOB CONTROLLER DATA BLOCK

                                     0057   142 ;

                                     0057   143 ; OUTPUT PARAMETERS:

                                     0057   144 ;

                                     0057   145 ;	THE REDIRECTION IS EFFECTED IF THE OPERATION IS PROPERLY REQUESTED.

                                     0057   146 ;--

                                     0057   147 	PURE_SECTION

                                     0057   148  

                                     0057   149 SYM$REDIRECT::				; REDIRECT A QUEUE

         08 A6            01     E0  0057   150 	BBS	#SMQ$V_DETJOB,SMQ$B_FLAGS(R6),50$ ; BR IF BATCH QUEUE-CAN'T DO!

                          30         005B       

                          65     95  005C   151 	TSTB	(R5)			; IS SECOND NAME NULL?

                          24     13  005E   152 	BEQL	20$			; BR IF YES-GO UNDO A REDIRECT

         0A A6            04     E0  0060   153 	BBS	#SMQ$V_REDIRECT,SMQ$B_CHAR(R6),50$ ; ONE LEVEL OF REDIRECTION

                          27         0064       

            58            56     D0  0065   154 	MOVL	R6,R8			; SAVE ADDRESS OF TARGET QUEUE

                          FF95'  30  0068   155 	BSBW	SYM$FINDQUEUE		; LOCATE THE OTHER QUEUE

            1D            50     E9  006B   156 	BLBC	R0,40$			; BR IF SEARCH FOR QUEUE FAILED

            58            56     D1  006E   157 	CMPL	R6,R8			; TRYING TO REDIRECT QUEUE TO ITSELF?

                          19     13  0071   158 	BEQL	50$			; BR IF YES-THAT IS NOT ALLOWED

         08 A6            01     E0  0073   159 	BBS	#SMQ$V_DETJOB,SMQ$B_FLAGS(R6),50$ ; BR IF BATCH QUEUE-CAN'T DO!

                          14         0077       

                          16     10  0078   160 	BSBB	60$			; CHECK THAT QUEUE IS STOPPED

            58            5A     C3  007A   161 	SUBL3	R10,R8,SMQ$L_ASNSCT(R6) ; SET INDEX TO ACTUAL QUEUE TO USE

                       0C A6         007D       

                                     007F   162 	SETBIT	SMQ$V_REDIRECT,SMQ$B_CHAR(R6) ; MARK QUEUE REDIRECTED

                                 04  0083   163 	RET				;

                                     0084   164 ;

                                     0084   165 ; SECOND QUEUE NAME IS NULL - UNDO REDIRECT

                                     0084   166 ;

                          0A     10  0084   167 20$:	BSBB	60$			; VERIFY QUEUE IS STOPPED

         0A A6            04     E5  0086   168 	BBCC	#SMQ$V_REDIRECT,SMQ$B_CHAR(R6),50$ ; BR IF NOT REDIRECTED

                          01         008A       

                                 04  008B   169 40$:	RET				;

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

V01             REDIRECT QUEUE CONTENTS                                                                                          (3)



                                     008C   170  

                                     008C   171 50$:	SETSTAT	SMINVOPR		; SET STATUS INVALID OPERATION

                                 04  008F   172 	RET				;

                                     0090   173 ;

                                     0090   174 ; LOCAL SUBROUTINE TO VERIFY THAT THE TARGET QUEUE IS STOPPED

                                     0090   175 ;

                                     0090   176  

                          66     D5  0090   177 60$:	TSTL	SMQ$L_CURRENT(R6)	; JOB RUNNING?

                          06     12  0092   178 	BNEQ	70$			; BR IF JOB IS PRINTING

         08 A6            03     E1  0094   179 	BBC	#SMQ$V_STOPPED,SMQ$B_FLAGS(R6),70$ ; QUEUE STOPPED EXPLICITLY

                          01         0098       

                                 05  0099   180 	RSB				;

                                     009A   181 70$:	SETSTAT	QUENOSTOP		; ASSUME QUEUE IS NOT STOPPED

                                 04  009D   182 	RET				;

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

V01             JUSTIFY PRINT FORMS                                                                                              (4)



                                     009E   184 	.SBTTL	JUSTIFY PRINT FORMS

                                     009E   185 ;++

                                     009E   186 ; FUNCTIONAL DESCRIPTION:

                                     009E   187 ;

                                     009E   188 ;	THIS ROUTINE OUTPUTS AN ADVANCE TO TOP-OF-FORM

                                     009E   189 ;	REQUEST FOR THE DEVICE ASSOCIATED WITH THE SPECIFIED

                                     009E   190 ;	QUEUE.  THIS IS ITENDED TO PERMIT FORMS ALIGNMENT.

                                     009E   191 ;

                                     009E   192 ; CALLING SEQUENCE:

                                     009E   193 ;

                                     009E   194 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     009E   195 ;

                                     009E   196 ; INPUT PARAMETERS:

                                     009E   197 ;

                                     009E   198 ;	R6 CONTAINS THE ADDRESS OF THE QUEUE HEADER FOR DEVICE FOR

                                     009E   199 ;	   WHICH TOP-OF-FORM SHOULD BE REQUESTED.

                                     009E   200 ;

                                     009E   201 ; OUTPUT PARAMETERS:	NONE

                                     009E   202 ;

                                     009E   203 ; COMPLETION CODES:

                                     009E   204 ;

                                     009E   205 ;	R0 IS RETURN WITH THE FINAL STATUS OF THE REQUEST.

                                     009E   206 ;

                                     009E   207 ; SIDE EFFECTS:		NONE

                                     009E   208 ;--

                                     009E   209  

                                     009E   210 SYM$JUSTIFY::				; JUSTIFY THE FORMS

                                 04  009E   211 	RET				; NOP FOR NOW

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

V01             STOP PRINTING OF DEVICE                                                                                          (5)



                                     009F   213 	.SBTTL	STOP PRINTING OF DEVICE

                                     009F   214 ;++

                                     009F   215 ; FUNCTIONAL DESCRIPTION:

                                     009F   216 ;

                                     009F   217 ;	THIS ROUTINE IS ENTERED WHEN A REQUEST HAS BEEN MADE TO STOP

                                     009F   218 ;	PRINTING ON A DEVICE.  THE QUEUE IS MARKED STOPPED AND ANY

                                     009F   219 ;	FILES QUEUED TO THAT SPECIFIC DEVICE ARE INSERTED IN THE

                                     009F   220 ;	DEVICE HOLD QUEUE.

                                     009F   221 ;

                                     009F   222 ; CALLING SEQUENCE:

                                     009F   223 ;

                                     009F   224 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     009F   225 ;

                                     009F   226 ; INPUT PARAMETERS:

                                     009F   227 ;

                                     009F   228 ;	R6 CONTAINS THE ADDRESS OF THE PROPER DEVICE QUEUE

                                     009F   229 ;	R9 HAS ADDRESS OF SYMBIONT MANAGER MESSAGE

                                     009F   230 ;

                                     009F   231 ; IMPLICIT INPUTS:

                                     009F   232 ;

                                     009F   233 ;	R10 HAS ADDRESS OF THE QUEUE FILE

                                     009F   234 ;

                                     009F   235 ; OUTPUT PARAMETERS:

                                     009F   236 ;

                                     009F   237 ;	IF THE QUEUE EXISTS IT IS STOPPED

                                     009F   238 ;

                                     009F   239 ; COMPLETION CODES:

                                     009F   240 ;

                                     009F   241 ;	R0 IS RETURN WITH THE FINAL STATUS OF THE REQUEST.

                                     009F   242 ;

                                     009F   243 ; SIDE EFFECTS:		NONE

                                     009F   244 ;--

                                     009F   245 

                                     009F   246 SYM$STOP::

                                 E2  009F   247 	BBSS	#SMQ$V_STOPPED,-	; DON'T STOP WHATS STOPPED

         08 A6            03         00A0   248 		SMQ$B_FLAGS(R6),40$	;

                          2E         00A3       

                     0000'CF     9F  00A4   249 	PUSHAB	W^SYM$FINDACTJOB	; INITIALIZE COROUTINE ADRESSS

                          9E     16  00A8   250 10$:	JSB	@(SP)+			; COROUTINE LINKAGE TO SEARCH QUEUE

            0E            50     E9  00AA   251 	BLBC	R0,30$			; BR IF NO MORE FOUND

                          9E     16  00AD   252 	JSB	@(SP)+			; ASK TO REMOVE THIS JOB

                                 D0  00AF   253 	MOVL	SMQ$L_HOLDLST(R6),-	; COPY PREVIOUS FIRST FILE IN HOLD LIST

         08 A2         04 A6         00B0   254 		SJH$L_NEXTJOB(R2)	; AS NEXT JOB AFTER ONE JUST DEQUEUED

            52            5A     C3  00B4   255 	SUBL3	R10,R2,SMQ$L_HOLDLST(R6) ; SET THIS FILE AS FIRST IN HOLD LIST

                       04 A6         00B7       

                          ED     11  00B9   256 	BRB	10$			; SEE IF GOT ONE

                                 93  00BB   257 30$:	BITB	#<SMQ$M_DETJOB!SMQ$M_GENDEV>,- ; CK IF QUEUE IS JOB OR GENERIC

         08 A6            12         00BC   258 		SMQ$B_FLAGS(R6)		; DEVICE QUEUE.

                          11     12  00BF   259 	BNEQ	40$			; BR IF EITHER-NO SYMBIONT INVOLVED

         0A A6            04     E0  00C1   260 	BBS	#SMQ$V_REDIRECT,SMQ$B_CHAR(R6),40$ ; LIKEWISE IF REDIRECTED

                          0C         00C5       

                          50     D4  00C6   261 	CLRL	R0			; SET REQUEST TO DEALLOCATE

                          0C     10  00C8   262 	BSBB	SYM$ALLODEAL		; ALLOCATE/DEALLOCATE DEVICE

                                     00CA   263 	SETBIT	#JBC_V_SYMINIREQ,-	; SET FLAG TO INITIATE A SYMBIONT, THAT

                                     00CA   264 		JCD_W_FLAGS(R11)	; CAUSE A DELETE IF A SYMBIONT IS IDLE

                       1D AB     97  00CF   265 	DECB	JCD_B_CURPDEV(R11)	; COUNT DOWN NUMBER OF ACTIVE DEVICES

                                     00D2   266 40$:	SETSTAT	NORMAL			; SET SUCESSFUL STATUS

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

V01             STOP PRINTING OF DEVICE                                                                                          (5)



                                 04  00D5   267 	RET

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

V01             ALLOCATE/DEALOCATE A DEVICE                                                                                      (6)



                                     00D6   269 	.SBTTL	ALLOCATE/DEALOCATE A DEVICE

                                     00D6   270 ;++

                                     00D6   271 ; FUNCTIONAL DESCRIPTION:

                                     00D6   272 ;

                                     00D6   273 ;	THIS ROUTINE IS CALLED TO ALLOCATE OR DEALLOCATE A DEVICE

                                     00D6   274 ;	FOR WHICH A QUEUE HAS BEEN STARTED OR STOPPED.

                                     00D6   275 ;

                                     00D6   276 ; CALLING SEQUENCE:

                                     00D6   277 ;

                                     00D6   278 ;	BSB/JSB	SYM$ALLODEAL			;

                                     00D6   279 ;

                                     00D6   280 ; INPUT PARAMETERS:

                                     00D6   281 ;

                                     00D6   282 ;	R6 CONTAINS THE ADDRESS OF THE PROPER DEVICE QUEUE

                                     00D6   283 ;	R0 IS ALLOCATE/DEALLOCATE FLAG WHERE TRUE=ALLOCATE

                                     00D6   284 ;

                                     00D6   285 ; IMPLICIT INPUTS:

                                     00D6   286 ;

                                     00D6   287 ;	R10 HAS ADDRESS OF THE QUEUE FILE

                                     00D6   288 ;

                                     00D6   289 ; OUTPUT PARAMETERS:		NONE

                                     00D6   290 ;

                                     00D6   291 ; COMPLETION CODES:

                                     00D6   292 ;

                                     00D6   293 ;	R0 CONTAINS THE FINAL STATUS OF THE SYSTEM SERVICE

                                     00D6   294 ;

                                     00D6   295 ; SIDE EFFECTS:

                                     00D6   296 ;

                                     00D6   297 ;	R2,R3 ARE USED BY THIS ROUTINE

                                     00D6   298 ;

                                     00D6   299 ;--

                                     00D6   300 

                                     00D6   301 SYM$ALLODEAL::					;

            53         10 A6     9E  00D6   302 	MOVAB	SMQ$T_NAME(R6),R3	; ADDRESS OF THE DEVICE NAME

            52            63     9A  00DA   303 	MOVZBL	(R3),R2			; GET LENGTH OF DEVICE NAME

            63         5F 8F     90  00DD   304 	MOVB	#^A/_/,(R3)		; DISABLE LOGICAL NAME SUBSTITUTION

                          0C     BB  00E1   305 	PUSHR	#^M<R2,R3>		; FORM DESCRIPTOR FOR DEVICE NAME

                          6E     D6  00E3   306 	INCL	(SP)			; ADJUST LENGTH FOR THE UNDER SCORE

            51            5E     D0  00E5   307 	MOVL	SP,R1			; ADDRESS OF NAME DESCRIPTOR

            11            50     E9  00E8   308 	BLBC	R0,10$			; BR IF REQUEST IS DEALLOCATE

                                     00EB   309 	$ALLOC_S  DEVNAM=(R1)		; ALLOCATE THE DEVICE

                          0B     11  00FA   310 	BRB	20$			;

                                     00FC   311 10$:	$DALLOC_S DEVNAM=(R1)		; DEALLOCATE THE DEVICE

                          8E     7C  0107   312 20$:	CLRQ	(SP)+			; REMOVE DEVICE NAME DESCRIPTOR

            63            52     90  0109   313 	MOVB	R2,(R3)			; RESET DEVICE NAME STRING LENGTH

                                 05  010C   314 	RSB

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

V01             ALTER JOB CHARACTERISTICS                                                                                        (7)



                                     010D   316 	.SBTTL	ALTER JOB CHARACTERISTICS

                                     010D   317 ;++

                                     010D   318 ; FUNCTIONAL DESCRIPTION:

                                     010D   319 ;

                                     010D   320 ;	THIS ROUTINE IS ENTERED WHEN A REQUEST HAS BEEN MADE TO

                                     010D   321 ;	CHANGE SOME OF THE CHARACTERISTICS FOR A CURRENTLY QUEUED

                                     010D   322 ;	JOB.  THE JOB IS DEQUEUED,AND THEN OPTIONS ARE PROCESSED

                                     010D   323 ;	AS THOUGH THE JOB WAS JUST QUEUED, THEN THE JOB IS RE-

                                     010D   324 ;	QUEUED BASED ON ITS NEW CHARACTERISTICS.

                                     010D   325 ;

                                     010D   326 ; CALLING SEQUENCE:

                                     010D   327 ;

                                     010D   328 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     010D   329 ;

                                     010D   330 ; INPUT PARAMETERS:

                                     010D   331 ;

                                     010D   332 ;	R5 POINTS AT THE RECORD NUMBER FOR THE JOB HEADER TO RELEASE

                                     010D   333 ;	R6 CONTAINS THE ADDRESS OF THE ASSOCIATED DEVICE QUEUE HEADER

                                     010D   334 ;

                                     010D   335 ; IMPLICIT INPUTS:

                                     010D   336 ;

                                     010D   337 ;	R9 HAS THE ADDRESS OF THE SYMBIONT MANAGER RECORD

                                     010D   338 ;	R10 HAS THE BASE ADDRESS OF THE QUEUE FILE

                                     010D   339 ;	R11 HAS THE ADDRESS OF THE JOB CONTROLLER DATA BLOCK

                                     010D   340 ;

                                     010D   341 ; OUTPUT PARAMETERS:

                                     010D   342 ;

                                     010D   343 ;	THE JOB CHARATERISTICS ARE CHANGED AND THE JOB IS REQUEUED

                                     010D   344 ;

                                     010D   345 ; COMPLETION CODES:

                                     010D   346 ;

                                     010D   347 ;	R0 = NORMAL IF JOB IS FOUND AND ALTERED CORRECTLY

                                     010D   348 ;	   = NOPRIV IF REQUESTOR CANT DO WHAT HE WANTS

                                     010D   349 ;	   = NOSUCHJOB IF JOB NOT FOUND

                                     010D   350 ;	   = SMINVOPT IF OPTION SPECIFIED THAT IS INCORRECT

                                     010D   351 ;

                                     010D   352 ; SIDE EFFECTS:

                                     010D   353 ;

                                     010D   354 ;	IF AN INVALID OPTION IS DETECTED, THE PROCESSING OF THE REQUEST

                                     010D   355 ;	STOPS AT THAT POINT, ANS JOB IS RE-QUEUED IN ITS STATE AT THE 

                                     010D   356 ;	TIME THE ERROR WAS DETECTED.

                                     010D   357 ;

                                     010D   358 ;--

                                     010D   359  

                                     010D   360 SYM$ALTER::				; ALTER JOB CHARACTERISTICS

                          FEF0'  30  010D   361 	BSBW	SYM$GETCLSJOB		; TRY TO FIND THE JOB-NO RETURN ON ERROR

            67            5A     C1  0110   362 	ADDL3	R10,SJH$L_RECLINK(R7),R8 ; SET ADDRESS OF FIRST RECORD IN JOB

                          58         0113       

                          FEE9'  30  0114   363 	BSBW	SYM$CNVOPTENT		; PROCESS OPTIONS AS THOUGH IT WAS ENTER

                          50     DD  0117   364 	PUSHL	R0			; SAVE STATUS OF OPTION PROCESSING

                          FEE4'  30  0119   365 	BSBW	SYM$JOBINSQUE		; RE-QUEUEU THE JOB

                          01     BA  011C   366 	POPR	#^M<R0>			; RESTORE STATUS

                                 04  011E   367 	RET				; RETURN WITH THE STATUS

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

V01             REMOVE JOB FORM QUEUE                                                                                            (8)



                                     011F   369 	.SBTTL	REMOVE JOB FORM QUEUE

                                     011F   370 ;++

                                     011F   371 ; FUNCTIONAL DESCRIPTION:

                                     011F   372 ;

                                     011F   373 ;	THIS ROUTINE IS CALLED TO REMOVE A JOB FROM THE QUEUE

                                     011F   374 ;	AND RELEASE THE QUEUE SPACE TO THE FREE LIST

                                     011F   375 ;

                                     011F   376 ; CALLING SEQUENCE:

                                     011F   377 ;

                                     011F   378 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     011F   379 ;

                                     011F   380 ; INPUT PARAMETERS:

                                     011F   381 ;

                                     011F   382 ;	R5 POINTS AT THE RECORD NUMBER FOR THE JOB HEADER TO RELEASE

                                     011F   383 ;	R6 CONTAINS THE ADDRESS OF THE ASSOCIATED DEVICE QUEUE HEADER

                                     011F   384 ;

                                     011F   385 ; IMPLICIT INPUTS:

                                     011F   386 ;

                                     011F   387 ;	R9 HAS THE ADDRESS OF THE SYMBIONT MANAGER RECORD

                                     011F   388 ;	R10 HAS THE BASE ADDRESS OF THE QUEUE FILE

                                     011F   389 ;	R11 HAS THE ADDRESS OF THE JOB CONTROLLER DATA BLOCK

                                     011F   390 ;

                                     011F   391 ; OUTPUT PARAMETERS:

                                     011F   392 ;

                                     011F   393 ;	THE JOB IS REMOVED FROM THE QUEUE AND THE RECORDS ARE FREED.

                                     011F   394 ;

                                     011F   395 ;

                                     011F   396 ; COMPLETION CODES:

                                     011F   397 ;

                                     011F   398 ;	R0 = NORMAL IF JOB IS SUCESSFULLY DEQUEUED AND RELEASED

                                     011F   399 ;

                                     011F   400 ; SIDE EFFECTS:		NONE

                                     011F   401 ;--

                                     011F   402  

                                     011F   403 SYM$RMVJOB::				; REMOVE JOB FROM QUEUE

            57            66     D0  011F   404 	MOVL	SMQ$L_CURRENT(R6),R7	; GET THE INDEX TO CURRENT JOB

                          0F     13  0122   405 10$:	BEQL	30$			; BR IF NOT A CURRENT JOB

            57            5A     C0  0124   406 	ADDL	R10,R7			; FIND ADDRESS OF JOB

         04 A7            65     B1  0127   407 	CMPW	(R5),SJH$W_JOBSEQ(R7)	; IS THIS THE JOB TO REMOVE?

                          52     13  012B   408 	BEQL	90$			; BR IF YES-GET RID OF IT

            57         08 A7     D0  012D   409 	MOVL	SJH$L_NEXTJOB(R7),R7	; FOLLOW THE LINK TO NEXT JOB

                          EF     11  0131   410 	BRB	10$			; AND CHECK IF THAT IS THE ONE

                          56     DD  0133   411 30$:	PUSHL	R6			; SAVE ADDRESS OF QUEUE HEADER

            56       0120 CA     DE  0135   412 	MOVAL	SQH$K_SIZE(R10),R6	; POINT AT FIRST QUEUE

            54         06 AA     9A  013A   413 	MOVZBL	SQH$B_MAXQUE(R10),R4	; SET COUNT OF QUEUES TO SEARCH

         08 A6            00     E1  013E   414 40$:	BBC	#SMQ$V_INUSE,SMQ$B_FLAGS(R6),50$ ; BR IF QUEUE NOT IN USE

                          13         0142       

         08 A6            01     E0  0143   415 	BBS	#SMQ$V_DETJOB,SMQ$B_FLAGS(R6),50$ ; DO NOT CHECK BATCH QUEUES

                          0E         0147       

            57            66     D0  0148   416 	MOVL	SMQ$L_CURRENT(R6),R7	; GET ADDRESS OF CURRENT JOB

                          09     13  014B   417 	BEQL	50$			; BR IF NO SUCH JOB

            57            5A     C0  014D   418 	ADDL	R10,R7			; FIND REAL ADDRESS OF JOB HEADER

         04 A7            65     B1  0150   419 	CMPW	(R5),SJH$W_JOBSEQ(R7)	; IS THIS THE JOB WERE LOOKING FOR

                          29     13  0154   420 	BEQL	90$			; BR IF YES

            56            20     C0  0156   421 50$:	ADDL	#SMQ$K_SIZE,R6		; POINT AT NEXT QUEUE

            E2            54     F5  0159   422 	SOBGTR	R4,40$			; CHECK NEXT IF THERE IS MORE

                          56   8ED0  015C   423 	POPL	R6			; GET ORIGINAL QUEUE BACK

JBCSYMAN2       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:07   VAX-11 MACRO X0.3-11               Page  12

V01             REMOVE JOB FORM QUEUE                                                                                            (8)



                          FE9E'  30  015F   424 60$:	BSBW	SYM$FINDOPENJOB		; LOOK FOR AN OPEN JOB

            09            50     E9  0162   425 	BLBC	R0,70$			; BR IF NOT OPEN

            62         08 A7     D0  0165   426 	MOVL	SJH$L_NEXTJOB(R7),(R2)	; CLOSE THE LIST

                                     0169   427 	SYM_QUECHANGE			; TELL THAT THE QUEUE CHANGED

                          03     11  016C   428 	BRB	80$			; EXIT

                          FE8F'  30  016E   429 70$:	BSBW	SYM$GETCLSJOB		; REMOVE THE JOB FROM THE QUEUE

            50   00048080 8F     D0  0171   430 80$:	MOVL	#JBC$_JOBABORT,R0	; SET STATUS FOR BATCH SYNC

                          FE85'  30  0178   431 	BSBW	SYM$FREEJOB		; RELEASE THE RECORDS

                                     017B   432 	SETSTAT	NORMAL			; SET GOOD STATUS

                                 04  017E   433 	RET				; BACK TO THE TOP

         08 A6            01     E0  017F   434 90$:	BBS	#SMQ$V_DETJOB,SMQ$B_FLAGS(R6),95$ ; DO NOT ADVANCE BATCH QUEUES

                          02         0183       

                          85     B5  0184   435 	TSTW	(R5)+			; ADVANCE POINTER PAST ENTRY NUMBER

                          FE77'  31  0186   436 95$:	BRW	SYM$ABORT		; PROCESS ABORT

JBCSYMAN2       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:07   VAX-11 MACRO X0.3-11               Page  13

V01             RELEASE HELD JOB                                                                                                 (9)



                                     0189   438 	.SBTTL	RELEASE HELD JOB

                                     0189   439 ;++

                                     0189   440 ; FUNCTIONAL DESCRIPTION:

                                     0189   441 ;

                                     0189   442 ;	THIS ROUTINE IS ENTERED WHEN A REQUEST IS RECIEVED TO

                                     0189   443 ;	RELEASE A JOB THAT WAS PREVIOUSLY PUT ON INDEFINITE

                                     0189   444 ;	HOLD. THE HOLD LIST FOR THE SPECIFIED QUEUE IS SEARCHED

                                     0189   445 ;	FOR THE SPECIFIED JOB, AND IF NOT FOUND, RETURNS ERROR.

                                     0189   446 ;	IF FOUND, AND THE USER HAS PROPER PRIVILEGE TO RELEASE 

                                     0189   447 ;	THE JOB, THE HOLD BIT IS SET, AND THE JOB IS RE-QUEUED.

                                     0189   448 ;	NOTE THAT IF THE JOB HAD ALSO BEEN GIVEN A HOLD TIME

                                     0189   449 ;	WHEN IT WAS ORIGINALLY QUEUED, THIS REQUEST WILL FAIL,

                                     0189   450 ; 	SINCE THAT JOB WILL BE IN THE CLOCK QUEUE AND WILL NOT

                                     0189   451 ;	BE FOUND WHEN THE HOLD QUEUE IS SEARCHED.

                                     0189   452 ;

                                     0189   453 ; CALLING SEQUENCE:

                                     0189   454 ;

                                     0189   455 ;	ENTERED FROM SYMBIONT MANAGER DISPATCHER VIA CASE FOLLOWING A CALL

                                     0189   456 ;

                                     0189   457 ; INPUT PARAMETERS:

                                     0189   458 ;

                                     0189   459 ;	R5 POINTS AT THE RECORD NUMBER FOR THE JOB HEADER TO RELEASE

                                     0189   460 ;	R6 CONTAINS THE ADDRESS OF THE ASSOCIATED DEVICE QUEUE HEADER

                                     0189   461 ;

                                     0189   462 ; IMPLICIT INPUTS:

                                     0189   463 ;

                                     0189   464 ;	R9 HAS THE ADDRESS OF THE SYMBIONT MANAGER RECORD

                                     0189   465 ;	R10 HAS THE BASE ADDRESS OF THE QUEUE FILE

                                     0189   466 ;	R11 HAS THE ADDRESS OF THE JOB CONTROLLER DATA BLOCK

                                     0189   467 ;

                                     0189   468 ; OUTPUT PARAMETERS:

                                     0189   469 ;

                                     0189   470 ;	IF JOB IS FOUND AND NO PRIVILEGES CHECK FAILS, THE JOB IS

                                     0189   471 ;	REMOVED FROM THE HOLD STATE AND RE-QUEUED.

                                     0189   472 ;

                                     0189   473 ; COMPLETION CODES:

                                     0189   474 ;

                                     0189   475 ;	R0 = NORMAL IF JOB RELEASED FROM HOLD OK

                                     0189   476 ;	   = NOSUCHJOB IF JOB INDICATED NOT ON HOLD

                                     0189   477 ;	   = NOPRIV IF PRIVILEGE VIOLATION OCCURS

                                     0189   478 ;

                                     0189   479 ; SIDE EFFECTS:		NONE

                                     0189   480 ;--

                                     0189   481  

                                     0189   482 SYM$RELEASE::				; RELEASE THE JOB

                          FE74'  30  0189   483 	BSBW	SYM$GETHLDJOB		; GET THE JOB FORM THE HOLD QUEUE

            0A            50     E9  018C   484 	BLBC	R0,50$			; BR IF NO JOB FOUND

                                 8A  018F   485 	BICB	#<1@SJH$V_HOLD>,-	; CLEAR HOLD THIS JOB FLAG

         0C A7            01         0190   486 		SJH$B_FLAGS(R7)		; IN JOB HEADER RECORD

                          FE6A'  30  0193   487 	BSBW	SYM$JOBINSQUE		; INSERT THE JOB IN THE QUEUE

                                     0196   488 	SETSTAT	NORMAL			; SET SUCESSFUL STATUS

                                 04  0199   489 50$:	RET				; RETURN WITH STATUS

                                     019A   490 	.END				;

JBCSYMAN2       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:07   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (9)



ACM$B_PROCPRI    00000024            JBC$_SYMDEL    = 00048470            SJH$L_RECLINK    00000000            

ACM$L_PROCID     FFFFFFFC            JBC$_UAFOPN    = 000484A0            SJH$L_UIC        00000014            

ACM$L_UIC        0000000C            JBC$_UNESYMMSG = 000484C0            SJH$M_HOLD     = 00000001            

ACM$Q_ACNTNAM    0000001C            JBC$_USERVAL   = 00048498            SJH$M_JOBABORT = 00000004            

ACM$Q_PRVMSK     00000004            JBC_K_MAXBUFR  = 00000004            SJH$M_LOWER    = 00000002            

ACM$T_DATA       00000028            JBC_K_PRTIMFLAG= 00000002            SJH$Q_ACNTNAM    00000024            

ACM$T_USERNAM    00000010            JBC_K_SYNCFLAG = 00000001            SJH$Q_JOBNAME    00000034            

ACM$W_MAILBOX    00000002            JBC_K_UPDFLG   = 00000008            SJH$Q_TIME       0000002C            

ACM$W_TYPE       00000000            JBC_M_CREJOBREQ= 00000008            SJH$T_USERNAM    00000018            

ACM$W_USERREQ    00000026            JBC_M_MBREADREQ= 00000001            SJH$V_HOLD     = 00000000            

BIT...         = 00000005            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            

JBC$_SYMBWRT   = 00048448            SJH$L_PROCID     00000010            SMR$L_PROCID     FFFFFFFC            

JBCSYMAN2       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:07   VAX-11 MACRO X0.3-11               Page  15

SYMBOL TABLE                                                                                                                     (9)



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

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

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

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

SMR$T_USERNAM    00000010            SYM$JUSTIFY      0000009E RG    03   

SMR$W_MAILBOX    00000002            SYM$K_RECSIZE    00000040            

SMR$W_TYPE       00000000            SYM$MERGE        00000000 RG    03   

SMR$W_USERREQ    00000026            SYM$REDIRECT     00000057 RG    03   

SQH$B_FLAGS      00000004            SYM$RELEASE      00000189 RG    03   

SQH$B_MAXQUE     00000006            SYM$RMVJOB       0000011F RG    03   

SQH$B_NUMQUE     00000005            SYM$STOP         0000009F RG    03   

SQH$B_SPARE      00000007            SYM_K_MAXDEVNAM= 0000000F            

SQH$C_SIZE       00000120            SYM_K_MAXFILNAM= 00000013            

SQH$K_SIZE       00000120            SYM_K_MAXSYMB  = 00000010            

SQH$L_FIRSTREC   00000008            SYM_K_NUMQUEUE = 0000001F            

SQH$L_FREEREC    00000000            SYM_K_NUMRECORD= 00000400            

SQH$L_LASTREC    00000010            SYM_K_PRTPRI   = 00000020            

SQH$L_NEXTREC    0000000C            SYM_K_QUENAM   = 0000000F            

SQH$L_OPENJOB    00000014            SYS$ALLOC        ********   X   03   

SQH$L_TIMQUE     00000018            SYS$DALLOC       ********   X   03   

SQH$Q_QUEUE      00000020            _$$$_          = 00000014            

SQH$W_QUESEQ     0000001C            _$$_           = 00000000            

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$ABORT        ********   X   03   

SYM$ALLODEAL     000000D6 RG    03   

SYM$ALTER        0000010D RG    03   

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

SYM$C_RECSIZE    00000040            

SYM$FINDACTJOB   ********   X   03   

SYM$FINDOPENJOB  ********   X   03   

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

SYM$FINDQUEUE    ********   X   03   

JBCSYMAN2       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:50:07   VAX-11 MACRO X0.3-11               Page  16

PROGRAM SECTION SYNOPSIS                                                                                                         (9)







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





THERE WERE NO ERRORS OR WARNINGS.

17042. BYTES LEFT IN FREE MEMORY POOL.

24. BYTES OF RECLAIMED MEMORY.

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

38 MLB DIR RDS - 478 GETS TO DEFINE 25 MACROS. 28 INTER. FILE WRITES. 

