SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (3)      45  DECLARATIONS

   (5)     258  SET$QUEUE

   (7)     471  CLI action routines

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   1

X0101                                                                                                                            (1)



                                     0000     1 	.TITLE	SET$QUEUE

                                     0000     2 	.IDENT	/X0101/

                                     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 ;++

                                     0000    25 ; FACILITY:	DCL SET Command

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:

                                     0000    28 ;	This module implements the SET QUEUE Command

                                     0000    29 ;

                                     0000    30 ;

                                     0000    31 ; ENVIRONMENT:

                                     0000    32 ;

                                     0000    33 ;	Runs in user mode

                                     0000    34 ;

                                     0000    35 ; AUTHOR : BEATRICE U. WALTHER,  CREATION DATE: 24-JAN-1978

                                     0000    36 ;

                                     0000    37 ; MODIFIED BY:

                                     0000    38 ;

                                     0000    39 ;	, : VERSION

                                     0000    40 ; 01	- 

                                     0000    41 ;--

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   2

X0101                                                                                                                            (3)



                                     0000    43 

                                     0000    44 

                                     0000    45 	.SBTTL	DECLARATIONS

                                     0000    46 

                                     0000    47 ;

                                     0000    48 ; Include files:

                                     0000    49 ;

                                     0000    50 

                                     0000    51 ;***	$CLIDEFQUALSET		; SET command qualifier definitions

                                     0000    52 	$SMRDEF			; symbiont manager definitions

                                     0000    53 	$MSGDEF			; message definitions

                                     0000    54 	$SHRDEF			; shared message definitions

                                     0000    55 	$STSDEF			; status code definitions

                                     0000    56 	$JBCMSGDEF		; define job controller return codes

                                     0000    57 

                                     0000    58 ;

                                     0000    59 ; Macros:

                                     0000    60 ;

                                     0000    61 

                                     0000    62 ; *********** temporary

                                     0000    63 ;+

                                     0000    64 ; The $SHR_MESSAGES macro defines facility-specific message codes

                                     0000    65 ;	which are based on the system-wide shared message codes.

                                     0000    66 ;

                                     0000    67 ;	$SHR_MESSAGES	name, code, <<msg,severity>, ... >

                                     0000    68 ;

                                     0000    69 ;	where:

                                     0000    70 ;	    "name" is the name of the facility (e.g., COPY)

                                     0000    71 ;	    "code" is the corresponding facility code (e.g., 103)

                                     0000    72 ;	    "msg" is the name of the shared message (e.g., BEGIN)

                                     0000    73 ;	    "severity" is the desired message severity (e.g., 1, 0, 2, 4)

                                     0000    74 ;

                                     0000    75 ;-

                                     0000    76 	.MACRO	$SHR_MESSAGES	NAME,CODE,MSGCODES

                                     0000    77 ;

                                     0000    78 	.IF	NDF,SHR$K_SHRDEF  ; issue $SHRDEF if not done yet

                                     0000    79 		SHR$K_SHRDEF = 1 ; define symbol to indic $SHRDEF done

                                     0000    80 		$SHRDEF		 ; define shared message codes

                                     0000    81 	.ENDC

                                     0000    82 	.IRP	MSGPAIR, <'MSGCODES>

                                     0000    83 		$SHRMSG_COD 'NAME', 'CODE', MSGPAIR

                                     0000    84 	.ENDR

                                     0000    85 	.ENDM

                                     0000    86 	.MACRO	$SHRMSG_COD NAME, CODE, MSG, SEVERITY

                                     0000    87 ;

                                     0000    88 	.IF	IDN,SEVERITY,WARNING    ; if WARNING, set 0 sev

                                     0000    89 	  'NAME'$_'MSG' = 0	        ; set 0 sev (WARNING)

                                     0000    90 	.IFF

                                     0000    91 	  .IF	IDN,SEVERITY,SUCCESS    ; if SUCCESS, set 1 sev

                                     0000    92 	    'NAME'$_'MSG' = 1	        ; set 1 sev (SUCCESS)

                                     0000    93 	  .IFF

                                     0000    94 	    .IF	IDN,SEVERITY,ERROR      ; if ERROR, set 2 sev

                                     0000    95 	      'NAME'$_'MSG' = 2	        ; set 2 sev (ERROR)

                                     0000    96 	    .IFF

                                     0000    97 	      .IF IDN,SEVERITY,INFO     ; if INFO, set 3 sev

                                     0000    98 	        'NAME'$_'MSG' = 3       ; set 3 sev (INFO)

                                     0000    99 	      .IFF

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   3

X0101           DECLARATIONS                                                                                                     (3)



                                     0000   100 	        .IF IDN,SEVERITY,SEVERE ; if SEVERE, set 4 sev

                                     0000   101 	          'NAME'$_'MSG' = 4     ; set 4 sev (SEVERE)

                                     0000   102 	        .IFF

                                     0000   103 	          'NAME'$_'MSG' = 'SEVERITY ; set specified sev

                                     0000   104 	        .ENDC

                                     0000   105 	      .ENDC

                                     0000   106 	    .ENDC

                                     0000   107 	  .ENDC

                                     0000   108 	.ENDC

                                     0000   109 	 'NAME'$_'MSG' = 'NAME'$_'MSG'+SHR$_'MSG'+<'CODE'@16>

                                     0000   110 	.ENDM

                                     0000   111 

                                     0000   112 ;%%%	.MACRO	$PUTMSG_S	ARGS

                                     0000   113 ;%%%	$SIGNAL_S	<ARGS>

                                     0000   114 ;%%%	.ENDM

                                     0000   115 

                                     0000   116 	.MACRO	$SNDSMB_S	A,B

                                     0000   117 	PUSHL	B

                                     0000   118 	PUSHAL	A

                                     0000   119 	CALLS	#2,SYS$SNDSMB

                                     0000   120 	.ENDM

                                     0000   121 

                                     0000   122 ;

                                     0000   123 ; Equated symbols:

                                     0000   124 ;

                                     0000   125 

                                     0000   126 	_VIELD	QUEU,0,<-		; define qualifier bit list

                                     0000   127 		<QNAM,,M>,-		; queue name present

                                     0000   128 		<AFTE,,M>,-		; /AFTER

                                     0000   129 		<JOB_,,M>,-		; /JOB_COUNT

                                     0000   130 		<ENTR,,M>,-		; /ENTRY

                                     0000   131 		<FORM,,M>,-		; /FORMS

                                     0000   132 		<HOLD,,M>,-		; /HOLD

                                     0000   133 		<LOWE,,M>,-		; /LOWER

                                     0000   134 		<NAME,,M>,-		; /NAME

                                     0000   135 		<PRIO,,M>,-		; /PRIORITY

                                     0000   136 		<RELE,,M>,-		; /RELEASE

                                     0000   137 		>

                                     0000   138 

                                     0000   139 	$SHR_MESSAGES	-		; define shared messages

                                     0000   140 		SET,119,<-

                                     0000   141 		<BADCOPIES,ERROR>,-

                                     0000   142 		<BADFORM,ERROR>,-

                                     0000   143 		<BADJOBID,ERROR>,-

                                     0000   144 		<BADJOBNAME,ERROR>,-

                                     0000   145 		<BADPRTY,ERROR>,-

                                     0000   146 		<BADQNAME,ERROR>,-

                                     0000   147 		<BADTIME,ERROR>,-

                                     0000   148 		<NOQUEUE,ERROR>,-

                                     0000   149 		<TEXT,ERROR>,-

                                     0000   150 		<NOJOBID,ERROR>,-

                                     0000   151 		<NOJOBNAME,ERROR>,-

                                     0000   152 		>

                                     0000   153 

                                     0000   154 

                           00000008  0000   155 QUAD=8					; QUAD word

                           00000009  0000   156 MAX_JOBNAME_LEN=8+1			; maximum length of a job name

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   4

X0101           DECLARATIONS                                                                                                     (3)



                           00000010  0000   157 MAX_QNAM_LEN=16			; maximum lenth of a queue name

                           00000100  0000   158 ONEBYTE=256				; max value of a byte

                                     0000   159 

                                     0000   160 ;

                                     0000   161 ; Own storage:

                                     0000   162 ;

                                     0000   163 

                                 00000000   164 	.PSECT	SET$RWDATA	LONG,RD,WRT,NOEXE

                                     0000   165 

                                     0000   166 ;

                                     0000   167 ; define CLI call back structures

                                     0000   168 ;

                                     0000   169 

                                     0000   170 QUEU_A_GETQUAL:

                                     0000   171 	$CLIREQDESC	-		; request descriptor

                                     0000   172 		RQTYPE=CLI$K_GETQUAL,-	; to get qualifiers

                                     0000   173 		QUALST=QUEU_A_QUALST	; pointer to qualifier list

                                     001C   174 QUEU_A_GETPARAM:

                                     001C   175 	$CLIREQDESC	-		;

                                     001C   176 		RQTYPE=CLI$K_INPUT1,-	; get parameter

                                     001C   177 		BITNUM=QUEU_V_QNAM,-	;

                                     001C   178 		PRSACT=QUEU_QNAM_PRES	;

                                     0038   179 QUEU_A_NUMERVAL:

                                     0038   180 	$CLIREQDESC	-		; request descriptor

                                     0038   181 		RQTYPE=CLI$K_NUMERVAL	; to convert a value

                                     0054   182 QUEU_A_QUALST:			; qualifier list

                                     0054   183 	$CLIQUALDEF	-		;

                                     0054   184 		QDCODE=CLI$K_STQE_AFTE,-; /AFTER

                                     0054   185 		SETLST=QUEU_V_AFTE,-	;

                                     0054   186 		TRUACT=QUEU_AFTE_TRUE	;

                                     006C   187 	$CLIQUALDEF	-		;

                                     006C   188 		QDCODE=CLI$K_STQE_JOB_,-; /JOB_COUNT

                                     006C   189 		SETLST=QUEU_V_JOB_,-	;

                                     006C   190 		TRUACT=QUEU_JOB__TRUE	;

                                     0084   191 	$CLIQUALDEF	-		;

                                     0084   192 		QDCODE=CLI$K_STQE_ENTR,-; /ENTRY

                                     0084   193 		SETLST=QUEU_V_ENTR,-	;

                                     0084   194 		TRUACT=QUEU_ENTR_TRUE	;

                                     009C   195 	$CLIQUALDEF	-		;

                                     009C   196 		QDCODE=CLI$K_STQE_FORM,-; /FORMS

                                     009C   197 		SETLST=QUEU_V_FORM,-	;

                                     009C   198 		TRUACT=QUEU_FORM_TRUE	;

                                     00B4   199 	$CLIQUALDEF	-		;

                                     00B4   200 		QDCODE=CLI$K_STQE_HOLD,-; /HOLD

                                     00B4   201 		SETLST=QUEU_V_HOLD,-	;

                                     00B4   202 		TRUACT=QUEU_HOLD_TRUE	;

                                     00CC   203 	$CLIQUALDEF	-		;

                                     00CC   204 		QDCODE=CLI$K_STQE_LOWE,-; /LOWER

                                     00CC   205 		SETLST=QUEU_V_LOWE,-	;

                                     00CC   206 		QDFLGS=CLI$V_QDEXPA,-	; require explicit specification

                                     00CC   207 		TRUACT=QUEU_LOWE_TRUE,-	;

                                     00CC   208 		FLSACT=QUEU_LOWE_FALS	;

                                     00E4   209 	$CLIQUALDEF	-		;

                                     00E4   210 		QDCODE=CLI$K_STQE_NAME,-; /NAME

                                     00E4   211 		SETLST=QUEU_V_NAME,-	;

                                     00E4   212 		TRUACT=QUEU_NAME_TRUE	;

                                     00FC   213 	$CLIQUALDEF	-		;

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   5

X0101           DECLARATIONS                                                                                                     (3)



                                     00FC   214 		QDCODE=CLI$K_STQE_PRIO,-; /PRIORITY

                                     00FC   215 		SETLST=QUEU_V_PRIO,-	;

                                     00FC   216 		TRUACT=QUEU_PRIO_TRUE	;

                                     0114   217 	$CLIQUALDEF	-		;

                                     0114   218 		QDCODE=CLI$K_STQE_RELE,-; /RELEASE

                                     0114   219 		SETLST=QUEU_V_RELE	;

                                     012C   220 	$CLIQUALDEF	END_LIST	; end of qualifier list

                                     012D   221 

                                     012D   222 ;

                                     012D   223 ; read write storage

                                     012D   224 ;

                                     012D   225 

                                     012D   226 QUEU_L_BITLIS:

                           00000131  012D   227 	.BLKL	1			; qualifier bit list longword

                                     0131   228 QUEU_W_MBXCHAN:

                           00000135  0131   229 	.BLKL	1			; mailbox channel word

                                     0135   230 QUEU_Q_VALDESC:

                           0000013D  0135   231 	.BLKQ	1			; save area for qualifier value descriptor

                                     013D   232 QUEU_Q_IOSB:

                           00000145  013D   233 	.BLKQ	1			; status code for $QIO

                                     0145   234 

                                     0145   235 QUEU_Q_BUFDESC:

                           00000014' 0145   236 	.LONG	QUEU_K_BUFLEN		; descriptor to symbiont manager

                           0000014D' 0149   237 	.LONG	QUEU_A_BUFFER		; request buffer

                                     014D   238 QUEU_A_BUFFER:				; allocate request buffer

                               000D' 014D   239 	.WORD	SMR$K_ALTER		; default = ALTER request

                                     014F   240 QUEU_T_QUEUENAM:

      54 4E 49 52 50 24 53 59 53 00' 014F   241 	.ASCIC	/SYS$PRINT/		; default queue name

                                 09  014F       

                           0000015F  0159   242 	.BLKB	<MAX_QNAM_LEN-<.-QUEU_T_QUEUENAM>>	; allocate fixed length

                                     015F   243 QUEU_W_JOBID:

                           00000161  015F   244 	.BLKW	1			; space for JOBID

                           00000014  0161   245 QUEU_K_BUFLEN=.-QUEU_A_BUFFER		; set initial length of request buffer

                                     0161   246 					; allocate space for options

                           00000163  0161   247 	.BLKB	1+1			; SMO$K_FORMTYP

                           00000164  0163   248 	.BLKB	1			; SMO$K_HOLD

                           00000166  0164   249 	.BLKB	1+1			; SMO$K_JOBCOPY

                           00000168  0166   250 	.BLKB	1+1			; SMO$K_JOBPRI

                           00000169  0168   251 	.BLKB	1			; SMO$K_LOWER

                           0000016A  0169   252 	.BLKB	1			; SMO$K_NOLOWER

                           00000173  016A   253 	.BLKB	1+QUAD			; SMO$K_RLSTIM

                           0000017D  0173   254 	.BLKB	1+MAX_JOBNAME_LEN	; SMO$K_JOBNAME

                           0000017E  017D   255 	.BLKB	1			; zero byte

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   6

X0101           DECLARATIONS                                                                                                     (5)



                                     017E   257 

                                     017E   258 	.SBTTL	SET$QUEUE

                                     017E   259 ;++

                                     017E   260 ; FUNCTIONAL DESCRIPTION:

                                     017E   261 ;

                                     017E   262 ;	This routine represents the main loop of the SET QUEUE command

                                     017E   263 ;	As the command line is parsed by successive calls to the CLI,

                                     017E   264 ;	the action routines for parameter and qualifiers construct a

                                     017E   265 ;	buffer to be sent to the symbiont manager.

                                     017E   266 ;	The symbiont manager's response is then read from a temporary 

                                     017E   267 ;	mailbox to check successful completion of the action requested.

                                     017E   268 ;

                                     017E   269 ;

                                     017E   270 ; CALLING SEQUENCE:

                                     017E   271 ;

                                     017E   272 ;	CALLS

                                     017E   273 ;

                                     017E   274 ; INPUT PARAMETERS:

                                     017E   275 ;

                                     017E   276 ;	NONE

                                     017E   277 ;

                                     017E   278 ; IMPLICIT INPUTS:

                                     017E   279 ;

                                     017E   280 ;	NONE

                                     017E   281 ;

                                     017E   282 ; OUTPUT PARAMETERS:

                                     017E   283 ;

                                     017E   284 ;	NONE

                                     017E   285 ;

                                     017E   286 ; IMPLICIT OUTPUTS:

                                     017E   287 ;

                                     017E   288 ;	NONE

                                     017E   289 ;

                                     017E   290 ; COMPLETION CODES:

                                     017E   291 ;

                                     017E   292 ;	R0 =	SS$_NORMAL

                                     017E   293 ;		any error code returned by system services called

                                     017E   294 ;		response from symbiont manager

                                     017E   295 ;

                                     017E   296 ; SIDE EFFECTS:

                                     017E   297 ;

                                     017E   298 ;	NONE

                                     017E   299 ;

                                     017E   300 ;--

                                     017E   301 

                                 00000000   302 	.PSECT	SET$CODE	BYTE,RD,NOWRT,EXE

                                     0000   303 

                                     0000   304 SET$QUEUE::

                               0000  0000   305 	.WORD	0

                                     0002   306 

                                     0002   307 

                                     0002   308 ;

                                     0002   309 ; call CLI for parameter and qualifiers

                                     0002   310 ;

                                     0002   311 

                     012D'CF     9F  0002   312 	PUSHAB	W^QUEU_L_BITLIS		; bit list word

                     0000'CF     9F  0006   313 	PUSHAB	W^SET$A_CLIWORK		; address of CLI work area

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   7

X0101           SET$QUEUE                                                                                                        (5)



                     001C'CF     9F  000A   314 	PUSHAB	W^QUEU_A_GETPARAM	; get parameter

         08 BC            03     FB  000E   315 	CALLS	#3,@CLI$A_UTILSERV(AP)	; call CLI

            50       0000'CF     D0  0012   316 	MOVL	W^SET$L_STATUS,R0	; load status code

            73            50     E9  0017   317 	BLBC	R0,99$			; branch on error

                                     001A   318 

                     012D'CF     9F  001A   319 	PUSHAB	W^QUEU_L_BITLIS		; bit list word

                     0000'CF     9F  001E   320 	PUSHAB	W^SET$A_CLIWORK		; address of CLI work area

                     0000'CF     9F  0022   321 	PUSHAB	W^QUEU_A_GETQUAL	; get qualifiers

         08 BC            03     FB  0026   322 	CALLS	#3,@CLI$A_UTILSERV(AP)	; call CLI

            50       0000'CF     D0  002A   323 	MOVL	W^SET$L_STATUS,R0	; load status code

            5B            50     E9  002F   324 	BLBC	R0,99$			; branch on error

                                     0032   325 

                                     0032   326 

                                     0032   327 ;

                                     0032   328 ; check for any conflicts

                                     0032   329 ;

                                     0032   330 

       012D'CF            03     E0  0032   331 	BBS	#QUEU_V_ENTR,W^QUEU_L_BITLIS,10$

                          0F         0037       

                                     0038   332 					; branch if option specified

                 00000000'8F     DD  0038   333 	PUSHL	#SET$_JOBIDREQ		; message code

                          00     DD  003E   334 	PUSHL	#0			; no parameter list

       0000'CF            02     FB  0040   335 	CALLS	#2,W^SHOW$PRINT_MSG	; issue message

                          46     11  0045   336 	BRB	99$			; exit

                                     0047   337 

                                     0047   338 ;

                                     0047   339 ; create a temporary mailbox for symbiont manager response

                                     0047   340 ;

                                     0047   341 

                                     0047   342 10$:

                                     0047   343 	$CREMBX_S	CHAN=W^QUEU_W_MBXCHAN

            30            50     E9  005A   344 	BLBC	R0,99$			; exit on error

                                     005D   345 

                                     005D   346 ;

                                     005D   347 ; send an ALTER request to the symbiont manager

                                     005D   348 ;

                                     005D   349 

                                     005D   350 20$:

       0145'CF            14     D1  005D   351 	CMPL	#QUEU_K_BUFLEN,W^QUEU_Q_BUFDESC

                                     0062   352 					; has any option been specified

                          06     13  0062   353 	BEQLU	30$			; branch if no option specified

                          002C   30  0064   354 	BSBW	SEND_SYMBIONT		; send message to symbiont manager

            13            50     E9  0067   355 	BLBC	R0,90$			; exit on error

                                     006A   356 

                                     006A   357 ;

                                     006A   358 ; send RELEASE request to symbiont manager if necessary

                                     006A   359 ;

                                     006A   360 30$:

       012D'CF            09     E1  006A   361 	BBC	#QUEU_V_RELE,W^QUEU_L_BITLIS,90$

                          0D         006F       

                                     0070   362 					; exit if release option not specified

       014D'CF            0F     B0  0070   363 	MOVW	#SMR$K_RELEASE,W^QUEU_A_BUFFER

                                     0075   364 					; set up RELEASE request

       0145'CF            14     B0  0075   365 	MOVW	#QUEU_K_BUFLEN,W^QUEU_Q_BUFDESC

                                     007A   366 					; clear all option data

                          0016   30  007A   367 	BSBW	SEND_SYMBIONT		; and send message

                                     007D   368 

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   8

X0101           SET$QUEUE                                                                                                        (5)



                                     007D   369 ;

                                     007D   370 ; exits

                                     007D   371 ;

                                     007D   372 

                                     007D   373 90$:

                          01     BB  007D   374 	PUSHR	#^M<R0>			; save status code

                                     007F   375 	$DASSGN_S	CHAN=W^QUEU_W_MBXCHAN

                                     008B   376 					; deassign temporary mailbox

                          01     BA  008B   377 	POPR	#^M<R0>			; restore status code

                                     008D   378 

                                     008D   379 ;

                                     008D   380 99$:

       0000'CF            50     D0  008D   381 	MOVL	R0,W^SET$L_STATUS	; store return code

                                 04  0092   382 	RET				; and exit

                                     0093   383 

                                     0093   384 

                                     0093   385 ;

                                     0093   386 ; SEND_SYMBIONT	-	subroutine to send a message to the symbiont manager

                                     0093   387 ;			and interpret the response

                                     0093   388 ;

                                     0093   389 ;	input:	QUEU_Q_BUFDESC  describes the message buffer ready to b e sent

                                     0093   390 ;

                                     0093   391 ;	output:	R0 = 1 : success

                                     0093   392 ;		     0 : failure

                                     0093   393 ;

                                     0093   394 

                                     0093   395 SEND_SYMBIONT:

                                     0093   396 

                                     0093   397 ;

                                     0093   398 ; send message to symbiont manager

                                     0093   399 ;

                                     0093   400 

                                     0093   401 	$SNDSMB_S	W^QUEU_Q_BUFDESC,W^QUEU_W_MBXCHAN

                                     00A2   402 					; send message to symbiont manager

            01            50     E8  00A2   403 	BLBS	R0,10$			; branch on success

                                 05  00A5   404 	RSB				; return

                                     00A6   405 

                                     00A6   406 ;

                                     00A6   407 ; read symbiont manager's response from mailbox

                                     00A6   408 ;

                                     00A6   409 

                                     00A6   410 10$:

                                     00A6   411 	$QIOW_S		#0,W^QUEU_W_MBXCHAN,#IO$_READVBLK,-

                                     00A6   412 			W^QUEU_Q_IOSB,,,@W^SHOW$GQ_OUT_DSC+4,W^SHOW$GQ_OUT_DSC

                                     00CB   413 					; read symbiont manager response

            25            50     E9  00CB   414 	BLBC	R0,20$			; exit on error

            50       013D'CF     3C  00CE   415 	MOVZWL	W^QUEU_Q_IOSB,R0	; load status of QIO request

            1D            50     E9  00D3   416 	BLBC	R0,20$			; exit on error

            51       0004'CF     D0  00D6   417 	MOVL	W^SHOW$GQ_OUT_DSC+4,R1	; point to buffer just read

            50         04 A1     D0  00DB   418 	MOVL	4(R1),R0		; read potential symbiont manager's response

            20            61     B1  00DF   419 	CMPW	(R1),#MSG$_SMBRSP	; is it really a symbiont manager's response ?

                          10     13  00E2   420 	BEQLU	30$			; branch if from symbiont manager

                 00000000'8F     DD  00E4   421 	PUSHL	#SET$_MSGNOTSYM		; message was not from symbiont manager

                          00     DD  00EA   422 	PUSHL	#0			; empty parameter list

       0000'CF            02     FB  00EC   423 	CALLS	#2,W^SHOW$PRINT_MSG

                          01     11  00F1   424 	BRB	30$	; ****** UNTIL SYMBIONT MANAGER FIXED !!

                                     00F3   425 20$:

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page   9

X0101           SET$QUEUE                                                                                                        (5)



                                 05  00F3   426 	RSB				; return

                                     00F4   427 

                                     00F4   428 ;

                                     00F4   429 ; treat error returns from symbiont manager

                                     00F4   430 ;

                                     00F4   431 

                                     00F4   432 30$:

            01            50     E9  00F4   433 	BLBC	R0,35$			; branch on error

                                 05  00F7   434 	RSB				; return

                                     00F8   435 35$:

                          01     BB  00F8   436 	PUSHR	#^M<R0>			; save status code

            50            07     CB  00FA   437 	BICL3	#7,R0,R1		; clear error severity

                          51         00FD       

   00048040 8F            51     D1  00FE   438 	CMPL	R1,#JBC$_NOSUCHJOB&^C7	; test for job not found

                          26     12  0105   439 	BNEQU	40$			; branch if not this one

                     0150'CF     DF  0107   440 	PUSHAL	W^QUEU_T_QUEUENAM+1	; on stack

            7E       014F'CF     9A  010B   441 	MOVZBL	W^QUEU_T_QUEUENAM,-(SP)	; build descriptor of queue name

                          6E     DF  0110   442 	PUSHAL	(SP)			; push descriptor

            7E   0000015F'EF     3C  0112   443 	MOVZWL	QUEU_W_JOBID,-(SP)	; job id

                          02     DD  0119   444 	PUSHL	#2			; number of arguments

                 007711A2 8F     DD  011B   445 	PUSHL	#SET$_NOJOBID		; shared message id

   00000000'EF            04     FB  0121   446 	CALLS	#4,LIB$SIGNAL		; go issue message

            5E            08     C0  0128   447 	ADDL2	#2*4,SP			; clean stack

                          33     11  012B   448 	BRB	80$			; 

                                     012D   449 40$:

   00048038 8F            51     D1  012D   450 	CMPL	R1,#JBC$_NOSUCHQUE&^C7	; test for nonexistant queue

                          1F     12  0134   451 	BNEQU	50$			; branch if not this error

                     0150'CF     DF  0136   452 	PUSHAL	W^QUEU_T_QUEUENAM+1	; on stack

            7E       014F'CF     9A  013A   453 	MOVZBL	W^QUEU_T_QUEUENAM,-(SP)	; build descriptor of queue name

                          6E     DF  013F   454 	PUSHAL	(SP)			; push descriptor

                          01     DD  0141   455 	PUSHL	#1			; number of arguments

                 0077119A 8F     DD  0143   456 	PUSHL	#SET$_NOQUEUE		; message id

   00000000'EF            03     FB  0149   457 	CALLS	#3,LIB$SIGNAL		; issue message

            5E            08     C0  0150   458 	ADDL2	#2*4,SP			; clean stack

                          0B     11  0153   459 	BRB	80$

                                     0155   460 50$:

                          00     DD  0155   461 	PUSHL	#0			; no arguments

                          50     DD  0157   462 	PUSHL	R0			; code

   00000000'EF            02     FB  0159   463 	CALLS	#2,LIB$SIGNAL		; signal error

                                     0160   464 80$:

                          01     BA  0160   465 	POPR	#^M<R0>			; restore status code

            50   10000000 8F     C8  0162   466 	BISL	#STS$M_INHIB_MSG,R0	; inhibit further message output

                                     0169   467 90$:

                                 05  0169   468 	RSB				; and return from subroutine

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  10

X0101           SET$QUEUE                                                                                                        (7)



                                     016A   470 

                                     016A   471 	.SBTTL	 CLI action routines

                                     016A   472 ;++

                                     016A   473 ; FUNCTIONAL DESCRIPTION:

                                     016A   474 ;

                                     016A   475 ;	This section groups all CLI parameter and qualifier action

                                     016A   476 ;	routine :

                                     016A   477 ;	The latter perform the following tasks:

                                     016A   478 ;

                                     016A   479 ;	1) any necessary checks are performed on the qualifier value

                                     016A   480 ;

                                     016A   481 ;	2) the symbiont manager option corresponding to the qualifier

                                     016A   482 ;	is appended to the request buffer.

                                     016A   483 ;

                                     016A   484 ;	After all qualifiers have been parsed, the request buffer is

                                     016A   485 ;	ready to be sent.

                                     016A   486 ;

                                     016A   487 ;

                                     016A   488 ; CALLING SEQUENCE:

                                     016A   489 ;

                                     016A   490 ;	CALLS

                                     016A   491 ;

                                     016A   492 ; INPUT PARAMETERS:

                                     016A   493 ;

                                     016A   494 ;	NONE

                                     016A   495 ;

                                     016A   496 ; IMPLICIT INPUTS:

                                     016A   497 ;

                                     016A   498 ;	NONE

                                     016A   499 ;

                                     016A   500 ; OUTPUT PARAMETERS:

                                     016A   501 ;

                                     016A   502 ;	NONE

                                     016A   503 ;

                                     016A   504 ; IMPLICIT OUTPUTS:

                                     016A   505 ;

                                     016A   506 ;	NONE

                                     016A   507 ;

                                     016A   508 ; COMPLETION CODES:

                                     016A   509 ;

                                     016A   510 ;	SET$L_STATUS is set by any action routine encountering an error.

                                     016A   511 ;

                                     016A   512 ;	As it is initialized to a success code, and as action routines 

                                     016A   513 ;	do not store in it on success, it serves to signal that at

                                     016A   514 ;	least one error has been encountered by an action routine.

                                     016A   515 ;

                                     016A   516 ; SIDE EFFECTS:

                                     016A   517 ;

                                     016A   518 ;	NONE

                                     016A   519 ;

                                     016A   520 ;--

                                     016A   521 

                                 0000016A   522 	.PSECT	SET$CODE	BYTE,RD,NOWRT,EXE

                                     016A   523 

                                     016A   524 

                                     016A   525 ;

                                     016A   526 ; QUEU_AFTE_TRUE	-  action routine for /AFTER qualifier

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  11

X0101           CLI action routines                                                                                              (7)



                                     016A   527 ;

                                     016A   528 

                                     016A   529 QUEU_AFTE_TRUE:

                               0004  016A   530 	.WORD	^M<R2>

            51         04 AC     D0  016C   531 	MOVL	4(AP),R1		; address of qualifier descriptor block

       0135'CF         04 A1     7D  0170   532 	MOVQ	CLI$Q_QDVALDESC(R1),W^QUEU_Q_VALDESC

                                     0176   533 					; save key word value descriptor

                          7E     7C  0176   534 	CLRQ	-(SP)			; make room for quadword

                          6E     7F  0178   535 	PUSHAQ	(SP)			; address of resulting quadword

                       04 A1     7F  017A   536 	PUSHAQ	CLI$Q_QDVALDESC(R1)	; address of value string descriptor

   00000000'EF            02     FB  017D   537 	CALLS	#2,LIB$CVT_TIME	; convert ascii time to quadword

            0F            50     E9  0184   538 	BLBC	R0,10$			; exit on error

            50            20     9A  0187   539 	MOVZBL	#SMO$K_RLSTIM,R0	; symbiont manager option code

                          0187   30  018A   540 	BSBW	W^INSERT_NOVALOPT	; insert option code

            82            8E     7D  018D   541 	MOVQ	(SP)+,(R2)+		; insert quadword 

       0145'CF            08     C0  0190   542 	ADDL2	#QUAD,W^QUEU_Q_BUFDESC	; update request buffer descriptor

                                 04  0195   543 	RET				; sucess

                                     0196   544 10$:

            50   00771192 8F     D0  0196   545 	MOVL	#SET$_BADTIME,R0		; error code

                          0106   31  019D   546 	BRW	SIGNAL_ERROR		; branch to common error exit

                                     01A0   547 

                                     01A0   548 ;

                                     01A0   549 ; QUEU_JOB__TRUE	-  action routine for /JOB_COUNT qualifier

                                     01A0   550 ;

                                     01A0   551 

                                     01A0   552 QUEU_JOB__TRUE:

                               0004  01A0   553 	.WORD	^M<R2>

                          0121   30  01A2   554 	BSBW	CONVERT_VALUE		; convert value

            0D            50     E9  01A5   555 	BLBC	R0,10$			; exit on error

                          0143   30  01A8   556 	BSBW	CHECK_BYTE		; check range

            07            50     E9  01AB   557 	BLBC	R0,10$			; exit if out of range

            50            23     9A  01AE   558 	MOVZBL	#SMO$K_JOBCOPY,R0	; symbiont manager option code

                          014C   30  01B1   559 	BSBW	INSERT_BYTOPT		; insert option

                                 04  01B4   560 	RET				; success

                                     01B5   561 10$:

            50   00771162 8F     D0  01B5   562 	MOVL	#SET$_BADCOPIES,R0	; error code

                          00E7   31  01BC   563 	BRW	SIGNAL_ERROR		; branch to common error exit

                                     01BF   564 

                                     01BF   565 ;

                                     01BF   566 ; QUEU_ENTR_TRUE	-  action routine for /ENTRY qualifier

                                     01BF   567 ;

                                     01BF   568 

                                     01BF   569 QUEU_ENTR_TRUE:

                               0004  01BF   570 	.WORD	^M<R2>

                          0102   30  01C1   571 	BSBW	CONVERT_VALUE		; convert value

            06            50     E9  01C4   572 	BLBC	R0,10$			; exit on error

       015F'CF            51     B0  01C7   573 	MOVW	R1,W^QUEU_W_JOBID	; store job id

                                 04  01CC   574 	RET				; success

                                     01CD   575 10$:

            50   00771172 8F     D0  01CD   576 	MOVL	#SET$_BADJOBID,R0	; error code

                          00CF   31  01D4   577 	BRW	SIGNAL_ERROR		; branch to common error exit

                                     01D7   578 

                                     01D7   579 ;

                                     01D7   580 ; QUEU_FORM_TRUE	-  action routine for /FORMS qualifier

                                     01D7   581 ;

                                     01D7   582 

                                     01D7   583 QUEU_FORM_TRUE:

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  12

X0101           CLI action routines                                                                                              (7)



                               0004  01D7   584 	.WORD	^M<R2>

            51         04 AC     D0  01D9   585 	MOVL	4(AP),R1		; address of qualifier descriptor block

       0135'CF         04 A1     7D  01DD   586 	MOVQ	CLI$Q_QDVALDESC(R1),W^QUEU_Q_VALDESC

                                     01E3   587 					; save key word value descriptor

                       04 A1     7F  01E3   588 	PUSHAQ	CLI$Q_QDVALDESC(R1)	; address of value descriptor 

   00000000'EF            01     FB  01E6   589 	CALLS	#1,LIB$CNVCLIFORMS	; request conversion

            07            50     E9  01ED   590 	BLBC	R0,10$			; branch on error

            50            24     3C  01F0   591 	MOVZWL	#SMO$K_FORMTYPE,R0	; symbiont manager option code

                          010A   30  01F3   592 	BSBW	INSERT_BYTOPT		; insert option

                                 04  01F6   593 	RET				; success

                                     01F7   594 10$:

            50   0077116A 8F     D0  01F7   595 	MOVL	#SET$_BADFORM,R0	; error code

                          00A5   31  01FE   596 	BRW	SIGNAL_ERROR		; branch to common error exit

                                     0201   597 

                                     0201   598 ;

                                     0201   599 ; QUEU_HOLD_TRUE	-  action routine for /HOLD qualifier

                                     0201   600 ;

                                     0201   601 

                                     0201   602 QUEU_HOLD_TRUE:

                               0004  0201   603 	.WORD	^M<R2>

            50            21     9A  0203   604 	MOVZBL	#SMO$K_HOLD,R0		; symbiont manager option code

                          010B   30  0206   605 	BSBW	INSERT_NOVALOPT		; insert option

                                 04  0209   606 	RET				; return

                                     020A   607 

                                     020A   608 

                                     020A   609 ;

                                     020A   610 ; QUEU_LOWE_TRUE	-  action routine for /LOWER qualifier

                                     020A   611 ;

                                     020A   612 

                                     020A   613 QUEU_LOWE_TRUE:

                               0004  020A   614 	.WORD	^M<R2>

            50            25     9A  020C   615 	MOVZBL	#SMO$K_LOWER,R0		; symbiont manager option code

                          0102   30  020F   616 	BSBW	INSERT_NOVALOPT		; insert option

                                 04  0212   617 	RET				; return

                                     0213   618 

                                     0213   619 ;

                                     0213   620 ; QUEU_LOWE_FALS	-  action routine for /NOLOWER qualifier

                                     0213   621 ;

                                     0213   622 

                                     0213   623 QUEU_LOWE_FALS:

                               0004  0213   624 	.WORD	^M<R2>

            50            28     9A  0215   625 	MOVZBL	#SMO$K_NOLOWER,R0	; symbiont manager option code

                          00F9   30  0218   626 	BSBW	INSERT_NOVALOPT		; insert option

                                 04  021B   627 	RET				; return

                                     021C   628 

                                     021C   629 ;

                                     021C   630 ; QUEU_NAME_TRUE	-  action routine for /NAME qualifier

                                     021C   631 ;

                                     021C   632 

                                     021C   633 QUEU_NAME_TRUE:

                               007C  021C   634 	.WORD	^M<R2,R3,R4,R5,R6>

            53         04 AC     D0  021E   635 	MOVL	4(AP),R3		; address of qualifier descriptor block

       0135'CF         04 A3     7D  0222   636 	MOVQ	CLI$Q_QDVALDESC(R3),W^QUEU_Q_VALDESC

                                     0228   637 					; save descriptor for possible error message

            56         04 A3     3C  0228   638 	MOVZWL	CLI$W_QDVALSIZ(R3),R6	; get length of value string

                          1B     13  022C   639 	BEQLU	10$			; exit if null string

            08            56     D1  022E   640 	CMPL	R6,#MAX_JOBNAME_LEN-1	; test for maximum length

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  13

X0101           CLI action routines                                                                                              (7)



                                     0231   641 					; ( including one byte for count)

                          16     1A  0231   642 	BGTRU	10$			; branch on too big

            50            27     9A  0233   643 	MOVZBL	#SMO$K_JOBNAME,R0	; symbiont manager option code

                          00DB   30  0236   644 	BSBW	INSERT_NOVALOPT		; insert option code

            82            56     90  0239   645 	MOVB	R6,(R2)+		; insert length

         08 B3            56     28  023C   646 	MOVC3	R6,@CLI$Q_QDVALDESC+4(R3),(R2)

                          62         0240       

                                     0241   647 					; copy job name

                          56     D6  0241   648 	INCL	R6			; add one for counted string

       0145'CF            56     C0  0243   649 	ADDL2	R6,W^QUEU_Q_BUFDESC	; update buffer descriptor

                                 04  0248   650 	RET				; success

                                     0249   651 10$:

            50   0077117A 8F     D0  0249   652 	MOVL	#SET$_BADJOBNAME,R0	; error code

                          0053   31  0250   653 	BRW	SIGNAL_ERROR		; branch to common error exit

                                     0253   654 

                                     0253   655 ;

                                     0253   656 ; QUEU_PRIO_TRUE	-  action routine for /PRIORITY qualifier

                                     0253   657 ;

                                     0253   658 

                                     0253   659 QUEU_PRIO_TRUE:

                               0004  0253   660 	.WORD	^M<R2>

                          006E   30  0255   661 	BSBW	CONVERT_VALUE		; convert value

            12            50     E9  0258   662 	BLBC	R0,10$			; exit on error

                          50     D4  025B   663 	CLRL	R0			; assume failure

                          51     D5  025D   664 	TSTL	R1			; check for negative

                          0C     19  025F   665 	BLSS	10$			; branch if negative

            1F            51     D1  0261   666 	CMPL	R1,#31			; check maximum

                          07     18  0264   667 	BGEQ	10$			; branch if greater

            50            22     9A  0266   668 	MOVZBL	#SMO$K_JOBPRI,R0	; symbiont manager option code

                          0094   30  0269   669 	BSBW	INSERT_BYTOPT		; insert option

                                 04  026C   670 	RET				; success

                                     026D   671 10$:

            50   00771182 8F     D0  026D   672 	MOVL	#SET$_BADPRTY,R0		; error code

                          002F   31  0274   673 	BRW	SIGNAL_ERROR		; branch to common error exit

                                     0277   674 

                                     0277   675 ;

                                     0277   676 ; QUEU_QNAM_PRES 	-	Action routine if a queue name is present

                                     0277   677 ;

                                     0277   678 

                                     0277   679 QUEU_QNAM_PRES:

                               007C  0277   680 	.WORD	^M<R2,R3,R4,R5,R6>

            53         04 AC     D0  0279   681 	MOVL	4(AP),R3		; address of parameter descriptor block

            56         08 A3     3C  027D   682 	MOVZWL	CLI$W_RQSIZE(R3),R6	; get length of queue name

                          18     13  0281   683 	BEQLU	5$			; exit if null string

       0135'CF         08 A3     7D  0283   684 	MOVQ	CLI$Q_RQDESC(R3),W^QUEU_Q_VALDESC

                                     0289   685 					; save descriptor for possible error message

            0F            56     D1  0289   686 	CMPL	R6,#MAX_QNAM_LEN-1	; test for maximum

                          0E     1A  028C   687 	BGTRU	10$			; branch if too big

            52       014F'CF     DE  028E   688 	MOVAL	W^QUEU_T_QUEUENAM,R2	; address of queue name field in buffer

            82            56     90  0293   689 	MOVB	R6,(R2)+		; insert count

         0C B3            56     28  0296   690 	MOVC3	R6,@CLI$Q_RQDESC+4(R3),(R2)

                          62         029A       

                                     029B   691 					; copy string

                                     029B   692 5$:

                                 04  029B   693 	RET				; success

                                     029C   694 10$:

            50   0077118A 8F     D0  029C   695 	MOVL	#SET$_BADQNAME,R0	; error code

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  14

X0101           CLI action routines                                                                                              (7)



                          0000   31  02A3   696 	BRW	SIGNAL_ERROR		; branch to common error exit

                                     02A6   697 

                                     02A6   698 ;

                                     02A6   699 ; common error exit for all action routines

                                     02A6   700 ;

                                     02A6   701 ;	input:	4(AP) = address of qualifier descriptor block

                                     02A6   702 ;		 R0   = error code

                                     02A6   703 ;

                                     02A6   704 

                                     02A6   705 SIGNAL_ERROR:

            51         04 AC     D0  02A6   706 	MOVL	4(AP),R1		; get address of qualifier descriptor block

                                     02AA   707 ;%%%	$PUTMSG_S	-		; issue error message

                                     02AA   708 ;%%%		<R0,#1,CLI$Q_QDVALDESC(R1)>

                     0135'CF     7F  02AA   709 	PUSHAQ	W^QUEU_Q_VALDESC	; saved descriptor to value string

                          01     DD  02AE   710 	PUSHL	#1			; number of arguments

                          50     DD  02B0   711 	PUSHL	R0			; code

   00000000'EF            03     FB  02B2   712 	CALLS	#3,LIB$SIGNAL		; signal error condition

                                     02B9   713 					; give value descriptor as argument

            50   10000000 8F     C8  02B9   714 	BISL	#STS$M_INHIB_MSG,R0	; inhibit further message output

       0000'CF            50     D0  02C0   715 	MOVL	R0,W^SET$L_STATUS	; record error code for later test

                                 04  02C5   716 	RET				; return from action routine

                                     02C6   717 

                                     02C6   718 ;

                                     02C6   719 ; CONVERT_VALUE	- subroutine to convert a qualifier value

                                     02C6   720 ;

                                     02C6   721 ;	input	= 4(AP)	: address of qualifier descriptor block

                                     02C6   722 ;

                                     02C6   723 ;	output	= R1	: converted value (if success)

                                     02C6   724 ;		  R0	: 1 = success

                                     02C6   725 ;			  0 = failure

                                     02C6   726 ;

                                     02C6   727 ;	scratch	= R2

                                     02C6   728 ;

                                     02C6   729 

                                     02C6   730 CONVERT_VALUE:

            52         04 AC     D0  02C6   731 	MOVL	4(AP),R2		; get address of qualifier descriptor block

                          50     7C  02CA   732 	CLRQ	R0			; assume failure

                       04 A2     B5  02CC   733 	TSTW	CLI$W_QDVALSIZ(R2)	; is value present ?

                          1C     13  02CF   734 	BEQLU	10$			; branch if no value

       0135'CF         04 A2     7D  02D1   735 	MOVQ	CLI$Q_QDVALDESC(R2),W^QUEU_Q_VALDESC

                                     02D7   736 					; save descriptor to value beeing parsed

                          62     DF  02D7   737 	PUSHAL	(R2)			; address of qualifier descriptor block

                     0000'CF     DF  02D9   738 	PUSHAL	W^SET$A_CLIWORK		; CLI work space

                     0038'CF     DF  02DD   739 	PUSHAL	W^QUEU_A_NUMERVAL	; request numeric conversion

         08 BC            03     FB  02E1   740 	CALLS	#3,@CLI$A_UTILSERV(AP)	; call CLI

            05            50     E9  02E5   741 	BLBC	R0,10$			; branch on error

            51       0044'CF     D0  02E8   742 	MOVL	W^CLI$L_RQVALU+QUEU_A_NUMERVAL,R1

                                     02ED   743 					; return value

                                     02ED   744 10$:

                                 05  02ED   745 	RSB				; and exit

                                     02EE   746 

                                     02EE   747 ;

                                     02EE   748 ; CHECK_BYTE	- subroutine to check range of one byte

                                     02EE   749 ;

                                     02EE   750 ;	input:	R1 = value to test

                                     02EE   751 ;

                                     02EE   752 ;	output:	R0 = 1 : success

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  15

X0101           CLI action routines                                                                                              (7)



                                     02EE   753 ;		     0 : failure

                                     02EE   754 ;

                                     02EE   755 

                                     02EE   756 CHECK_BYTE:

                          50     D4  02EE   757 	CLRL	R0			; assume failure

                          51     D5  02F0   758 	TSTL	R1			; check for negative

                          0B     19  02F2   759 	BLSS	10$			; branch if negative

   00000100 8F            51     D1  02F4   760 	CMPL	R1,#ONEBYTE		; test maximum

                          02     1A  02FB   761 	BGTRU	10$			; branch on greater

                          50     D6  02FD   762 	INCL	R0			; signal success

                                     02FF   763 10$:

                                 05  02FF   764 	RSB

                                     0300   765 

                                     0300   766 ;

                                     0300   767 ; INSERT_BYTOPT	-	subroutine to insert a symbiont manager option

                                     0300   768 ;			requiring a byte as data into the symbiont manager

                                     0300   769 ;			request buffer

                                     0300   770 ;

                                     0300   771 ;	input:	R0 = option code

                                     0300   772 ;		R1 = value

                                     0300   773 ;

                                     0300   774 ;	output: R2 = points to end of symbiont manager descriptor buffer

                                     0300   775 ;

                                     0300   776 

                                     0300   777 INSERT_BYTOPT:

       0149'CF       0145'CF     C1  0300   778 	ADDL3	W^QUEU_Q_BUFDESC,W^QUEU_Q_BUFDESC+4,R2

                          52         0307       

                                     0308   779 					; compute start of free space

            82            50     90  0308   780 	MOVB	R0,(R2)+		; insert option

            82            51     90  030B   781 	MOVB	R1,(R2)+		; insert byte data

       0145'CF            02     C0  030E   782 	ADDL2	#2,W^QUEU_Q_BUFDESC	; update request buffer descriptor

                                 05  0313   783 	RSB

                                     0314   784 

                                     0314   785 ;

                                     0314   786 ; INSERT_NOVALOPT	-	subroutine to insert an option whitout

                                     0314   787 ;				a value into the symbiont manager request

                                     0314   788 ;				buffer

                                     0314   789 ;

                                     0314   790 ;	input:	R0 = option code

                                     0314   791 ;

                                     0314   792 ;	output: R2 = points to end of symbiont manager request buffer

                                     0314   793 ;

                                     0314   794 

                                     0314   795 INSERT_NOVALOPT:

       0149'CF       0145'CF     C1  0314   796 	ADDL3	W^QUEU_Q_BUFDESC,W^QUEU_Q_BUFDESC+4,R2

                          52         031B       

                                     031C   797 					; compute start of free space

            82            50     90  031C   798 	MOVB	R0,(R2)+		; insert option code

                     0145'CF     D6  031F   799 	INCL	W^QUEU_Q_BUFDESC		; update request buffer descriptor

                                 05  0323   800 	RSB

                                     0324   801 

                                     0324   802 	.END

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  16

SYMBOL TABLE                                                                                                                     (7)



$$$.           = 00000004            CLI$K_QUALDEF    00000014            CLI$V_EXPNAM   = 00000002            

$$T1           = 00000001            CLI$K_REQDESC    0000001C            CLI$V_INDIRECT = 00000004            

$CLI.          = 00000114 R     03   CLI$K_STQE_AFTE  ********   X   03   CLI$V_KEYVALU  = 00000001            

$CLI..         = 0000012C R     03   CLI$K_STQE_ENTR  ********   X   03   CLI$V_LASTVAL  = 00000000            

BIT...         = 00000045            CLI$K_STQE_FORM  ********   X   03   CLI$V_MOREINP  = 00000002            

CHECK_BYTE       000002EE R     04   CLI$K_STQE_HOLD  ********   X   03   CLI$V_MOREVALS = 00000000            

CLI$A_ABSACT     00000014            CLI$K_STQE_JOB_  ********   X   03   CLI$V_PARMDEF  = 00000003            

CLI$A_ERRACT     00000004            CLI$K_STQE_LOWE  ********   X   03   CLI$V_PARMPRS  = 00000000            

CLI$A_FLSACT     00000010            CLI$K_STQE_NAME  ********   X   03   CLI$V_PARMREQ  = 00000000            

CLI$A_IMGFILED   00000010            CLI$K_STQE_PRIO  ********   X   03   CLI$V_PRITYP   = 00000004            

CLI$A_IMGHDADR   0000000C            CLI$K_STQE_RELE  ********   X   03   CLI$V_QDEXPA   = 00000002            

CLI$A_PROGXFER   00000004            CLI$K_UTILOPR  = 00000000            CLI$V_QDUSRV   = 00000001            

CLI$A_PRSACT     00000010            CLI$K_VALCONV  = 00000004            CLI$V_QUALEXP  = 00000001            

CLI$A_QDVALADR   00000008            CLI$K_WORKAREA   00000080            CLI$V_QUALTRU  = 00000000            

CLI$A_QUALST     00000018            CLI$L_CLIFLAG    00000018            CLI$V_SUBTYP   = 00000000            

CLI$A_RQADDR     0000000C            CLI$L_INIARGCNT  00000000            CLI$V_TRMVRBLV = 00000008            

CLI$A_TRUACT     0000000C            CLI$L_LINKFLAG   00000014            CLI$V_VERIFY   = 00000002            

CLI$A_UTILSERV   00000008            CLI$L_RQVALU     0000000C            CLI$V_VFYINP   = 00000005            

CLI$B_BITNUM     00000001            CLI$L_USRVAL     00000014            CLI$W_QDVALSIZ   00000004            

CLI$B_QDBLKSIZ   00000000            CLI$L_WORKAREA   00000000            CLI$W_RQSIZE     00000008            

CLI$B_QDCODE     00000001            CLI$M_ABSADR   = 00000002            CLI$W_SERVCOD    00000001            

CLI$B_QDFLGS     00000002            CLI$M_ALLOCCUR = 00000001            CONVERT_VALUE    000002C6 R     04   

CLI$B_QDSTAT     00000003            CLI$M_BATCH    = 00000008            GBL...         = 00000000            

CLI$B_RQFLGS     00000002            CLI$M_CONCATINP= 00000002            INSERT_BYTOPT    00000300 R     04   

CLI$B_RQINDX     00000001            CLI$M_DBGEXCP  = 00010000            INSERT_NOVALOPT  00000314 R     04   

CLI$B_RQSTAT     00000003            CLI$M_DBGTRU   = 00000002            IO$_READVBLK     ********   X   04   

CLI$B_RQTYPE     00000000            CLI$M_DEBUG    = 00000001            JBC$_ACMINVOP  = 00048088            

CLI$C_QDBITS     00000014            CLI$M_DUMMY    = 00000002            JBC$_ACNTOPN   = 00048478            

CLI$C_QUALDEF    00000014            CLI$M_EXPNAM   = 00000004            JBC$_ACNTWRT   = 00048480            

CLI$C_REQDESC    0000001C            CLI$M_INDIRECT = 00000010            JBC$_ENTQUE    = 000484A8            

CLI$C_WORKAREA   00000080            CLI$M_KEYVALU  = 00000002            JBC$_ILLDEVNAM = 00048000            

CLI$K_ASCIIVAL = 00000041            CLI$M_LASTVAL  = 00000001            JBC$_ILLDEVTYP = 00048008            

CLI$K_CLISERV  = 00000005            CLI$M_MOREINP  = 00000004            JBC$_ILLFILNAM = 00048010            

CLI$K_ENDPRM1  = 00000030            CLI$M_MOREVALS = 00000001            JBC$_ILLQUENAM = 00048018            

CLI$K_ENDPRM2  = 00000031            CLI$M_PARMDEF  = 00000008            JBC$_INPASGN   = 00048488            

CLI$K_ENDPRM3  = 00000032            CLI$M_PARMPRS  = 00000001            JBC$_INPREAD   = 00048490            

CLI$K_ENDPRM4  = 00000033            CLI$M_PARMREQ  = 00000001            JBC$_INVMSG    = 00048418            

CLI$K_FILSPEC  = 00000044            CLI$M_QDEXPA   = 00000004            JBC$_INVSCT    = 00048468            

CLI$K_GETCMD   = 00000001            CLI$M_QDUSRV   = 00000002            JBC$_JOBABORT  = 00048080            

CLI$K_GETOPT   = 00000003            CLI$M_QUALEXP  = 00000002            JBC$_JOBCRD    = 000484B0            

CLI$K_GETQUAL  = 00000002            CLI$M_QUALTRU  = 00000001            JBC$_LOSTREC   = 00048438            

CLI$K_INITPRS  = 00000000            CLI$M_TRMVRBLV = 00000300            JBC$_MBASGN    = 00048400            

CLI$K_INPSPEC  = 00000001            CLI$M_VERIFY   = 00000004            JBC$_MBDEAS    = 00048460            

CLI$K_INPUT1   = 00000010            CLI$M_VFYINP   = 00000020            JBC$_MBREAD    = 00048408            

CLI$K_INPUT2   = 00000011            CLI$Q_QDVALDESC  00000004            JBC$_MBSETAST  = 000484C8            

CLI$K_INPUT3   = 00000012            CLI$Q_RQDESC     00000008            JBC$_MBWRITE   = 000484D0            

CLI$K_INPUT4   = 00000013            CLI$S_PRITYP   = 00000004            JBC$_MULTREC   = 00048430            

CLI$K_KEYVAL   = 00000043            CLI$S_SUBTYP   = 00000004            JBC$_NOOPENJOB = 00048048            

CLI$K_KEYWORD  = 00000042            CLI$S_TRMVRBLV = 00000002            JBC$_NOPRIV    = 00048020            

CLI$K_NUMERVAL = 00000040            CLI$V_ABSADR   = 00000001            JBC$_NOQUEHDR  = 00048028            

CLI$K_OUTPUT1  = 00000020            CLI$V_ALLOCCUR = 00000000            JBC$_NOQUESPACE= 00048030            

CLI$K_OUTPUT2  = 00000021            CLI$V_BATCH    = 00000003            JBC$_NORMAL    = 00040001            

CLI$K_OUTPUT3  = 00000022            CLI$V_CONCATINP= 00000001            JBC$_NOSUCHJOB = 00048040            

CLI$K_OUTPUT4  = 00000023            CLI$V_DBGEXCP  = 00000010            JBC$_NOSUCHQUE = 00048038            

CLI$K_OUTSPEC  = 00000002            CLI$V_DBGTRU   = 00000001            JBC$_PASSCRD   = 000484B8            

CLI$K_PARDONE  = 00000003            CLI$V_DEBUG    = 00000000            JBC$_PRCREAT   = 00048410            

CLI$K_QDBITS     00000014            CLI$V_DUMMY    = 00000001            JBC$_PRINTOUT  = 000484E0            

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  17

SYMBOL TABLE                                                                                                                     (7)



JBC$_QUECNT    = 00048428            MSG$_XM_SHUTDN = 0000000C            SET$_JOBIDREQ    ********   X   04   

JBC$_QUEERR    = 00048458            ONEBYTE        = 00000100            SET$_MSGNOTSYM   ********   X   04   

JBC$_QUENOSTOP = 00048050            QUAD           = 00000008            SET$_NOJOBID   = 007711A2            

JBC$_QUEUPD    = 000484E8            QUEU_AFTE_TRUE   0000016A R     04   SET$_NOJOBNAME = 007711AA            

JBC$_SCTERR    = 00048450            QUEU_A_BUFFER    0000014D R     03   SET$_NOQUEUE   = 0077119A            

JBC$_SMINVOPR  = 00048058            QUEU_A_GETPARAM  0000001C R     03   SET$_TEXT      = 00771132            

JBC$_SMINVOPT  = 00048060            QUEU_A_GETQUAL   00000000 R     03   SHOW$GQ_OUT_DSC  ********   X   04   

JBC$_SMINVREQ  = 00048068            QUEU_A_NUMERVAL  00000038 R     03   SHOW$PRINT_MSG   ********   X   04   

JBC$_SMZEROJOB = 00048070            QUEU_A_QUALST    00000054 R     03   SHR$K_SHRDEF   = 00000001            

JBC$_SNDRESP   = 00048420            QUEU_ENTR_TRUE   000001BF R     04   SHR$_ABEND     = 000010D8            

JBC$_SYMBASN   = 00048440            QUEU_FORM_TRUE   000001D7 R     04   SHR$_ABENDD    = 000010E0            

JBC$_SYMBCRE   = 000484D8            QUEU_HOLD_TRUE   00000201 R     04   SHR$_ABENDT    = 000010E8            

JBC$_SYMBDSAB  = 00048078            QUEU_JOB__TRUE   000001A0 R     04   SHR$_APPENDEDB = 00001000            

JBC$_SYMBWRT   = 00048448            QUEU_K_BUFLEN  = 00000014            SHR$_APPENDEDR = 00001008            

JBC$_SYMDEL    = 00048470            QUEU_LOWE_FALS   00000213 R     04   SHR$_ATPC      = 00001158            

JBC$_UAFOPN    = 000484A0            QUEU_LOWE_TRUE   0000020A R     04   SHR$_BADBYTE   = 00001010            

JBC$_UNESYMMSG = 000484C0            QUEU_L_BITLIS    0000012D R     03   SHR$_BADCOPIES = 00001160            

JBC$_USERVAL   = 00048498            QUEU_M_AFTE    = 00000002            SHR$_BADDELIM  = 00001118            

LIB$CNVCLIFORMS  ********   X   04   QUEU_M_ENTR    = 00000008            SHR$_BADFIELD  = 00001018            

LIB$CVT_TIME     ********   X   04   QUEU_M_FORM    = 00000010            SHR$_BADFORM   = 00001168            

LIB$SIGNAL       ********   X   04   QUEU_M_HOLD    = 00000020            SHR$_BADJOBID  = 00001170            

MAX_JOBNAME_LEN= 00000009            QUEU_M_JOB_    = 00000004            SHR$_BADJOBNAME= 00001178            

MAX_QNAM_LEN   = 00000010            QUEU_M_LOWE    = 00000040            SHR$_BADKEY    = 00001108            

MSG$_ABOOPR    = 00000011            QUEU_M_NAME    = 00000080            SHR$_BADLOGIC  = 00001120            

MSG$_ABORT     = 00000030            QUEU_M_PRIO    = 00000100            SHR$_BADLOGICPC= 00001150            

MSG$_ACCRSP    = 00000021            QUEU_M_QNAM    = 00000001            SHR$_BADLONG   = 00001020            

MSG$_CONFIRM   = 00000031            QUEU_M_RELE    = 00000200            SHR$_BADPRTY   = 00001180            

MSG$_CONNECT   = 00000032            QUEU_NAME_TRUE   0000021C R     04   SHR$_BADQNAME  = 00001188            

MSG$_CRUNSOLIC = 00000002            QUEU_PRIO_TRUE   00000253 R     04   SHR$_BADTIME   = 00001190            

MSG$_DELPROC   = 00000003            QUEU_QNAM_PRES   00000277 R     04   SHR$_BADVALUE  = 00001110            

MSG$_DELSMB    = 00000014            QUEU_Q_BUFDESC   00000145 R     03   SHR$_BADWORD   = 00001028            

MSG$_DEVOFFLIN = 00000005            QUEU_Q_IOSB      0000013D R     03   SHR$_BEGIN     = 00001030            

MSG$_DEVONLIN  = 00000007            QUEU_Q_VALDESC   00000135 R     03   SHR$_BEGIND    = 00001038            

MSG$_DISCON    = 00000033            QUEU_T_QUEUENAM  0000014F R     03   SHR$_BEGINT    = 00001040            

MSG$_EXIT      = 00000034            QUEU_V_AFTE    = 00000001            SHR$_CLICB     = 00001048            

MSG$_INIOPR    = 00000010            QUEU_V_ENTR    = 00000003            SHR$_CLOSEDEL  = 00001218            

MSG$_INTMSG    = 00000035            QUEU_V_FORM    = 00000004            SHR$_CLOSEIN   = 00001050            

MSG$_OPREPLY   = 00000009            QUEU_V_HOLD    = 00000005            SHR$_CLOSEOUT  = 00001058            

MSG$_OPRQST    = 00000008            QUEU_V_JOB_    = 00000002            SHR$_CONFDEL   = 000011F8            

MSG$_PATHLOST  = 00000036            QUEU_V_LOWE    = 00000006            SHR$_COPIEDB   = 00001060            

MSG$_PROTOCOL  = 00000037            QUEU_V_NAME    = 00000007            SHR$_COPIEDR   = 00001068            

MSG$_REJECT    = 00000038            QUEU_V_PRIO    = 00000008            SHR$_CREATED   = 00001070            

MSG$_RESOPR    = 00000013            QUEU_V_QNAM    = 00000000            SHR$_DELETED   = 00001200            

MSG$_SCANBAD   = 00000028            QUEU_V_RELE    = 00000009            SHR$_DELINTERR = 00001240            

MSG$_SCANRSP   = 00000029            QUEU_W_JOBID     0000015F R     03   SHR$_DELVER    = 00001208            

MSG$_SMBDON    = 00000009            QUEU_W_MBXCHAN   00000131 R     03   SHR$_DIRTOOBUS = 00001220            

MSG$_SMBINI    = 00000008            SEND_SYMBIONT    00000093 R     04   SHR$_ENDED     = 00001078            

MSG$_SMBRSP    = 00000020            SET$A_CLIWORK    ********   X   04   SHR$_ENDEDD    = 00001080            

MSG$_SNDACC    = 0000000A            SET$L_STATUS     ********   X   04   SHR$_ENDEDT    = 00001088            

MSG$_SNDSMB    = 00000004            SET$QUEUE        00000000 RG    04   SHR$_FILNOTDEL = 000011F0            

MSG$_SUSOPR    = 00000012            SET$_BADCOPIES = 00771162            SHR$_FILNOTPUR = 00001230            

MSG$_THIRDPARTY= 00000039            SET$_BADFORM   = 0077116A            SHR$_FILPURGED = 00001250            

MSG$_TIMEOUT   = 0000003A            SET$_BADJOBID  = 00771172            SHR$_HASHCONCAT= 000011D8            

MSG$_TRMHANGUP = 00000006            SET$_BADJOBNAME= 0077117A            SHR$_HIGHVER   = 00001148            

MSG$_TRMUNSOLIC= 00000001            SET$_BADPRTY   = 00771182            SHR$_IDXCONCAT = 00001138            

MSG$_XM_ATTN   = 0000000D            SET$_BADQNAME  = 0077118A            SHR$_INCOMPAT  = 000011E0            

MSG$_XM_DATAVL = 0000000B            SET$_BADTIME   = 00771192            SHR$_NEWFILES  = 00001090            

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  18

SYMBOL TABLE                                                                                                                     (7)



SHR$_NOFILPURG = 00001228            SMO$K_NOTRMDEV = 0000004B            STS$V_FAC_SP   = 0000000F            

SHR$_NOJOBID   = 000011A0            SMO$K_PAGCNT   = 00000009            STS$V_INHIB_MSG= 0000001C            

SHR$_NOJOBNAME = 000011A8            SMO$K_PAGHDR   = 00000006            STS$V_MSG_NO   = 00000003            

SHR$_NOQUEUE   = 00001198            SMO$K_PARAMS   = 00000026            STS$V_SEVERITY = 00000000            

SHR$_NOTCMPLT  = 000011C0            SMO$K_REQUEUE  = 00000070            STS$V_SUCCESS  = 00000000            

SHR$_NOTCOPIED = 000011B8            SMO$K_RLSTIM   = 00000020            SYS$CREMBX       ********   X   04   

SHR$_NOVALUE   = 00001100            SMO$K_SPCCNT   = 00000062            SYS$DASSGN       ********   X   04   

SHR$_NOWILD    = 00001128            SMO$K_TOPOFILE = 00000061            SYS$QIOW         ********   X   04   

SHR$_OPENIN    = 00001098            SMO$K_TRMDEV   = 0000004A            SYS$SNDSMB       ********   X   04   

SHR$_OPENOUT   = 000010A0            SMR$K_ABORT    = 0000000E            

SHR$_OVERLAY   = 000010A8            SMR$K_ADDFIL   = 0000000A            

SHR$_PARSEFAIL = 00001248            SMR$K_ALTER    = 0000000D            

SHR$_PURGEVER  = 00001210            SMR$K_CLSJOB   = 0000000B            

SHR$_READERR   = 000010B0            SMR$K_CREJOB   = 00000009            

SHR$_RELCONCAT = 00001140            SMR$K_DELETE   = 00000001            

SHR$_REPLACED  = 000010B8            SMR$K_DETINIT  = 00000010            

SHR$_RMSERROR  = 000011C8            SMR$K_ENTER    = 00000008            

SHR$_SEARCHFAIL= 00001238            SMR$K_INITIAL  = 00000000            

SHR$_SYNTAX    = 000010F8            SMR$K_JUSTIFY  = 00000006            

SHR$_SYSERROR  = 000011B0            SMR$K_MERGE    = 00000004            

SHR$_SYSERRORPC= 000010F0            SMR$K_PAUSE    = 00000003            

SHR$_TEXT      = 00001130            SMR$K_REDIRECT = 00000005            

SHR$_UNXPCTSTS = 000011D0            SMR$K_RELEASE  = 0000000F            

SHR$_VALERR    = 000011E8            SMR$K_RMVJOB   = 0000000C            

SHR$_WILDCONCAT= 000010C0            SMR$K_START    = 00000002            

SHR$_WILDOUTVER= 000010C8            SMR$K_STOP     = 00000007            

SHR$_WRITEERR  = 000010D0            SMR$K_SYNCJOB  = 00000011            

SIGNAL_ERROR     000002A6 R     04   STS$K_ERROR    = 00000002            

SMO$K_BRSTPAG  = 00000002            STS$K_INFO     = 00000003            

SMO$K_COPIES   = 0000000A            STS$K_SEVERE   = 00000004            

SMO$K_CURFORM  = 00000040            STS$K_SUCCESS  = 00000001            

SMO$K_DEFBRST  = 00000046            STS$K_WARNING  = 00000000            

SMO$K_DEFFLAG  = 00000048            STS$M_CODE     = 00007FF8            

SMO$K_DELETE   = 00000001            STS$M_COND_ID  = 0FFFFFF8            

SMO$K_DETJOB   = 00000043            STS$M_CONTROL  = F0000000            

SMO$K_DISWAP   = 0000004E            STS$M_CUST_DEF = 08000000            

SMO$K_DOUBLE   = 00000007            STS$M_FAC_NO   = 0FFF0000            

SMO$K_FLAGPAG  = 00000004            STS$M_FAC_SP   = 00008000            

SMO$K_FORMTYPE = 00000024            STS$M_INHIB_MSG= 10000000            

SMO$K_GENDEV   = 00000044            STS$M_MSG_NO   = 0000FFF8            

SMO$K_GENPRT   = 00000041            STS$M_SEVERITY = 00000007            

SMO$K_HOLD     = 00000021            STS$M_SUCCESS  = 00000001            

SMO$K_INIPRI   = 0000004D            STS$S_CODE     = 0000000C            

SMO$K_JOBCOPY  = 00000023            STS$S_COND_ID  = 00000019            

SMO$K_JOBLIM   = 0000004C            STS$S_CONTROL  = 00000004            

SMO$K_JOBNAME  = 00000027            STS$S_CUST_DEF = 00000001            

SMO$K_JOBPRI   = 00000022            STS$S_FAC_NO   = 0000000C            

SMO$K_LOWER    = 00000025            STS$S_FAC_SP   = 00000001            

SMO$K_NEXTJOB  = 00000060            STS$S_INHIB_MSG= 00000001            

SMO$K_NOBRSTPAG= 00000003            STS$S_MSG_NO   = 0000000D            

SMO$K_NODEFBRST= 00000047            STS$S_SEVERITY = 00000003            

SMO$K_NODEFFLAG= 00000049            STS$S_SUCCESS  = 00000001            

SMO$K_NOFEED   = 00000008            STS$V_CODE     = 00000003            

SMO$K_NOFLAGPAG= 00000005            STS$V_COND_ID  = 00000003            

SMO$K_NOGENDEV = 00000045            STS$V_CONTROL  = 0000001C            

SMO$K_NOGENPRT = 00000042            STS$V_CUST_DEF = 0000001B            

SMO$K_NOLOWER  = 00000028            STS$V_FAC_NO   = 00000010            

SET$QUEUE                                                        21-AUG-1978 19:14:07   VAX-11 MACRO X0.3-11               Page  19

PROGRAM SECTION SYNOPSIS                                                                                                         (7)







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$            00000080      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

SET$RWDATA       0000017E      03     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD    WRT LONG  

SET$CODE         00000324      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

9786. BYTES LEFT IN FREE MEMORY POOL.

932. BYTES OF RECLAIMED MEMORY.

OBJ$:SETQUEUE,LIS$:SETQUEUE/-SP=EXECML$/ML,LIB$:CLIUTL/ML,SRC$:SETQUEUE

46 MLB DIR RDS - 736 GETS TO DEFINE 30 MACROS. 72 INTER. FILE WRITES. 

