JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      38  DECLARATIONS

   (2)      57  FIND DEVICE QUEUE

   (3)     121  FIND OPEN JOB

   (4)     174  FIND QUEUE JOB

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   1

V01                                                                                                                              (1)



                                     0000     1 

                                     0000     2 	.TITLE	JBCQUESRC - SEARCH QUEUE SUBROUTINES

                                     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:	STARLET JOB CONTROLLER/SYMBIONT MANAGER

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:	ROUTINES TO SEARCH THE SYMBIONT MANAGER QUEUES

                                     0000    28 ;

                                     0000    29 ; ENVIRONMENT:	NON-PRIVLEDGED USER MODE CODE

                                     0000    30 ;

                                     0000    31 ; AUTHOR: W. H. BROWN, CREATION DATE: 13-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 ;

                                     0000    41 ; INCLUDE FILES:

                                     0000    42 ;

                                     0000    43 ;	[235,10]J/ML

                                     0000    44 ;

                                     0000    45 ; MACROS:

                                     0000    46 ;

                                     0000    47 ;

                                     0000    48 ; EQUATED SYMBOLS:

                                     0000    49 ;

                                     0000    50 	JBCPARDEF			; DEFINE JOB CONTROLLER PARAMETERS

                                     0000    51 	JBCQUEDEF			; DEFINE QUEUE OFFSETS

                                     0000    52 ;

                                     0000    53 ; OWN STORAGE:		NONE

                                     0000    54 ;

                                     0000    55 

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   2

V01             FIND DEVICE QUEUE                                                                                                (2)



                                     0000    57 	.SBTTL	FIND DEVICE QUEUE

                                     0000    58 ;++

                                     0000    59 ; FUNCTIONAL DESCRIPTION:

                                     0000    60 ;

                                     0000    61 ;	ROUTINE TO LOCATE A SPECIFIC DEVICE QUEUE

                                     0000    62 ;

                                     0000    63 ; CALLING SEQUENCE:

                                     0000    64 ;

                                     0000    65 ;	JSB/BSB	SYM$FINDEVQUE

                                     0000    66 ;

                                     0000    67 ; INPUT PARAMETERS:

                                     0000    68 ;

                                     0000    69 ;	R5  POINTS AT NAME OF DESIRED QUEUE AS A COUNTED STRING

                                     0000    70 ;	R10 CONTAINS THE BASE ADDRESS OF THE QUEUE HEADER

                                     0000    71 ;

                                     0000    72 ; OUTPUT PARAMETERS:

                                     0000    73 ;

                                     0000    74 ;	R6  CONTAINS THE ADDRESS OF THE QUEUE HEADER IF FOUND

                                     0000    75 ;

                                     0000    76 ; IMPLICIT OUTPUTS:

                                     0000    77 ;

                                     0000    78 ;	R5 IS ADVANCE OVER DEVICE NAME IF QUEUE IS FOUND

                                     0000    79 ;	TOP LEVEL RETURN IS MADE IF DEVICE NAME HAS ILLEGAL FORMAT

                                     0000    80 ;

                                     0000    81 ; COMPLETION CODES:

                                     0000    82 ;

                                     0000    83 ;	R0 = NORMAL IF SEARCH WAS SUCESSFUL

                                     0000    84 ;	   = ILLQUENAMIF DEVICE STRING INVALID(TOP LEVLEL RETURN ISSUED)

                                     0000    85 ;	   = NOSUCHQUE IF QUEUE NOT HERE

                                     0000    86 ;

                                     0000    87 ; SIDE EFFECTS:

                                     0000    88 ;

                                     0000    89 ;	REQISTER R0 THRU R4 ARE USED

                                     0000    90 ;

                                     0000    91 ;--

                                     0000    92 	PURE_SECTION

                                     0000    93 

                                     0000    94 

                                     0000    95 SYM$FINDQUEUE::

            50            65     9A  0000    96 	MOVZBL	(R5),R0			; GET LENGTH OF USER SUPPLIED NAME

            3A            6045   91  0003    97 	CMPB	(R0)[R5],#^A/:/		; NAME END WITH A COLON?

                          02     12  0007    98 	BNEQ	10$			; BR IF NO

                          65     97  0009    99 	DECB	(R5)			; REMOVE COLON FROM THE NAME

                                     000B   100 10$:	SETSTAT	ILLQUENAM		; ASSUME BAD NAME

            0F            65     91  000E   101 	CMPB	(R5),#SYM_K_QUENAM	; CHECK IF NAME TOO BIG

                          2D     1A  0011   102 	BGTRU	60$			; BR IF YES

            56       0100 CA     DE  0013   103 	MOVAL	<SQH$K_SIZE-SMQ$K_SIZE>(R10),R6	; SET R6 FOR DEVICE QUEUE SEARCH

            54         05 AA     9A  0018   104 	MOVZBL	SQH$B_NUMQUE(R10),R4	; GET COUNT OF DEVICE QUEUES 

                          1E     13  001C   105 	BEQL	40$			; BR IF NONE

            56            20     C0  001E   106 20$:	ADDL	#SMQ$K_SIZE,R6		; ADVANCE POINTER TO NEXT QUEUE

         08 A6            00     E1  0021   107 	BBC	#SMQ$V_INUSE,SMQ$B_FLAGS(R6),20$ ; IGNORE SLOTS NOT IN USE

                          F8         0025       

            50            65     9A  0026   108 	MOVZBL	(R5),R0			; GET LENGTH OF NAME STRING

                          50     D6  0029   109 	INCL	R0			; ADJ TO COMPAIR NAME AND LENGTH

            65            50     29  002B   110 	CMPC3	R0,(R5),SMQ$T_NAME(R6)	; DO THE NAMES MATCH?

                       10 A6         002E       

                          07     12  0030   111 	BNEQ	30$			; BR IF NO

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   3

V01             FIND DEVICE QUEUE                                                                                                (2)



            55            10     C0  0032   112 	ADDL	#SYM_K_QUENAM+1,R5	; ADVANCE POINTER OVER QUEUE_NAME

                                     0035   113 	SETSTAT	NORMAL			; SET GOOD STATUS

                                 05  0038   114 	RSB				; RETURN TO CALLER

                                     0039   115  

            E2            54     F5  0039   116 30$:	SOBGTR	R4,20$			; LOOK IN ALL ACTIVE QUEUES

                                     003C   117 40$:	SETSTAT	NOSUCHQUE		; SET QUEUE NOT HERE

                                 05  003F   118 50$:	RSB				; EXIT SEARCH

                                 04  0040   119 60$:	RET				; RETURN TO TOP LEVEL

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   4

V01             FIND OPEN JOB                                                                                                    (3)



                                     0041   121 	.SBTTL	FIND OPEN JOB

                                     0041   122 ;++

                                     0041   123 ; FUNCTIONAL DESCRIPTION:

                                     0041   124 ;

                                     0041   125 ;	THIS ROUTINE WILL FIND AN OPEN JOB BY PROCESS I.D.

                                     0041   126 ;

                                     0041   127 ; CALLING SEQUENCE:

                                     0041   128 ;

                                     0041   129 ;	BSB/JSB	SYM$FINDOPENJOB		; FIND OPEN JOB FOR REQUESTING PROCESS

                                     0041   130 ;	BSB/JSB	SYM$FINDPROCJOB		; FIND OPEN JOB FOR SPECIFIC PROCESS

                                     0041   131 ;

                                     0041   132 ; INPUT PARAMETERS:

                                     0041   133 ;

                                     0041   134 ; ENTER AT "SYM$FINDOPENJOB" WITH R9 CONTAINING ADDRESS OF CURRENT MESSAGE

                                     0041   135 ;	AT "SYM$FINDPROCJOB" WITH R1 CONTAINING PROCESS ID OF JOB TO FIND

                                     0041   136 ;	R10 CONTAINS ADDRESS OF THE SYMBIONT QUEUE SPACE

                                     0041   137 ;

                                     0041   138 ; OUTPUT PARAMETERS:

                                     0041   139 ;

                                     0041   140 ;	R2 CONTAINS THE ADDRESS OF THE LINK TO THIS JOB

                                     0041   141 ;	R7 CONTAINS THE ADDRESS OF THE JOB IF FOUND

                                     0041   142 ;

                                     0041   143 ; COMPLETION CODES:

                                     0041   144 ;

                                     0041   145 ;	IF NO SUCH JOB, R0 IS SET TO NOSUCHJOB

                                     0041   146 ;		ELSE NORMAL IS RETURNED

                                     0041   147 ;

                                     0041   148 ; SIDE EFFECTS:		R2 IS USED AS SCRATCH WORK

                                     0041   149 ;--

                                     0041   150 

                                     0041   151 SYM$FINDOPENJOB::			; FIND JOB FOR REQUESTING PROCESS

            51         FC A9     D0  0041   152 	MOVL	SMR$L_PROCID(R9),R1	; GET CURRENT REQUEST PROCESS I.D.

                                     0045   153 SYM$FINDPROCJOB::			; FIND A JOB FOR INDICATED PROCESS

            52         14 AA     DE  0045   154 	MOVAL	SQH$L_OPENJOB(R10),R2	; SET POINTER TO LIST HEAD

                                     0049   155 	SETSTAT	NOSUCHJOB		; ASSUME SEARCH WILL FAIL

            57            62     D0  004C   156 10$:	MOVL	(R2),R7			; GET INDEX OF NEXT JOB

                          2B     13  004F   157 	BEQL	30$			; BR IF END OF LIST

            57            5A     C0  0051   158 	ADDL	R10,R7			; FIND ADDRESS OF THE JOB

         10 A7            51     D1  0054   159 	CMPL	R1,SJH$L_PROCID(R7)	; IS THIS THE CORRECT JOB

                          18     13  0058   160 	BEQL	20$			; BR IF FOUND THE JOB

         10 A7            51     B1  005A   161 	CMPW	R1,SJH$L_PROCID(R7)	; NEW COPY OF THE PROCESS?

                          0C     12  005E   162 	BNEQ	15$			; BR IF NO

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

                                     0064   164 	SYM_QUECHANGE			; TELL THE WORLD IT CHANGED

                          FF96'  30  0067   165 	BSBW	SYM$FREEJOB		; RELEASE THE JOB AS FREE

                          E0     11  006A   166 	BRB	10$			; TRY AGAIN

            52         08 A7     DE  006C   167 15$:	MOVAL	SJH$L_NEXTJOB(R7),R2	; COMPUTE ADDRESS OF LINK TO NEXT JOB

                          DA     11  0070   168 	BRB	10$			; TRY AGAIN

                                     0072   169 20$:	SETSTAT	NORMAL			; SET SUCESSFUL STATUS

            56         06 A7     3C  0075   170 	MOVZWL	SJH$W_QINDEX(R7),R6	; FIND INDEX TO ASSOCIATED QUEUE

            56            5A     C0  0079   171 	ADDL	R10,R6			; FIND REAL ADDRESS

                                 05  007C   172 30$:	RSB				; RETURN WITH JOB

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   5

V01             FIND QUEUE JOB                                                                                                   (4)



                                     007D   174 	.SBTTL	FIND QUEUE JOB

                                     007D   175 ;++

                                     007D   176 ; FUNCTIONAL DESCRIPTION:

                                     007D   177 ;

                                     007D   178 ;	THIS ROUTINE SEARCHES ALL OF THE SYMBIONT MANAGER QUEUES

                                     007D   179 ;	LOOKING FOR JOBS BELONGING TO A SPECIFIC QUEUE.

                                     007D   180 ;	WHEN A FILE IS FOUND A COROUTINE RETURN IS TAKEN WITH

                                     007D   181 ;	R0 = TRUE.  WHEN THE LAST QUEUE HAS BEEN SEARCHED,

                                     007D   182 ;	WITHOUT FINDING ANY ENTRY BELONGING TO THE SPECIFIED QUEUE

                                     007D   183 ;	A RETURN FORM SUBROUTINE IS ISSUED WITH R0 = FALSE.

                                     007D   184 ;

                                     007D   185 ;	WHEN CONTROL IS RETURNED FROM THE COROUTINE, R0 IS SET

                                     007D   186 ;	TRUE TO INDICATE THE RECORD SHOULD BE REMOVED, FALSE TO

                                     007D   187 ;	INDICATE THAT THE SEARCH SHOULD BE CONTIUNED.

                                     007D   188 ;

                                     007D   189 ;	WHEN THE RECORD HAS BEEN REMOVED, ANOTHER COROUTINE RETURN

                                     007D   190 ;	IS MADE SO THAT THE RECORD CAN BE INSERTED IN THE PROPER

                                     007D   191 ;	LIST.  THIS CAN NOT BE DONE UNTIL IT HAS BEEN REMOVED

                                     007D   192 ;	SO THAT THE LINK WORD WILL NOT CHANGE PRIOR TO CLOSING

                                     007D   193 ;	THE LIST.

                                     007D   194 ;

                                     007D   195 ; CALLING SEQUENCE:

                                     007D   196 ;

                                     007D   197 ;	ENTER WITH JSB/BSB AT:

                                     007D   198 ;

                                     007D   199 ;		SYM$FINDQUEJOB---TO SEARCH AT QUEUES FOR JOBS

                                     007D   200 ;		SYM$FINDACTJOB---TO SEARCH ONLY ACTIVE QUEUES

                                     007D   201 ;		SYM$FINDCLSJOB---TO SEARCH ALL QUEUES EXCEPT OPEN JOB

                                     007D   202 ;

                                     007D   203 ; INPUT PARAMETERS:

                                     007D   204 ;

                                     007D   205 ;	R6 CONTAINS THE ADDRESS OF THE QUEUE HEADER TO FINDS JOB FOR

                                     007D   206 ;	R10 CONTAINS THE ADDRESS OF THE SYMBIONT QUEUE SPACE

                                     007D   207 ;

                                     007D   208 ; OUTPUT PARAMETERS:

                                     007D   209 ;

                                     007D   210 ;	ON SUCESSFUL RETURN, R2 CONTAINS THE ADDRESS OF THE JOB FOUND

                                     007D   211 ;		R3 CONTAINS THE ADDRESS OF THE LINK WORD POINTING

                                     007D   212 ;		TO THIS JOB.

                                     007D   213 ;

                                     007D   214 ; IMPLICIT OUTPUTS:

                                     007D   215 ;

                                     007D   216 ;	REGISTER R4 IS BEING USED BY THIS ROUTINE AND MUST BE PRESERVED

                                     007D   217 ;

                                     007D   218 ; COMPLETION CODES:

                                     007D   219 ;

                                     007D   220 ;	R0 = TRUE OR FALSE DEPENDING ON WHETHER A JOB IS FOUND OR NOT.

                                     007D   221 ;

                                     007D   222 ; SIDE EFFECTS:		NONE

                                     007D   223 ;--

                                     007D   224 

                                     007D   225 	.ENABL	LSB

                                     007D   226 SYM$FINDACTJOB::			; SEARCH ONLY ACTIVE QUEUES

                          54     D4  007D   227 	CLRL	R4			; SET SEARCH INDEX

                          08     11  007F   228 	BRB	10$			; START SEARCH

                                     0081   229 SYM$FINDCLSJOB::			; SEARCH ALL CLOSED JOBS

            54            01     CE  0081   230 	MNEGL	#1,R4			; SET QUEUE SEARCH INDICATOR

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   6

V01             FIND QUEUE JOB                                                                                                   (4)



                          03     11  0084   231 	BRB	10$			; DO THE SEARCH

                                     0086   232 SYM$FINDQUEJOB::

            54            02     CE  0086   233 	MNEGL	#2,R4			; SET INDICATOR FOR WHICH QUEUE TO SEARCH

            53         18 AA     DE  0089   234 10$:	MOVAL	SQH$L_TIMQUE(R10),R3	; SEARCH TIME QUEUE

                          54     D6  008D   235 	INCL	R4			; COUNT UP QUEUES SEARCHED

                          08     14  008F   236 	BGTR	30$			; BR IF WORKING ON PRINT QUEUES

                          17     13  0091   237 	BEQL	50$			; BR IF TIMER QUEUE IS NEXT

            53         14 AA     DE  0093   238 	MOVAL	SQH$L_OPENJOB(R10),R3	; TIME TO SEARCH OPEN JOB QUEUE

                          11     11  0097   239 	BRB	50$			; GO DO SEARCH

                                     0099   240 30$:	SETSTAT	NOSUCHJOB		; ASSUME ALL QUEUES HAVE BEEN SEARCHED

            20            54     D1  009C   241 	CMPL	R4,#SYM_K_PRTPRI	; HAVE ALL QUEUES BEEN SEARCHED?

                          4E     14  009F   242 	BGTR	90$			; BR IF YES

            20            54     C3  00A1   243 	SUBL3	R4,#32,R3		; CONVERT TO DECEASING PRIORITY INDEX

                          53         00A4       

            53         20 AA43   7E  00A5   244 	MOVAQ	SQH$Q_QUEUE(R10)[R3],R3 ; GET ADDRESS OF QUEUE THREAD WORD

            56            5A     C3  00AA   245 50$:	SUBL3	R10,R6,R0		; FIND THE QUEUE INDEX

                          50         00AD       

            52            63     D0  00AE   246 	MOVL	(R3),R2			; FOLLOW THE LINK

                          D6     13  00B1   247 	BEQL	10$			; BR IN NONE LINKED HERE

            52            5A     C0  00B3   248 	ADDL	R10,R2			; FIND REAL ADDRESS OF JOB

            50         06 A2     B1  00B6   249 	CMPW	SJH$W_QINDEX(R2),R0	; IS THIS JOB IN THE TARGET QUEUE?

                          2D     12  00BA   250 	BNEQ	80$			; BR IF NO-CONTINUE THE SEARCH

            50            01     D0  00BC   251 	MOVL	#1,R0			; SET FOUND 1 STATUS

                          9E     16  00BF   252 	JSB	@(SP)+			; LET THE CALLER LOOK AT IT

            25            50     E9  00C1   253 	BLBC	R0,80$			; BR IF IT GETS LEFT IN THE LIST

                                     00C4   254 	SYM_QUECHANGE			; INDICATE CHANGE IN QUEUE

            63         08 A2     D0  00C7   255 	MOVL	SJH$L_NEXTJOB(R2),(R3)	; CLOSE THE JOB LIST

                          18     12  00CB   256 	BNEQ	70$			; BR IF NOT LAST JOB IN THE LIST

                          54     D5  00CD   257 	TSTL	R4			; IS THIS A ACTIVE PRINT QUEUE?

                          14     15  00CF   258 	BLEQ	70$			; BR IF NO-SINGLE ENDED QUEUES ARE EASY!

                                     00D1   259 ;

                                     00D1   260 ; THE JOB BEING REMOVED IS IN THE PRINT QUEUES - HANDLE SPECIAL CASE

                                     00D1   261 ; OF REMOVING LAST JOB - WHICH IS A ROYAL PAIN IN THE !!!

                                     00D1   262 ;

            20            54     C3  00D1   263 	SUBL3	R4,#32,R1		; FIND DECEASING INDEX FOR QUEUE

                          51         00D4       

            51         20 AA41   7E  00D5   264 	MOVAQ	SQH$Q_QUEUE(R10)[R1],R1 ; GET ADDRESS OF END OF LIST POINTER

                          81     D5  00DA   265 	TSTL	(R1)+			; IF FORWARD POINTER ZERO-QUEUE IS EMPTY

                          07     13  00DC   266 	BEQL	70$			; BR IS IT IS - THAT IS OK

                                     00DE   267 ;

                                     00DE   268 ; THE JOB BEING REMOVED IS THE LAST IN THE ASSOCIATED LIST, WITH NO MORE

                                     00DE   269 ; ENTRIES IN THE QUEUE. THE LINK MUST BE SET TO JOB PRECEEDING THIS JOB.

                                     00DE   270 ; THE CONTENTS OF R3 IS THE ADDRESS OF THE LINK TO THIS JOB.

                                     00DE   271 ; IE:  JOB HEADER PLUS SJH$L_NEXTJOB.

                                     00DE   272 ;

            61         F8 A3     DE  00DE   273 	MOVAL	-SJH$L_NEXTJOB(R3),(R1)	; SUBTACT OFFSET TO JOB LIST LINK

            61            5A     C2  00E2   274 	SUBL	R10,(R1)		; REMOVE QUEUE BASE FROM VALUE

                          9E     16  00E5   275 70$:	JSB	@(SP)+			; LET THE CALLER DISPOSE OF THE RECORD

                          C1     11  00E7   276 	BRB	50$			; LOOK AGAIN

            53         08 A2     DE  00E9   277 80$:	MOVAL	SJH$L_NEXTJOB(R2),R3	; POINT R3 AT LINK WORD

                          BB     11  00ED   278 	BRB	50$			; GO AGAIN

                                 05  00EF   279 90$:	RSB				; BACK TO CALLER WITH FALSE

                                     00F0   280 

                                     00F0   281 	.DSABL	LSB

                                     00F0   282 	.END				;

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   7

SYMBOL TABLE                                                                                                                     (4)



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            

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   8

SYMBOL TABLE                                                                                                                     (4)



SMR$L_UIC        0000000C            SYM_K_MAXDEVNAM= 0000000F            

SMR$Q_ACNTNAM    0000001C            SYM_K_MAXFILNAM= 00000013            

SMR$Q_PRVMSK     00000004            SYM_K_MAXSYMB  = 00000010            

SMR$T_DATA       00000028            SYM_K_NUMQUEUE = 0000001F            

SMR$T_USERNAM    00000010            SYM_K_NUMRECORD= 00000400            

SMR$W_MAILBOX    00000002            SYM_K_PRTPRI   = 00000020            

SMR$W_TYPE       00000000            SYM_K_QUENAM   = 0000000F            

SMR$W_USERREQ    00000026            _$$$_          = 00000010            

SQH$B_FLAGS      00000004            

SQH$B_MAXQUE     00000006            

SQH$B_NUMQUE     00000005            

SQH$B_SPARE      00000007            

SQH$C_SIZE       00000120            

SQH$K_SIZE       00000120            

SQH$L_FIRSTREC   00000008            

SQH$L_FREEREC    00000000            

SQH$L_LASTREC    00000010            

SQH$L_NEXTREC    0000000C            

SQH$L_OPENJOB    00000014            

SQH$L_TIMQUE     00000018            

SQH$Q_QUEUE      00000020            

SQH$W_QUESEQ     0000001C            

SQR$B_COPYCNT    00000039            

SQR$B_FLAGS      00000038            

SQR$L_RECLINK    00000000            

SQR$M_BRSTPAG  = 00000004            

SQR$M_DELETE   = 00000001            

SQR$M_DOUBLE   = 00000008            

SQR$M_FLAGPAG  = 00000002            

SQR$M_NOFEED   = 00000010            

SQR$M_PAGHDR   = 00000020            

SQR$T_FILNAM     00000024            

SQR$T_VOLNAM     00000008            

SQR$V_BRSTPAG  = 00000002            

SQR$V_DELETE   = 00000000            

SQR$V_DOUBLE   = 00000003            

SQR$V_FLAGPAG  = 00000001            

SQR$V_NOFEED   = 00000004            

SQR$V_PAGHDR   = 00000005            

SQR$W_DIRNUM     0000001E            

SQR$W_DIRSEQ     00000020            

SQR$W_DIRVOL     00000022            

SQR$W_FILNUM     00000018            

SQR$W_FILSEQ     0000001A            

SQR$W_JOBSEQ     00000004            

SQR$W_PAGCNT     0000003A            

SQR$W_RECID      00000006            

SQR$W_RELVOL     0000001C            

SYM$C_RECSIZE    00000040            

SYM$FINDACTJOB   0000007D RG    03   

SYM$FINDCLSJOB   00000081 RG    03   

SYM$FINDOPENJOB  00000041 RG    03   

SYM$FINDPROCJOB  00000045 RG    03   

SYM$FINDQUEJOB   00000086 RG    03   

SYM$FINDQUEUE    00000000 RG    03   

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

SYM$K_RECSIZE    00000040            

JBCQUESRC       - SEARCH QUEUE SUBROUTINES                       22-AUG-1978 00:47:16   VAX-11 MACRO X0.3-11               Page   9

PROGRAM SECTION SYNOPSIS                                                                                                         (4)







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





THERE WERE NO ERRORS OR WARNINGS.

17816. BYTES LEFT IN FREE MEMORY POOL.

390. BYTES OF RECLAIMED MEMORY.

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

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

