JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      38  DECLARATIONS

   (3)     100  SYMBIONT MANAGER MAIN DISPATCHER

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   1

V01                                                                                                                              (1)



                                     0000     1 	.TITLE	JBCSYMAN0 - SYMBIONT MANAGER MAIN ROUTINE

                                     0000     2 	.IDENT	/V01/

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

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

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

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

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

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

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

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

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

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

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

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

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

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ; FACILITY:	STARTLET JOB CONTROLLER

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:	SYMBIONT MANAGER MAIN ROUTINE

                                     0000    27 ;

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

                                     0000    29 ;

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

                                     0000    31 ;

                                     0000    32 ; MODIFIED BY:

                                     0000    33 ;

                                     0000    34 ;	, : VERSION

                                     0000    35 ; 01	-

                                     0000    36 ;--

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   2

V01             DECLARATIONS                                                                                                     (2)



                                     0000    38 	.SBTTL	DECLARATIONS

                                     0000    39 ;

                                     0000    40 ; INCLUDE FILES:

                                     0000    41 ;

                                     0000    42 ;	[235,10]JBCP.MAR

                                     0000    43 

                                     0000    44 ;

                                     0000    45 ; MACROS:

                                     0000    46 ;

                                     0000    47 

                                     0000    48 ;

                                     0000    49 ; EQUATED SYMBOLS:

                                     0000    50 ;

                                     0000    51 	$PRVDEF				; DEFINE PRIVILEGE BITS

                                     0000    52 	$IODEF				; IO DEFINITIONS

                                     0000    53 	$SMRDEF				; SYMBIONT MANAGER REQUEST CODES

                                     0000    54 	$MSGDEF				; MESSAGE DEFINITIONS

                                     0000    55 	JBCPARDEF			; DEFINE JOB CONTROLLER PARAMETERS

                                     0000    56 	JBCQUEDEF			; DEFINE QUEUE OFFSETS

                                     0000    57 	JBCSCTDEF			; SYMBIONT CONTROL TABLE DEFINITIONS

                                     0000    58 

                                     0000    59 ;

                                     0000    60 ; OWN STORAGE:

                                     0000    61 ;

                                     0000    62 

                                     0000    63 	PURE_SECTION

                                     0000    64 

                                     0000    65 ;

                                     0000    66 ; THE FOLLOWING BIT MASK IS USED TO DETERMIN WHICH REQUESTS

                                     0000    67 ; REQUIRE A SEARCH OF THE SYMBIONT MANAGER QUEUE. A BIT SET

                                     0000    68 ; INDICATES THAT A SEARCH IS REQUIRED

                                     0000    69 ;

                                     0000    70 QUESRCFLG:				; QUEUE SEARCH FLAG, REQUIRED FOR:

                           0002F3FF  0000    71 	.LONG	<1@SMR$K_INITIAL>!-	; INITIAL

                                     0004    72 		<1@SMR$K_DELETE>!-	; DELETE

                                     0004    73 		<1@SMR$K_START>!-	; START

                                     0004    74 		<1@SMR$K_PAUSE>!-	; PAUSE

                                     0004    75 		<1@SMR$K_MERGE>!-	; MERGE

                                     0004    76 		<1@SMR$K_REDIRECT>!-	; REDIRECT

                                     0004    77 		<1@SMR$K_JUSTIFY>!-	; JUSTIFY

                                     0004    78 		<1@SMR$K_STOP>!-	; STOP

                                     0004    79 		<1@SMR$K_ENTER>!-	; ENTER

                                     0004    80 		<1@SMR$K_CREJOB>!-	; CREATE JOB

                                     0004    81 		<1@SMR$K_RMVJOB>!-	; REMOVE JOB

                                     0004    82 		<1@SMR$K_ALTER>!-	; ALTER JOB CHARACTERISTICS

                                     0004    83 		<1@SMR$K_ABORT>!-	; ABORT

                                     0004    84 		<1@SMR$K_RELEASE>!-	; RELEASE JOB

                                     0004    85 		<1@SMR$K_SYNCJOB>	; SYNCRONIZE WITH BATCH JOB

                                     0004    86 

                                     0004    87 ;

                                     0004    88 ; OPERATOR REQUEST - THE FOLLOWING BIT MASK DEFINES THE REQUESTS THAT REQUIRE

                                     0004    89 ;	OPERATOR PRIVILEGE.

                                     0004    90 ;

                           000000FF  0004    91 OPRREQ:	.LONG	<1@SMR$K_INITIAL>!-	; INITIALIZE A QUEUE

                                     0008    92 		<1@SMR$K_DELETE>!-	; DELETE A QUEUE

                                     0008    93 		<1@SMR$K_START>!-	; START A QUEUE

                                     0008    94 		<1@SMR$K_PAUSE>!-	; PAUSE A QUEUE

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   3

V01             DECLARATIONS                                                                                                     (2)



                                     0008    95 		<1@SMR$K_MERGE>!-	; MERGE 2 QUEUES

                                     0008    96 		<1@SMR$K_REDIRECT>!-	; REDIRECT A QUEUE

                                     0008    97 		<1@SMR$K_JUSTIFY>!-	; JUSTIFY A QUEUE

                                     0008    98 		<1@SMR$K_STOP>		; STOP A QUEUE

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   4

V01             SYMBIONT MANAGER MAIN DISPATCHER                                                                                 (3)



                                     0008   100 	.SBTTL	SYMBIONT MANAGER MAIN DISPATCHER

                                     0008   101 ;++

                                     0008   102 ; FUNCTIONAL DESCRIPTION:

                                     0008   103 ;

                                     0008   104 ;	THIS ROUTINE IS ENTERED BY THE JOB CONTROLLER MAINLINE

                                     0008   105 ;	WHEN IT DETECTS A MESSAGE IN THE APPROPRIATE LIST.

                                     0008   106 ;	THIS ROUTINE IN TURN DISPATCHES TO ONE OF SEVERAL

                                     0008   107 ;	ROUTINES DEPENDING UPON THE MESSAGE TYPE CODE INCLUDED.

                                     0008   108 ;	THE DISPATCH IS DONE WITH A CASE INSTRUCTION BASED ON

                                     0008   109 ;	THE REQUEST CODE FOLLOWED BY A CALL.  THE CALL IS DONE

                                     0008   110 ;	TO GENERATE A CALL FRAME SO THAT IF A FATAL ERROR IS

                                     0008   111 ;	DETECTED, ALL THAT NEED BE DONE IS ISSUE A RET WITH

                                     0008   112 ;	THE FAILURE INDICATION IN R0. PRIOR TO CASING ON THE

                                     0008   113 ;	REQUEST TYPE, A SEARCH OF THE SYMBIONT MANAGER QUEUES

                                     0008   114 ;	IS DONE TO FIND THE QUEUE ASSOCIATED WITH THE REQUEST.

                                     0008   115 ;	THE LOCATION "QUESRCFLG" HAS A BIT SET CORRESPONDING

                                     0008   116 ;	TO THE FUNCTIONS WHICH REQUIRE A QUEUE SEARCH.

                                     0008   117 ;	THERE IS ONE SPECIAL CASE, THAT IS INITIALIZE A

                                     0008   118 ;	QUEUE MAY OR MAY NOT FAIL TO FIND THE QUEUE AND EITHER

                                     0008   119 ;	CASE IS VALID. IN OTHER CASES, FAILURE TO FIND THE

                                     0008   120 ;	QUEUE RESULTS IN TERMINATION OF THE REQUEST.

                                     0008   121 ;

                                     0008   122 ; CALLING SEQUENCE:

                                     0008   123 ;

                                     0008   124 ;	BSB/JSB	JBC$SYMBMAN

                                     0008   125 ;

                                     0008   126 ; INPUT PARAMETERS:

                                     0008   127 ;

                                     0008   128 ;	R2 HAS THE ADDRESS OF THE MESSAGE TO BE PROCESSED

                                     0008   129 ;	R10 HAS BASE ADDRESS OF THE SYSTEM QUEUE FILE

                                     0008   130 ;	R11 HAS ADDRESS OF THE JOB CONTROLLER DATA BLOCK

                                     0008   131 ;

                                     0008   132 ; OUTPUT PARAMETERS:

                                     0008   133 ;

                                     0008   134 ; COMPLETION CODES:

                                     0008   135 ;

                                     0008   136 ;	R0 CONTAINS THE FINAL STATUS OF THE REQUEST

                                     0008   137 ;	R2 CONTAINS THE MESSAGE CODE FOR RESPONCE

                                     0008   138 ;

                                     0008   139 ; SIDE EFFECTS:

                                     0008   140 ;

                                     0008   141 ;	THE QUEUE IS MODIFIED AS PER THE REQUEST.

                                     0008   142 ;--

                                     0008   143 

                                     0008   144 	PURE_SECTION

                                     0008   145 	.ENABL	LSB

                                     0008   146 

                                     0008   147 SYM$SYMBMAN::

                                     0008   148 	SETSTAT	SYMBDSAB		; SYMBIONT MANAGER DISABLED ERROR

                          5A     D5  000B   149 	TSTL	R10			; IS THERE A SYSTEM QUEUE SECTION?

                          04     13  000D   150 	BEQL	20$			; BR IF NO-RETURN ERROR

         17'AF            6C     FA  000F   151 	CALLG	(AP),B^100$		; CREATE A CALL FRAME

            52            20     3C  0013   152 20$:	MOVZWL	#MSG$_SMBRSP,R2		; SET MESSAGE TYPE

                                 05  0016   153 	RSB				; BACK TO JOB CONTROLLER

                                     0017   154 ;

                                     0017   155 ; DISPATCH TO THE APPROPRIATE ROUTINE.  IF QUEUE SEARCH WAS DONE

                                     0017   156 ; R5 POINTS AT NAME IF SEARCHED FAILED, R6 CONTAINS ADDRESS OF

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   5

V01             SYMBIONT MANAGER MAIN DISPATCHER                                                                                 (3)



                                     0017   157 ; DEVICE QUEUE IF FOUND.

                                     0017   158 ;

                               0000  0017   159 100$:	.WORD	0			 ; ENTRY MASK

            57         26 A9     3C  0019   160 	MOVZWL	SMR$W_USERREQ(R9),R7	; GET USER REQUEST CODE

         E3 AF            57     E1  001D   161 	BBC	R7,OPRREQ,105$		; BR IF OPERATOR PRIVILEGE NOT NEEDED

                          06         0021       

                          0072   30  0022   162 	BSBW	SYM$CKOPRPRV		; VERIFY PROCESS HAS THIS PRIVILEGE

            3E            50     E9  0025   163 	BLBC	R0,120$			; RETURN ERROR IF NO PRIVILEGE

            55         28 A9     DE  0028   164 105$:	MOVAL	SMR$T_DATA(R9),R5	; SET POINTER TO DATA PORTION OF MESSAGE

         D0 AF            57     E1  002C   165 	BBC	R7,QUESRCFLG,110$	; BR IF QUEUE SEARCH NO REQUIRED

                          0A         0030       

                          FFCC'  30  0031   166 	BSBW	SYM$FINDQUEUE		; LOCATE THE QUEUE

            04            50     E8  0034   167 	BLBS	R0,110$			; BR IF FOUND OK

                                     0037   168 	ASSUME	SMR$K_INITIAL EQ 0

                          57     D5  0037   169 	TSTL	R7			; WAS REQUEST INITIALIZE?

                          2B     12  0039   170 	BNEQ	120$			; BR IF NO- ITS AN ERROR

                                     003B   171 110$:	CASE	R7,<-			; DECODE REQUEST TYPE

                                     003B   172 		SYM$INITIALIZE,-	; INITIALIZE A QUEUE

                                     003B   173 		SYM$DELETEQUE,-		; REMOVE A QUEUE

                                     003B   174 		SYM$START,-		; BEGIN DEQUEUEING FROM QUEUE

                                     003B   175 		SYM$PAUSE,-		; SUSPEND THE PRINTING

                                     003B   176 		SYM$MERGE,-		; MERGE FILE INTO A SINGLE QUEUE

                                     003B   177 		SYM$REDIRECT,-		; REDIRECT A QUEUE TO ANOTHER

                                     003B   178 		SYM$JUSTIFY,-		; POSSITION TO TOP-OF-FORM

                                     003B   179 		SYM$STOP,-		; INHIBIT FURTHER DEQUEUEING

                                     003B   180 		SYM$ENTER,-		; ADD A RECORD TO A QUEUE

                                     003B   181 		SYM$CREJOB,-		; CREATE A JOB

                                     003B   182 		SYM$ADDFIL,-		; ADD A FILE TO PRINT JOB

                                     003B   183 		SYM$CLSJOB,-		; CLOSE OUT THE JOB

                                     003B   184 		SYM$RMVJOB,-		; REMOVE JOB FROM THE QUEUE

                                     003B   185 		SYM$ALTER,-		; CHANGE SOME VALUES ON A QUEUE RECORD

                                     003B   186 		SYM$ABORT,-		; ABORT PRINTING THE JOB

                                     003B   187 		SYM$RELEASE,-		; RELEASE A PRVIOUSLY HELD JOB

                                     003B   188 		SYM$NXTJOBSTEP,-	; NEXT JOB STEP FOR BATCH JOB

                                     003B   189 		SYM$SYNCJOB,-		; SYNCRONIZE WITH JOB

                                     003B   190 		>

                                     0063   191 	SETSTAT	SMINVREQ		; SET ERROR-INVALID REQUEST CODE

                                 04  0066   192 120$:	RET				; GO BACK TO DISPATCHER

                                     0067   193  

                                     0067   194 ;+

                                     0067   195 ; ROUTINE TO SERVICE THE TIME QUEUE.  ALL OVER DUE ENTRIES ARE

                                     0067   196 ; INSERTED IN THE ACTIVE PRINT QUEUE.

                                     0067   197 ;-

                                     0067   198  

                                     0067   199 SYM$SRVTIMER::				;

            57         18 AA     D0  0067   200 210$:	MOVL	SQH$L_TIMQUE(R10),R7	; GET INDEX TO NEXT JOB IN TIME QUEUE

                          29     13  006B   201 	BEQL	240$			; BR IF THERE ARE NO MORE

            57            5A     C0  006D   202 	ADDL	R10,R7			; FIND REAL ADDRESS

                                     0070   203 	CMPQUAD	SJH$Q_TIME(R7), -	; CHECK IF TIME HAS RUN OUT

                                     0070   204 		JCD_Q_TIME(R11)		; AGAINST CURRENT TIME

                          15     14  007C   205 	BGTR	230$			; IF NO TIME QUEUE IS SREVICED

         18 AA         08 A7     D0  007E   206 	MOVL	SJH$L_NEXTJOB(R7),SQH$L_TIMQUE(R10) ; CLOSE THE LIST

                       08 A7     D4  0083   207 	CLRL	SJH$L_NEXTJOB(R7)	; REMOVE NEXT FROM THIS JOB

                                     0086   208 	SYM_QUECHANGE			; TELL THE WORLD THE QUEUE CHANGED

         2C A7         C4 AB     7D  0089   209 	MOVQ	JCD_Q_TIME(R11),SJH$Q_TIME(R7)	; SET NEW TIME FOR THIS JOB

                          FF6F'  30  008E   210 	BSBW	SYM$INSACTQUE		; INSERT IN DEVICE QUEUE

                          D4     11  0091   211 	BRB	210$			;

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   6

V01             SYMBIONT MANAGER MAIN DISPATCHER                                                                                 (3)



                          FF6A'  30  0093   212 230$:	BSBW	SYM$SETIMER		; START THE CLOCK FOR THE NEXT REQUEST

                                 05  0096   213 240$:	RSB				;

                                     0097   214  

                                     0097   215 	.DSABL	LSB

                                     0097   216 ;

                                     0097   217 ; SUBROUTINE TO CHECK OPERATOR PRIVILEGE

                                     0097   218 ;

                                     0097   219 SYM$CKOPRPRV::				; CHECK FOR OPERATOR PRIVILEGE

                                     0097   220 	SETSTAT	NOPRIV			; ASSUME CHECK WILL FAIL

                                 E1  009A   221 	BBC	#PRV$V_OPER,-		; BR IF THE REQUESTING PROCESS

         04 A9            12         009B   222 		SMR$Q_PRVMSK(R9),10$	; HAS NO OPERATOR PRIVILEGE

                          03         009E       

                                     009F   223 	SETSTAT	NORMAL			; OK! SAY OPERATION IS OK

                                 05  00A2   224 10$:	RSB				;

                                     00A3   225  

                                     00A3   226 	.END				;

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   7

SYMBOL TABLE                                                                                                                     (3)



ACM$B_PROCPRI    00000024            IO$V_COMMOD    = 00000006            IO$_RELEASE    = 00000005            

ACM$L_PROCID     FFFFFFFC            IO$V_CREATE    = 00000007            IO$_RETCENTER  = 00000007            

ACM$L_UIC        0000000C            IO$V_CTRLCAST  = 00000008            IO$_REWIND     = 00000024            

ACM$Q_ACNTNAM    0000001C            IO$V_CTRLYAST  = 00000007            IO$_REWINDOFF  = 00000022            

ACM$Q_PRVMSK     00000004            IO$V_CVTLOW    = 00000008            IO$_SEARCH     = 00000009            

ACM$T_DATA       00000028            IO$V_DATACHECK = 0000000E            IO$_SEEK       = 00000002            

ACM$T_USERNAM    00000010            IO$V_DELETE    = 00000008            IO$_SENSECHAR  = 0000001B            

ACM$W_MAILBOX    00000002            IO$V_DMOUNT    = 0000000A            IO$_SENSEMODE  = 00000027            

ACM$W_TYPE       00000000            IO$V_DSABLMBX  = 0000000A            IO$_SETCHAR    = 0000001A            

ACM$W_USERREQ    00000026            IO$V_ENABLMBX  = 00000007            IO$_SETMODE    = 00000023            

BIT...         = 00000009            IO$V_FCODE     = 00000000            IO$_SKIPFILE   = 00000025            

GBL...         = 00000000            IO$V_HANGUP    = 00000009            IO$_SKIPRECORD = 00000026            

IO$M_ABORT     = 00000100            IO$V_INHERLOG  = 0000000B            IO$_SPACEFILE  = 00000002            

IO$M_ACCESS    = 00000040            IO$V_INHEXTGAP = 0000000C            IO$_SPACERECORD= 00000009            

IO$M_ATTNAST   = 00000100            IO$V_INHRETRY  = 0000000F            IO$_STARTSPNDL = 00000019            

IO$M_BINARY    = 00000040            IO$V_INHSEEK   = 0000000C            IO$_UNLOAD     = 00000001            

IO$M_CANCTRLO  = 00000040            IO$V_INTERRUPT = 00000006            IO$_VIRTUAL    = 0000003F            

IO$M_COMMOD    = 00000040            IO$V_INTSKIP   = 00000008            IO$_WRITECHECK = 0000000A            

IO$M_CREATE    = 00000080            IO$V_MOUNT     = 00000009            IO$_WRITECHECKH= 00000018            

IO$M_CTRLCAST  = 00000100            IO$V_NOECHO    = 00000006            IO$_WRITEHEAD  = 0000000D            

IO$M_CTRLYAST  = 00000080            IO$V_NOFILTR   = 00000009            IO$_WRITELBLK  = 00000020            

IO$M_CVTLOW    = 00000100            IO$V_NOFORMAT  = 00000008            IO$_WRITEMARK  = 0000001C            

IO$M_DATACHECK = 00004000            IO$V_NOW       = 00000006            IO$_WRITEOF    = 00000028            

IO$M_DELETE    = 00000100            IO$V_NOWAIT    = 00000007            IO$_WRITEPBLK  = 0000000B            

IO$M_DMOUNT    = 00000400            IO$V_PACKED    = 00000007            IO$_WRITETRACKD= 0000000F            

IO$M_DSABLMBX  = 00000400            IO$V_PURGE     = 0000000B            IO$_WRITEVBLK  = 00000030            

IO$M_ENABLMBX  = 00000080            IO$V_READATTN  = 00000007            JBC$_ACMINVOP  = 00048088            

IO$M_FCODE     = 0000003F            IO$V_REVERSE   = 00000006            JBC$_ACNTOPN   = 00048478            

IO$M_HANGUP    = 00000200            IO$V_SHUTDOWN  = 00000007            JBC$_ACNTWRT   = 00048480            

IO$M_INHERLOG  = 00000800            IO$V_STARTUP   = 00000006            JBC$_ENTQUE    = 000484A8            

IO$M_INHEXTGAP = 00001000            IO$V_SYNCH     = 00000009            JBC$_ILLDEVNAM = 00048000            

IO$M_INHRETRY  = 00008000            IO$V_TIMED     = 00000007            JBC$_ILLDEVTYP = 00048008            

IO$M_INHSEEK   = 00001000            IO$V_TRMNOECHO = 0000000C            JBC$_ILLFILNAM = 00048010            

IO$M_INTERRUPT = 00000040            IO$V_WRTATTN   = 00000008            JBC$_ILLQUENAM = 00048018            

IO$M_INTSKIP   = 00000100            IO$_ACCESS     = 00000032            JBC$_INPASGN   = 00048488            

IO$M_MOUNT     = 00000200            IO$_ACPCONTROL = 00000038            JBC$_INPREAD   = 00048490            

IO$M_NOECHO    = 00000040            IO$_CREATE     = 00000033            JBC$_INVMSG    = 00048418            

IO$M_NOFILTR   = 00000200            IO$_DEACCESS   = 00000034            JBC$_INVSCT    = 00048468            

IO$M_NOFORMAT  = 00000100            IO$_DELETE     = 00000035            JBC$_JOBABORT  = 00048080            

IO$M_NOW       = 00000040            IO$_DIAGNOSE   = 0000001D            JBC$_JOBCRD    = 000484B0            

IO$M_NOWAIT    = 00000080            IO$_DRVCLR     = 00000004            JBC$_LOSTREC   = 00048438            

IO$M_PACKED    = 00000080            IO$_ERASETAPE  = 00000006            JBC$_MBASGN    = 00048400            

IO$M_PURGE     = 00000800            IO$_LOGICAL    = 0000002F            JBC$_MBDEAS    = 00048460            

IO$M_READATTN  = 00000080            IO$_MODIFY     = 00000036            JBC$_MBREAD    = 00048408            

IO$M_REVERSE   = 00000040            IO$_MOUNT      = 00000039            JBC$_MBSETAST  = 000484C8            

IO$M_SHUTDOWN  = 00000080            IO$_NOP        = 00000000            JBC$_MBWRITE   = 000484D0            

IO$M_STARTUP   = 00000040            IO$_OFFSET     = 00000006            JBC$_MULTREC   = 00048430            

IO$M_SYNCH     = 00000200            IO$_PACKACK    = 00000008            JBC$_NOOPENJOB = 00048048            

IO$M_TIMED     = 00000080            IO$_PHYSICAL   = 0000001F            JBC$_NOPRIV    = 00048020            

IO$M_TRMNOECHO = 00001000            IO$_READHEAD   = 0000000E            JBC$_NOQUEHDR  = 00048028            

IO$M_WRTATTN   = 00000100            IO$_READLBLK   = 00000021            JBC$_NOQUESPACE= 00048030            

IO$S_FCODE     = 00000006            IO$_READPBLK   = 0000000C            JBC$_NORMAL    = 00040001            

IO$V_ABORT     = 00000008            IO$_READPRESET = 00000019            JBC$_NOSUCHJOB = 00048040            

IO$V_ACCESS    = 00000006            IO$_READPROMPT = 00000037            JBC$_NOSUCHQUE = 00048038            

IO$V_ATTNAST   = 00000008            IO$_READTRACKD = 00000010            JBC$_PASSCRD   = 000484B8            

IO$V_BINARY    = 00000006            IO$_READVBLK   = 00000031            JBC$_PRCREAT   = 00048410            

IO$V_CANCTRLO  = 00000006            IO$_RECAL      = 00000003            JBC$_PRINTOUT  = 000484E0            

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   8

SYMBOL TABLE                                                                                                                     (3)



JBC$_QUECNT    = 00048428            JCD_W_LBUFSIZ    0000000A            PRV$V_PHY_IO   = 00000016            

JBC$_QUEERR    = 00048458            JCD_W_MBCHAN     00000002            PRV$V_PRMCEB   = 0000000A            

JBC$_QUENOSTOP = 00048050            JCD_W_TMPCHAN    00000000            PRV$V_PRMGBL   = 00000018            

JBC$_QUEUPD    = 000484E8            JCM_K_SIZE       000000C0            PRV$V_PRMMBX   = 0000000B            

JBC$_SCTERR    = 00048450            JCM_Q_IOSB       00000008            PRV$V_PSWAPM   = 0000000C            

JBC$_SMINVOPR  = 00048058            JCM_Q_LINKS      00000000            PRV$V_SETPRI   = 0000000D            

JBC$_SMINVOPT  = 00048060            JCM_T_MSGDATA    00000010            PRV$V_SETPRV   = 0000000E            

JBC$_SMINVREQ  = 00048068            MSG$_ABOOPR    = 00000011            PRV$V_SYSGBL   = 00000019            

JBC$_SMZEROJOB = 00048070            MSG$_ABORT     = 00000030            PRV$V_SYSNAM   = 00000002            

JBC$_SNDRESP   = 00048420            MSG$_ACCRSP    = 00000021            PRV$V_TMPMBX   = 0000000F            

JBC$_SYMBASN   = 00048440            MSG$_CONFIRM   = 00000031            PRV$V_VOLPRO   = 00000015            

JBC$_SYMBCRE   = 000484D8            MSG$_CONNECT   = 00000032            PRV$V_WORLD    = 00000010            

JBC$_SYMBDSAB  = 00048078            MSG$_CRUNSOLIC = 00000002            QUESRCFLG        00000000 R     03   

JBC$_SYMBWRT   = 00048448            MSG$_DELPROC   = 00000003            SCT_B_FLAGS      00000009            

JBC$_SYMDEL    = 00048470            MSG$_DELSMB    = 00000014            SCT_B_STATE      00000008            

JBC$_UAFOPN    = 000484A0            MSG$_DEVOFFLIN = 00000005            SCT_K_ABOREQ   = 00000005            

JBC$_UNESYMMSG = 000484C0            MSG$_DEVONLIN  = 00000007            SCT_K_DEQFIL   = 00000003            

JBC$_USERVAL   = 00048498            MSG$_DISCON    = 00000033            SCT_K_DEQJOB   = 00000002            

JBC_K_MAXBUFR  = 00000004            MSG$_EXIT      = 00000034            SCT_K_FREE     = 00000000            

JBC_K_PRTIMFLAG= 00000002            MSG$_INIOPR    = 00000010            SCT_K_INIT     = 00000001            

JBC_K_SYNCFLAG = 00000001            MSG$_INTMSG    = 00000035            SCT_K_MRKDEL   = 00000008            

JBC_K_UPDFLG   = 00000008            MSG$_OPREPLY   = 00000009            SCT_K_REQUE    = 00000006            

JBC_M_CREJOBREQ= 00000008            MSG$_OPRQST    = 00000008            SCT_K_SIZE       00000028            

JBC_M_MBREADREQ= 00000001            MSG$_PATHLOST  = 00000036            SCT_K_SUSPND   = 00000007            

JBC_M_SRVTIMQUE= 00000010            MSG$_PROTOCOL  = 00000037            SCT_K_TRMJOB   = 00000004            

JBC_M_SYMCREREQ= 00000002            MSG$_REJECT    = 00000038            SCT_L_CPUTIM     00000018            

JBC_M_SYMINIREQ= 00000004            MSG$_RESOPR    = 00000013            SCT_L_CURFIL     00000010            

JBC_V_CREJOBREQ= 00000003            MSG$_SCANBAD   = 00000028            SCT_L_GETCNT     00000024            

JBC_V_MBREADREQ= 00000000            MSG$_SCANRSP   = 00000029            SCT_L_PAGCNT     0000001C            

JBC_V_SRVTIMQUE= 00000004            MSG$_SMBDON    = 00000009            SCT_L_PROCID     0000000C            

JBC_V_SYMCREREQ= 00000001            MSG$_SMBINI    = 00000008            SCT_L_QIOCNT     00000020            

JBC_V_SYMINIREQ= 00000002            MSG$_SMBRSP    = 00000020            SCT_Q_LINKS      00000000            

JCD_A_LBUFADR    0000000C            MSG$_SNDACC    = 0000000A            SCT_W_JOBSTAT    00000016            

JCD_A_QUEBASE    00000018            MSG$_SNDSMB    = 00000004            SCT_W_MBCHAN     0000000A            

JCD_B_CURPDEV    0000001D            MSG$_SUSOPR    = 00000012            SCT_W_QINDEX     00000014            

JCD_B_CURSYMB    0000001C            MSG$_THIRDPARTY= 00000039            SJH$B_COPYCNT    0000000E            

JCD_G_LISTS      00000000            MSG$_TIMEOUT   = 0000003A            SJH$B_FLAGS      0000000C            

JCD_G_WLEND      FFFFFFF0            MSG$_TRMHANGUP = 00000006            SJH$B_FORMS      0000000D            

JCD_G_WORKLIST   FFFFFFD0            MSG$_TRMUNSOLIC= 00000001            SJH$B_PRTPRI     0000000F            

JCD_K_SIZE     = 000000FC            MSG$_XM_ATTN   = 0000000D            SJH$L_NEXTJOB    00000008            

JCD_L_SMBPID     FFFFFFCC            MSG$_XM_DATAVL = 0000000B            SJH$L_PARMBLK    0000003C            

JCD_Q_ACNTFIL    FFFFFFE8            MSG$_XM_SHUTDN = 0000000C            SJH$L_PROCID     00000010            

JCD_Q_FREEBUFR   FFFFFFF0            OPRREQ           00000004 R     03   SJH$L_RECLINK    00000000            

JCD_Q_LBUFDES    00000008            PRV$V_ALLSPOOL = 00000004            SJH$L_UIC        00000014            

JCD_Q_PROCDEL    FFFFFFE0            PRV$V_BUGCHK   = 00000017            SJH$M_HOLD     = 00000001            

JCD_Q_SYMBMAN    FFFFFFD8            PRV$V_CMEXEC   = 00000001            SJH$M_JOBABORT = 00000004            

JCD_Q_SYMBSRV    FFFFFFD0            PRV$V_CMKRNL   = 00000000            SJH$M_LOWER    = 00000002            

JCD_Q_SYMBWAIT   FFFFFFF8            PRV$V_DETACH   = 00000005            SJH$Q_ACNTNAM    00000024            

JCD_Q_TIME       FFFFFFC4            PRV$V_DIAGNOSE = 00000006            SJH$Q_JOBNAME    00000034            

JCD_Q_TMPDESC    00000010            PRV$V_EXQUOTA  = 00000013            SJH$Q_TIME       0000002C            

JCD_T_INDEX0     00000000            PRV$V_GROUP    = 00000008            SJH$T_USERNAM    00000018            

JCD_T_LINBFE     000000C0            PRV$V_GRPNAM   = 00000003            SJH$V_HOLD     = 00000000            

JCD_T_LINBUF     0000001E            PRV$V_LOG_IO   = 00000007            SJH$V_JOBABORT = 00000002            

JCD_T_START      FFFFFFC4            PRV$V_MOUNT    = 00000011            SJH$V_LOWER    = 00000001            

JCD_W_FLAGS      00000004            PRV$V_NETMBX   = 00000014            SJH$W_JOBSEQ     00000004            

JCD_W_JOBSEQ     00000006            PRV$V_NOACNT   = 00000009            SJH$W_MBCHAN     0000000D            

JCD_W_LBUFCNT    00000008            PRV$V_OPER     = 00000012            SJH$W_QINDEX     00000006            

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page   9

SYMBOL TABLE                                                                                                                     (3)



SMO$K_BRSTPAG  = 00000002            SMQ$M_NOSWAP   = 00000010            SQH$L_LASTREC    00000010            

SMO$K_COPIES   = 0000000A            SMQ$M_PAUSED   = 00000004            SQH$L_NEXTREC    0000000C            

SMO$K_CURFORM  = 00000040            SMQ$M_REDIRECT = 00000010            SQH$L_OPENJOB    00000014            

SMO$K_DEFBRST  = 00000046            SMQ$M_STOPPED  = 00000008            SQH$L_TIMQUE     00000018            

SMO$K_DEFFLAG  = 00000048            SMQ$M_TRMDEV   = 00000004            SQH$Q_QUEUE      00000020            

SMO$K_DELETE   = 00000001            SMQ$S_INIPRI   = 00000004            SQH$W_QUESEQ     0000001C            

SMO$K_DETJOB   = 00000043            SMQ$T_NAME       00000010            SQR$B_COPYCNT    00000039            

SMO$K_DISWAP   = 0000004E            SMQ$V_CREPND   = 00000002            SQR$B_FLAGS      00000038            

SMO$K_DOUBLE   = 00000007            SMQ$V_DEFBRST  = 00000001            SQR$L_RECLINK    00000000            

SMO$K_FLAGPAG  = 00000004            SMQ$V_DEFFLAG  = 00000000            SQR$M_BRSTPAG  = 00000004            

SMO$K_FORMTYPE = 00000024            SMQ$V_DETJOB   = 00000001            SQR$M_DELETE   = 00000001            

SMO$K_GENDEV   = 00000044            SMQ$V_GENDEV   = 00000004            SQR$M_DOUBLE   = 00000008            

SMO$K_GENPRT   = 00000041            SMQ$V_INIPRI   = 00000000            SQR$M_FLAGPAG  = 00000002            

SMO$K_HOLD     = 00000021            SMQ$V_INUSE    = 00000000            SQR$M_NOFEED   = 00000010            

SMO$K_INIPRI   = 0000004D            SMQ$V_LOWER    = 00000003            SQR$M_PAGHDR   = 00000020            

SMO$K_JOBCOPY  = 00000023            SMQ$V_NOGENERIC= 00000005            SQR$T_FILNAM     00000024            

SMO$K_JOBLIM   = 0000004C            SMQ$V_NOSWAP   = 00000004            SQR$T_VOLNAM     00000008            

SMO$K_JOBNAME  = 00000027            SMQ$V_PAUSED   = 00000002            SQR$V_BRSTPAG  = 00000002            

SMO$K_JOBPRI   = 00000022            SMQ$V_REDIRECT = 00000004            SQR$V_DELETE   = 00000000            

SMO$K_LOWER    = 00000025            SMQ$V_STOPPED  = 00000003            SQR$V_DOUBLE   = 00000003            

SMO$K_NEXTJOB  = 00000060            SMQ$V_TRMDEV   = 00000002            SQR$V_FLAGPAG  = 00000001            

SMO$K_NOBRSTPAG= 00000003            SMR$B_PROCPRI    00000024            SQR$V_NOFEED   = 00000004            

SMO$K_NODEFBRST= 00000047            SMR$K_ABORT    = 0000000E            SQR$V_PAGHDR   = 00000005            

SMO$K_NODEFFLAG= 00000049            SMR$K_ADDFIL   = 0000000A            SQR$W_DIRNUM     0000001E            

SMO$K_NOFEED   = 00000008            SMR$K_ALTER    = 0000000D            SQR$W_DIRSEQ     00000020            

SMO$K_NOFLAGPAG= 00000005            SMR$K_CLSJOB   = 0000000B            SQR$W_DIRVOL     00000022            

SMO$K_NOGENDEV = 00000045            SMR$K_CREJOB   = 00000009            SQR$W_FILNUM     00000018            

SMO$K_NOGENPRT = 00000042            SMR$K_DELETE   = 00000001            SQR$W_FILSEQ     0000001A            

SMO$K_NOLOWER  = 00000028            SMR$K_DETINIT  = 00000010            SQR$W_JOBSEQ     00000004            

SMO$K_NOTRMDEV = 0000004B            SMR$K_ENTER    = 00000008            SQR$W_PAGCNT     0000003A            

SMO$K_PAGCNT   = 00000009            SMR$K_INITIAL  = 00000000            SQR$W_RECID      00000006            

SMO$K_PAGHDR   = 00000006            SMR$K_JUSTIFY  = 00000006            SQR$W_RELVOL     0000001C            

SMO$K_PARAMS   = 00000026            SMR$K_MERGE    = 00000004            SYM$ABORT        ********   X   03   

SMO$K_REQUEUE  = 00000070            SMR$K_PAUSE    = 00000003            SYM$ADDFIL       ********   X   03   

SMO$K_RLSTIM   = 00000020            SMR$K_REDIRECT = 00000005            SYM$ALTER        ********   X   03   

SMO$K_SPCCNT   = 00000062            SMR$K_RELEASE  = 0000000F            SYM$CKOPRPRV     00000097 RG    03   

SMO$K_TOPOFILE = 00000061            SMR$K_RMVJOB   = 0000000C            SYM$CLSJOB       ********   X   03   

SMO$K_TRMDEV   = 0000004A            SMR$K_START    = 00000002            SYM$CREJOB       ********   X   03   

SMQ$B_CHAR       0000000A            SMR$K_STOP     = 00000007            SYM$C_RECSIZE    00000040            

SMQ$B_FLAGS      00000008            SMR$K_SYNCJOB  = 00000011            SYM$DELETEQUE    ********   X   03   

SMQ$B_FORMS      00000009            SMR$L_PROCID     FFFFFFFC            SYM$ENTER        ********   X   03   

SMQ$B_JOBCNT     00000009            SMR$L_UIC        0000000C            SYM$FINDQUEUE    ********   X   03   

SMQ$B_JOBLIM     0000000B            SMR$Q_ACNTNAM    0000001C            SYM$INITIALIZE   ********   X   03   

SMQ$C_SIZE       00000020            SMR$Q_PRVMSK     00000004            SYM$INSACTQUE    ********   X   03   

SMQ$K_SIZE       00000020            SMR$T_DATA       00000028            SYM$JUSTIFY      ********   X   03   

SMQ$L_ASNSCT     0000000C            SMR$T_USERNAM    00000010            SYM$K_RECSIZE    00000040            

SMQ$L_CURRENT    00000000            SMR$W_MAILBOX    00000002            SYM$MERGE        ********   X   03   

SMQ$L_HOLDLST    00000004            SMR$W_TYPE       00000000            SYM$NXTJOBSTEP   ********   X   03   

SMQ$M_CREPND   = 00000004            SMR$W_USERREQ    00000026            SYM$PAUSE        ********   X   03   

SMQ$M_DEFBRST  = 00000002            SQH$B_FLAGS      00000004            SYM$REDIRECT     ********   X   03   

SMQ$M_DEFFLAG  = 00000001            SQH$B_MAXQUE     00000006            SYM$RELEASE      ********   X   03   

SMQ$M_DETJOB   = 00000002            SQH$B_NUMQUE     00000005            SYM$RMVJOB       ********   X   03   

SMQ$M_GENDEV   = 00000010            SQH$B_SPARE      00000007            SYM$SETIMER      ********   X   03   

SMQ$M_INIPRI   = 0000000F            SQH$C_SIZE       00000120            SYM$SRVTIMER     00000067 RG    03   

SMQ$M_INUSE    = 00000001            SQH$K_SIZE       00000120            SYM$START        ********   X   03   

SMQ$M_LOWER    = 00000008            SQH$L_FIRSTREC   00000008            SYM$STOP         ********   X   03   

SMQ$M_NOGENERIC= 00000020            SQH$L_FREEREC    00000000            SYM$SYMBMAN      00000008 RG    03   

JBCSYMAN0       - SYMBIONT MANAGER MAIN ROUTINE                  22-AUG-1978 00:48:26   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (3)



SYM$SYNCJOB      ********   X   03   

SYM_K_MAXDEVNAM= 0000000F            

SYM_K_MAXFILNAM= 00000013            

SYM_K_MAXSYMB  = 00000010            

SYM_K_NUMQUEUE = 0000001F            

SYM_K_NUMRECORD= 00000400            

SYM_K_PRTPRI   = 00000020            

SYM_K_QUENAM   = 0000000F            

_$$$_          = 00000008            





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





THERE WERE NO ERRORS OR WARNINGS.

10702. BYTES LEFT IN FREE MEMORY POOL.

18. BYTES OF RECLAIMED MEMORY.

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

47 MLB DIR RDS - 798 GETS TO DEFINE 29 MACROS. 62 INTER. FILE WRITES. 

