RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      41  DECLARATIONS

   (1)      72  RM$SEQRAH  -  ROUTINE TO PERFORM READ AHEAD QIO

   (1)     142  RM$QUIET_SEQMBF - ROUTINE TO FLUSH OUT ALL RAH/

   (1)     282  RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ

   (2)     640  RM$SEQWT  -  ROUTINE TO PERFORM SEQUENTIAL WRIT

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   1

023                                                                                                                              (1)



                                     0000     1 	$BEGIN	RM1SEQXFR,023,$RMS1,<TRANSFER BLOCK FOR SEQUENTIAL FILE ORG>

                                     0000     2 ;

                                     0000     3 ; COPYRIGHT (C) 1977, 1978

                                     0000     4 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     5 ;

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

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

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

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

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

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

                                     0000    12 ; REMAIN IN DEC.

                                     0000    13 ;

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

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

                                     0000    16 ; CORPORATION.

                                     0000    17 ;

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

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

                                     0000    20 ;

                                     0000    21 ;++

                                     0000    22 ; FACILITY: RMS32

                                     0000    23 ;

                                     0000    24 ; ABSTRACT:

                                     0000    25 ;		THIS MODULE PERFORMS I/O TRANSFERS FOR THE

                                     0000    26 ;		SEQUENTIAL FILE ORGANIZATION.

                                     0000    27 ;

                                     0000    28 ; ENVIRONMENT:

                                     0000    29 ;		STAR PROCESSOR RUNNING STARLET EXEC.

                                     0000    30 ;

                                     0000    31 ; AUTHOR: L F LAVERDURE,	 CREATION DATE: 3-FEB-77

                                     0000    32 ;

                                     0000    33 ; MODIFIED BY:

                                     0000    34 ;

                                     0000    35 ;	L F LAVERDURE,   14-JUN-78  18:05

                                     0000    36 ;				ADD RAH/WBH LOGIC

                                     0000    37 ;	J A KRYCKA,	 18-AUG-78  21:00

                                     0000    38 ; 01	- 

                                     0000    39 ;--

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   2

023             DECLARATIONS                                                                                                     (1)



                                     0000    41 	.SBTTL DECLARATIONS

                                     0000    42 ;

                                     0000    43 ; INCLUDE FILES:

                                     0000    44 ;

                                     0000    45 ;

                                     0000    46 ; MACROS:

                                     0000    47 ;

                                     0000    48 	$IFBDEF

                                     0000    49 	$IRBDEF

                                     0000    50 	$BDBDEF

                                     0000    51 	$IMPDEF

                                     0000    52 	$PIODEF

                                     0000    53 	$RABDEF

                                     0000    54 	$DEVDEF

                                     0000    55 	$IODEF

                                     0000    56 	$QIODEF

                                     0000    57 	$TTDEF

                                     0000    58 	$SSDEF

                                     0000    59 	.LIST MEB

                                     0000    60 ;

                                     0000    61 

                                     0000    62 ;

                                     0000    63 ; EQUATED SYMBOLS:

                                     0000    64 ;

                           00000020  0000    65 	ROP=RAB$L_ROP*8		; BIT OFFSET TO ROP

                           0000001A  0000    66 	CTRLZ = 26

                                     0000    67 

                                     0000    68 ;

                                     0000    69 ; OWN STORAGE:

                                     0000    70 ;

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   3

023             RM$SEQRAH  -  ROUTINE TO PERFORM READ AHEAD QIO                                                                  (1)



                                     0000    72 	.SBTTL	RM$SEQRAH  -  ROUTINE TO PERFORM READ AHEAD QIO

                                     0000    73 ;++

                                     0000    74 ; FUNCTIONAL DESCRIPTION:

                                     0000    75 ;

                                     0000    76 ; THIS ROUTINE PERFORMS READ AHEAD FOR THE SEQUENTIAL FILE ORGANIZATION.

                                     0000    77 ; CURRENTLY USED FOR FILES-11 DISK AND MAGTAPE ONLY.

                                     0000    78 ;

                                     0000    79 ; CALLING SEQUENCE:

                                     0000    80 ;

                                     0000    81 ;	BSBW	RM$SEQRAH

                                     0000    82 ;

                                     0000    83 ; INPUT PARAMETERS:

                                     0000    84 ;

                                     0000    85 ;	R11	IMPURE AREA ADDR

                                     0000    86 ;	R10	IFAB ADDR

                                     0000    87 ;	R9	IRAB ADDR

                                     0000    88 ;	R8	RAB ADDR

                                     0000    89 ;	R4	BDB ADDRESS FOR READ AHEAD

                                     0000    90 ;	R2	# OF BYTES TO READ

                                     0000    91 ;	R1	STARTING VBN

                                     0000    92 ;

                                     0000    93 ; IMPLICIT INPUTS:

                                     0000    94 ;

                                     0000    95 ;	IFB$W_CHNL	I/O CHANNEL FOR QIO

                                     0000    96 ;

                                     0000    97 ; OUTPUTS:

                                     0000    98 ;

                                     0000    99 ;	R0		STATUS CODE

                                     0000   100 ;	R1,AP		DESTROYED

                                     0000   101 ;

                                     0000   102 ; IMPLICIT OUTPUTS:

                                     0000   103 ;

                                     0000   104 ;	BDB$W_NUMB		# OF BYTES TRANSFERRED

                                     0000   105 ;	BDB$L_VBN		STARTING VBN FOR BUFFER

                                     0000   106 ;	BDB$V_VAL		CLEARED

                                     0000   107 ;	BDB$L_IOSB,BDB$L_IOSB+4	USER AS SYSTEM IOSB FOR QIO

                                     0000   108 ;

                                     0000   109 ;

                                     0000   110 ; STATUS CODES:

                                     0000   111 ;

                                     0000   112 ;	STANDARD QIO SYSTEM SERVICE CODES

                                     0000   113 ;

                                     0000   114 ; SIDE EFFECTS:

                                     0000   115 ;

                                     0000   116 ;	THE AST FOR I/O COMPLETION WILL OCCUR AT RM$RAHWBHAST WITH R4

                                     0000   117 ;	AS THE AST PARAMETER.

                                     0000   118 ;

                                     0000   119 ; NOTE:

                                     0000   120 ;

                                     0000   121 ;	THE READ AHEAD/WRITE BEHIND CODE ASSUMES THAT QIOS WILL OCCUR IN THE

                                     0000   122 ;	SAME ORDER AS THEY ARE QUEUED, OTHERWISE THE FOLLOWING SEQUENCE MAY FAIL:

                                     0000   123 ;	WBH VBN N, READ VBN M, READ VBN N; A STALE COPY OF VBN N MAY BE READ.

                                     0000   124 ;	IF THIS ORDERING ASSUMPTION BECOMES INVALID, ADDITIONAL CODE WILL HAVE

                                     0000   125 ;	TO BE WRITTEN.

                                     0000   126 ;

                                     0000   127 ;--

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   4

023             RM$SEQRAH  -  ROUTINE TO PERFORM READ AHEAD QIO                                                                  (1)



                                     0000   129 RM$SEQRAH::

         0A A4         7F 8F     8A  0000   130 	BICB2	#^C<BDB$M_LKDINWS>,BDB$B_FLGS(R4) ; CLEAR ALL BDB FLAGS OF IMPORT

                                     0005   131 	SSB	#BDB$V_IOP,BDB$B_FLGS(R4)	; SET IO IN PROGRESS

         0A A4            02     E2  0005       		BBSS	#BDB$V_IOP,BDB$B_FLGS(R4),30000$

                          00         0009       

                                     000A       30000$:

         18 A4            51     D0  000A   132 	MOVL	R1,BDB$L_VBN(R4)		; STORE VBN IN BDB

         10 A4            52     B0  000E   133 	MOVW	R2,BDB$W_NUMB(R4)		; STORE SIZE OF XFER IN BDB

                          0156   30  0012   134 	BSBW	SETP6_P3			; BUILD QIO PARM BLOCK

                          015F   30  0015   135 	BSBW	SETP2_EFN_RAH

                                     0018   136 	ASSUME	QIO$_NARGS EQ 12

   00000000'9F            0C     FB  0018   137 	CALLS	#12,@#SYS$QIO			; DO QIO

            05            50     E8  001F   138 	BLBS	R0,10$				; BRANCH IF QIO WAS OK

                                     0022   139 	CSB	#BDB$V_IOP,BDB$B_FLGS(R4)	; NOTE NO IO IN PROGRESS

         0A A4            02     E5  0022       		BBCC	#BDB$V_IOP,BDB$B_FLGS(R4),30001$

                          00         0026       

                                     0027       30001$:

                                 05  0027   140 10$:	RSB

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   5

023             RM$QUIET_SEQMBF - ROUTINE TO FLUSH OUT ALL RAH/                                                                  (1)



                                     0028   142 	.SBTTL	RM$QUIET_SEQMBF - ROUTINE TO FLUSH OUT ALL RAH/WBH

                                     0028   143 ;++

                                     0028   144 ; FUNCTIONAL DESCRIPTION:

                                     0028   145 ;

                                     0028   146 ; THIS ROUTINE SCANS DOWN THE BDB CHAIN AND WAIT FOR ALL

                                     0028   147 ; PENDING IO TO COMPLETE. IF A WRITE BEHIND ERROR OCCURS IT SAVES

                                     0028   148 ; THE STATUS AND REPORTS IT AFTER ALL IO IS QUIET.

                                     0028   149 ;

                                     0028   150 ; CALLING SEQUENCE:

                                     0028   151 ;

                                     0028   152 ;	BSBW	RM$QUIET_SEQMBF

                                     0028   153 ;

                                     0028   154 ; INPUT PARAMETERS:

                                     0028   155 ;

                                     0028   156 ;	R11	IMPURE AREA ADDR

                                     0028   157 ;	R10	IFAB ADDR

                                     0028   158 ;	R9	IRAB ADDR

                                     0028   159 ;	R8	RAB ADDR (OR FAB)

                                     0028   160 ;

                                     0028   161 ; IMPLICIT INPUTS:

                                     0028   162 ;

                                     0028   163 ;	IFB$W_CHNL	I/O CHANNEL FOR QIO

                                     0028   164 ;

                                     0028   165 ; OUTPUTS:

                                     0028   166 ;

                                     0028   167 ;	R0		STATUS CODE

                                     0028   168 ;	R1 THRU R3,AP ARE DESTROYED

                                     0028   169 ;

                                     0028   170 ; IMPLICIT OUTPUTS:

                                     0028   171 ;

                                     0028   172 ;	ALL BDB'S IN CHAIN HAVE BEEN INITIALIZED

                                     0028   173 ;

                                     0028   174 ;

                                     0028   175 ; STATUS CODES:

                                     0028   176 ;

                                     0028   177 ;	WBE

                                     0028   178 ;

                                     0028   179 ; SIDE EFFECTS:

                                     0028   180 ;

                                     0028   181 ;

                                     0028   182 ;--

                                     0028   183 RM$QUIET_SEQMBF::

                       20 A9     D4  0028   184 	CLRL	IRB$L_CURBDB(R9)		; THERE IS NO LONGER A CURRENT BDB

                          30     BB  002B   185 	PUSHR	#^M<R4,R5>			; SAVE REGISTERS

                          01     DD  002D   186 	PUSHL	#1				; ANTICIPATE SUCCESS

            69            30     C1  002F   187 	ADDL3	#IFB$L_BDB_FLNK,IRB$L_IFAB_LNK(R9),R4	; GET BDB LIST HEAD ADDR

                          54         0032       

            55            54     D0  0033   188 	MOVL	R4,R5				; SAVE IT

                                     0036   189 	ASSUME 	BDB$L_FLINK EQ 0

            54            64     D0  0036   190 10$:	MOVL	(R4),R4				; GET NEXT BDB

            55            54     D1  0039   191 	CMPL	R4,R5				; AT END?

                          17     13  003C   192 	BEQL	30$				; BRANCH IF YES

         0A A4            02     E1  003E   193 	BBC	#BDB$V_IOP,BDB$B_FLGS(R4),20$	; BRANCH IF NO IO IN PROGRESS

                          08         0042       

                          13     10  0043   194 	BSBB	RM$STALLRAHWBH			; WAIT FOR IO TO COMPLETE

            03            50     E8  0045   195 	BLBS	R0,20$				; BRANCH IF NO WBE ERRORS

            6E            50     D0  0048   196 	MOVL	R0,(SP)				; REMEMBER ERROR

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   6

023             RM$QUIET_SEQMBF - ROUTINE TO FLUSH OUT ALL RAH/                                                                  (1)



         0A A4         7F 8F     8A  004B   197 20$:	BICB2	#^C<BDB$M_LKDINWS>,BDB$B_FLGS(R4) ; CLEAR FLAGS

                       18 A4     D4  0050   198 	CLRL	BDB$L_VBN(R4)			; AND VBN

                          E1     11  0053   199 	BRB	10$				; BRANCH BACK FOR NEXT BDB

                                     0055   200 

                          31     BA  0055   201 30$:	POPR	#^M<R0,R4,R5>			; RESTORE STATUS AND R4,R5

                                 05  0057   202 	RSB

                                     0058   203 ;

                                     0058   204 ;++

                                     0058   205 ; ROUTINE RM$STALLRAHWBH

                                     0058   206 ;

                                     0058   207 ; FUNCTIONAL DESCRIPTION:

                                     0058   208 ;

                                     0058   209 ; THIS ROUTINE WAITS FOR IO DONE FOR A BDB FOR WHICH A RAH OR WBH WAS DONE.

                                     0058   210 ;

                                     0058   211 ; CALLING SEQUENCE:

                                     0058   212 ;

                                     0058   213 ;	BSBW	RM$STALLRAHWBH

                                     0058   214 ;

                                     0058   215 ; INPUTS:

                                     0058   216 ;

                                     0058   217 ;	SAME AS RM$QUIET_SEQMBF

                                     0058   218 ;	R4 = BDB ADDRESS TO STALL FOR

                                     0058   219 ;

                                     0058   220 ; OUTPUTS:

                                     0058   221 ;

                                     0058   222 ;	R0 = STATUS	EITHER SUC OR WBE

                                     0058   223 ;

                                     0058   224 ;	R1 THRU R3,AP ARE DESTROYED ONLY IF REALLY STALLS

                                     0058   225 ;

                                     0058   226 ;  NOTE:	THE BDB FLAGS BIT 'AST_DCL' IS USED TO INTERLOCK RAH/WBH

                                     0058   227 ;	I/O DONE PROCESSING WITH THE AST SIDE OF THE SYSTEM.  WHEN THE I/O

                                     0058   228 ;	IS INITIALIZED AST_DCL IS ZEROED.  WHEN THE AST ROUTINE FOR I/O

                                     0058   229 ;	COMPLETION IS EXECUTED, THE BIT IS SET, AND IF ALREADY SET THE WAITING

                                     0058   230 ;	STREAM IS RESTARTED (SUBJECT TO IMP$V_INHAST), ELSE THE AST IS SIMPLY

                                     0058   231 ;	DISMISSED.  WHEN TESTING FOR I/O DONE, THIS ROUTINE FIRST SETS

                                     0058   232 ;	BDB$L_WAIT TO THE ADDRESS OF THE IRAB AND THEN TESTS THE BIT, SETTING

                                     0058   233 ;	IT.  IF THE BIT WAS CLEAR, THE ROUTINE MUST STALL FOR I/O DONE,

                                     0058   234 ;	OTHERWISE THE BUFFER MAY BE USED IMMEDIATELY.

                                     0058   235 ;

                                     0058   236 ;--

                                     0058   237 RM$STALLRAHWBH::

         1C A4            59     D0  0058   238 	MOVL	R9,BDB$L_WAIT(R4)		; SET AST PARAM IN CASE OF WAIT

         0A A4            06     E2  005C   239 	BBSS	#BDB$V_AST_DCL,BDB$B_FLGS(R4),20$ ; BRANCH IF I/O DONE

                          03         0060       

                                     0061   240 						; INDICATES WAITING OTHERWISE

                          FF9C'  30  0061   241 	BSBW	RM$STALL			; STALL FOR IO COMPLETE

                                     0064   242 20$:	RMSSUC					; ASSUME SUCCESS FOR WBH OR RAH

            50            01     D0  0064       		MOVL	#1,R0

                                     0067   243 	ASSUME	BDB$V_VAL EQ 0

         0A A4            00     E5  0067   244 	BBCC	#BDB$V_VAL,BDB$B_FLGS(R4),25$	; BRANCH IF RAH

                          07         006B       

                       18 A4     D4  006C   245 	CLRL	BDB$L_VBN(R4)			; CAUSE BLK NOT TO BE REUSED

            01         20 A4     E9  006F   246 	BLBC	BDB$L_IOSB(R4),30$		; BRANCH IF ERRORS

                                 05  0073   247 25$:	RSB

                                     0074   248 30$:	$PSECT_BR	L$RMS1

                          FF89'  31  0074       		BRW	L$RMS10

                                     0077       		.SAVE

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   7

023             RM$QUIET_SEQMBF - ROUTINE TO FLUSH OUT ALL RAH/                                                                  (1)



                                 00000000       		.PSECT	L$RMS1,GBL,NOWRT

                                     0000       L$RMS10:

         0C A8         20 A4     D0  0000   249 	MOVL	BDB$L_IOSB(R4),RAB$L_STV(R8)	; RETURN SYSTEM ERROR CODE TO USER

                                     0005   250 	RMSERR	WBE				; AND REPORT WRITE BEHIND ERROR

            50       0000'8F     3C  0005       		MOVZWL	#<RMS$_WBE&^XFFFF>,R0

                                 05  000A   251 	RSB

                                     000B   252 	$PSECT_RESTORE

                                 00000077       		.RESTORE

                                     0077   253 ;

                                     0077   254 ;++

                                     0077   255 ;

                                     0077   256 ; ROUTINE TO GET THE NEXT BDB VIA THE FLNK OF A BDB THRU THE LIST HEAD

                                     0077   257 ;

                                     0077   258 ; CALLING SEQUENCE:

                                     0077   259 ;

                                     0077   260 ;	BSBW	RM$SEQFLNKBDB

                                     0077   261 ;

                                     0077   262 ; INPUTS:

                                     0077   263 ;

                                     0077   264 ;	R9 = IRAB ADDRESS

                                     0077   265 ;	R4 = BDB ADDRESS

                                     0077   266 ;

                                     0077   267 ; OUTPUTS:

                                     0077   268 ;

                                     0077   269 ;	R4 = NEW BDB ADDRESS VIA FLNK

                                     0077   270 ;	R0 = LIST HEAD ADDRESS FOR BDB CHAIN

                                     0077   271 ;

                                     0077   272 ;--

                                     0077   273 RM$SEQFLNKBDB::

            69            30     C1  0077   274 	ADDL3	#IFB$L_BDB_FLNK,IRB$L_IFAB_LNK(R9),R0	; GET BDB LIST HEAD ADDR

                          50         007A       

                                     007B   275 	ASSUME	BDB$L_FLINK EQ 0

            54            64     D0  007B   276 	MOVL	(R4),R4				; GET NEXT BDB

            50            54     D1  007E   277 	CMPL	R4,R0				; AT LIST HEAD

                          03     12  0081   278 	BNEQ	XIT				; BRANCH IF NO

            54            64     D0  0083   279 	MOVL	(R4),R4				; YES GO ONE MORE

                                 05  0086   280 XIT:	RSB

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   8

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                                     0087   282 	.SBTTL	RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READS

                                     0087   283 ;++

                                     0087   284 ; FUNCTIONAL DESCRIPTION:

                                     0087   285 ;

                                     0087   286 ; THIS ROUTINE PERFORMS READ VIRTUAL BLOCK FOR THE SEQUENTIAL

                                     0087   287 ; FILE ORGANIZATION.  ONE OF SEVERAL FLAVORS IS PERFORMED

                                     0087   288 ; DEPENDING UPON WHETHER THE DEVICE FOR THE READ IS A

                                     0087   289 ; TERMINAL AND WHETHER A READ-AHEAD (IE MULTI-BUFFERING)

                                     0087   290 ; WAS DONE OR IS IN PROGRESS.

                                     0087   291 ;

                                     0087   292 ; CALLING SEQUENCE:

                                     0087   293 ;

                                     0087   294 ;	BSBW	RM$SEQRD

                                     0087   295 ;

                                     0087   296 ; INPUT PARAMETERS:

                                     0087   297 ;

                                     0087   298 ;	R11	IMPURE AREA ADDR

                                     0087   299 ;	R10	IFAB ADDR

                                     0087   300 ;	R9	IRAB ADDR

                                     0087   301 ;	R8	RAB ADDR

                                     0087   302 ;	R3	OPTION TO AVOID READ IF BIT 0 SET

                                     0087   303 ;		(CURRENTLY SIMPLY CHECKS FOR I/O IN PROGRESS)

                                     0087   304 ;	R2	# OF BYTES TO READ

                                     0087   305 ;	R1	STARTING VBN

                                     0087   306 ;

                                     0087   307 ; IMPLICIT INPUTS:

                                     0087   308 ;

                                     0087   309 ;	IRB$L_CURBDB	ADDR OF OLD CURRENT BDB

                                     0087   310 ;	IRB$L_NXTBDB	BDB ADDR FOR WHICH LAST RAH WAS DONE

                                     0087   311 ;	DEV$V_TRM	TERMINAL DEVICE FLAG

                                     0087   312 ;			IF SET, THE VARIOUS ROP TERMINAL OPTION

                                     0087   313 ;			BITS ARE USED ALONG WITH IRB$B_TMO,

                                     0087   314 ;			IRB$_L_PBF AND IRB$B_PSZ IF SPECIFIED

                                     0087   315 ;	IFB$W_CHNL	I/O CHANNEL FOR QIO

                                     0087   316 ;

                                     0087   317 ; OUTPUTS:

                                     0087   318 ;

                                     0087   319 ;	IRB$L_CURBDB	NEW CURRENT BDB = R4 = FLNK OF OLD CURBDB OR

                                     0087   320 ;			IF OLD CURBDB = 0 THEN NXTBDB

                                     0087   321 ;	R4		ADDR OF NEW CURRENT BDB

                                     0087   322 ;	R0		STATUS CODE

                                     0087   323 ;	R1 THRU R3,AP	DESTROYED

                                     0087   324 ;

                                     0087   325 ; IMPLICIT OUTPUTS:

                                     0087   326 ;

                                     0087   327 ;	BDB$W_NUMB		# OF BYTES TRANSFERRED

                                     0087   328 ;	BDB$L_VBN		STARTING VBN FOR BUFFER

                                     0087   329 ;	BDB$V_VAL		SET UNLESS AN ERROR OCCURRED

                                     0087   330 ;	IRB$L_IOS,IRB$L_IOS4	SYSTEM SPECIFIED I/O STATUS BLOCK

                                     0087   331 ;				(USEFUL FOR DETECTING UNIT RECORD

                                     0087   332 ;				EOF OR REPORTING ERRORS)

                                     0087   333 ;	RAB$L_STV		SET TO TERMINATOR IF DEVICE IS TERMINAL

                                     0087   334 ;				OR SYSTEM ERROR CODE IF SYS ERROR

                                     0087   335 ;

                                     0087   336 ;

                                     0087   337 ; STATUS CODES:

                                     0087   338 ;

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page   9

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                                     0087   339 ;	STANDARD RMS, IN PARTICULAR, SUC, EOF, TMO, WBE, AND SYS.

                                     0087   340 ;

                                     0087   341 ; SIDE EFFECTS:

                                     0087   342 ;

                                     0087   343 ;	MAY HAVE SWITCHED TO RUNNING AT AST LEVEL

                                     0087   344 ;

                                     0087   345 ;--

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  10

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                                     0087   347 RM$SEQRD::

                                     0087   348 	$TSTPT	SEQRD

                 00000200'9F     D6  0087       		INCL	@#PIO$GL_FMLH+512+TPT$L_SEQRD

            54         20 A9     D0  008D   349 	MOVL	IRB$L_CURBDB(R9),R4		; GET CURRENT BDB

                          06     12  0091   350 	BNEQ	10$				; BRANCH IF THERE WAS ONE

            54         28 A9     D0  0093   351 	MOVL	IRB$L_NXTBDB(R9),R4		; USE NEXT BDB FOR NEW CURRENT BDB

                          02     11  0097   352 	BRB	20$				; AND CONTINUE

                          DC     10  0099   353 10$:	BSBB	RM$SEQFLNKBDB			; GET NEW CURRENT BDB

         20 A9            54     D0  009B   354 20$:	MOVL	R4,IRB$L_CURBDB(R9)		; AND UPDATE CURBDB

         0A A4            02     E5  009F   355 	BBCC	#BDB$V_IOP,BDB$B_FLGS(R4),40$	; BRANCH IF NOT A RAH BDB

                          27         00A3       

                          0E     BB  00A4   356 	PUSHR	#^M<R1,R2,R3>

                          B0     10  00A6   357 	BSBB	RM$STALLRAHWBH			; WAIT FOR IO DONE

                          0E     BA  00A8   358 	POPR	#^M<R1,R2,R3>

            D9            50     E9  00AA   359 	BLBC	R0,XIT				; BRANCH IF WBE ERROR

         18 A4            51     D1  00AD   360 30$:	CMPL	R1,BDB$L_VBN(R4)		; IS THIS THE DESIRED VBN

                          0E     12  00B1   361 	BNEQ	35$				; BRANCH IF NO

            75            53     E8  00B3   362 	BLBS	R3,SUCCESS			; ALL SET IF NOT READING

         0C A9         20 A4     7D  00B6   363 	MOVQ	BDB$L_IOSB(R4),IRB$L_IOS(R9)	; PUT IO STATUS IN IRAB

            50         20 A4     3C  00BB   364 	MOVZWL	BDB$L_IOSB(R4),R0		; GET COMPLETION CODE

                          42     11  00BF   365 	BRB	QIODONE				; AND GO JOIN COMMON CODE

                                     00C1   366 

                                     00C1   367 ;

                                     00C1   368 ;  BUMPED INTO A RAH OR WBH BDB THAT WAS NOT FOR THE BLOCK THAT WE WANTED.

                                     00C1   369 ;  QUIET THE READ AHEADS AND WRITE BEHINDS.

                                     00C1   370 ;

                          0E     BB  00C1   371 35$:	PUSHR	#^M<R1,R2,R3>

                          FF62   30  00C3   372 	BSBW	RM$QUIET_SEQMBF			; QUIET ACTIVITY

                          0E     BA  00C6   373 	POPR	#^M<R1,R2,R3>

            BB            50     E9  00C8   374 	BLBC	R0,XIT				; GET OUT ON ERROR

                                     00CB   375 ;

                                     00CB   376 ;  CLAIM UNUSED BDB

                                     00CB   377 ;

         18 A4            51     D0  00CB   378 40$:	MOVL	R1,BDB$L_VBN(R4)		; SAVE VBN IN BDB

         10 A4            52     B0  00CF   379 	MOVW	R2, BDB$W_NUMB(R4)		; AND # BYTES USED

            55            53     E8  00D3   380 	BLBS	R3,SUCCESS			; ALL DONE IF NO READ FLAGGED

            6A            02     E0  00D6   381 	BBS	#DEV$V_TRM,IFB$L_PRIM_DEV(R10),TRMREAD	; BRANCH IF TERMINAL

                          59         00D9       

                                     00DA   382 RM$RDBUFWT::

                                     00DA   383 ;

                                     00DA   384 ; PERFORM REMOTE FILE ACCESS USING NETWORK SPECIFIC CODE. HOWEVER,

                                     00DA   385 ; PERFORM TASK-TO-TASK COMMUNICATION USING STANDARD RMS CODE.

                                     00DA   386 ;

            6A            3E     E0  00DA   387 	BBS	#IFB$V_DAP,(R10),NTGET		; BRANCH IF REMOTE ACCESS VIA DAP

                          41         00DD       

                                     00DE   388 ;

                                     00DE   389 ; ISSUE READ QIO (NOT FOR TERMINAL) AND WAIT FOR COMPLETION

                                     00DE   390 ;

                                     00DE   391 ; START BUILDING ARGUMENT LIST ON STACK

                                     00DE   392 ;

                          008A   30  00DE   393 	BSBW	SETP6_P3			; BUILD P6 THRU P3 ON STACK

                          00AD   30  00E1   394 	BSBW	SETP2_EFN			; BUILD P2 THRU EFN ON STACK

            6A            14     E1  00E4   395 	BBC	#DEV$V_MBX,IFB$L_PRIM_DEV(R10),DOQIO	; BRANCH IF NOT MAILBOX

                          0E         00E7       

            68            39     E1  00E8   396 	BBC	#RAB$V_TMO+ROP,(R8),DOQIO	; OR IF TIMEOUT NOT WANTED

                          0A         00EB       

                                     00EC   397 	SSB	#IO$V_TIMED,QIO$_FUNC-4(SP)	; SET QIO SUB FUNCTION

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  11

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



         08 AE            07     E2  00EC       		BBSS	#IO$V_TIMED,QIO$_FUNC-4(SP),30002$

                          00         00F0       

                                     00F1       30002$:

         20 AE         1F A8     9A  00F1   398 	MOVZBL	RAB$B_TMO(R8),QIO$_P3-4(SP)	; SET TIME OUT PERIOD

                                     00F6   399 DOQIO:

                                     00F6   400 	ASSUME	QIO$_NARGS EQ 12

   00000000'9F            0C     FB  00F6   401 	CALLS	#12,@#SYS$QIO			; DO THE QIO

            22            50     E9  00FD   402 	BLBC	R0,ERRSYS			; BRANCH ON ERROR

                          FEFD'  30  0100   403 	BSBW	RM$STALL			; AWAIT COMPLETION

                                     0103   404 QIODONE:

            1F            50     E9  0103   405 	BLBC	R0,ERR_READ			; BRANCH ON I/O ERROR

            6A            02     E1  0106   406 	BBC	#DEV$V_TRM,IFB$L_PRIM_DEV(R10),SETVAL ; BRANCH IF NOT TERMINAL

                          0B         0109       

         0C A8         10 A9     90  010A   407 	MOVB	IRB$L_IOS4(R9),RAB$L_STV(R8)	; COPY TERMINATOR

            1A         10 A9     91  010F   408 	CMPB	IRB$L_IOS4(R9),#CTRLZ		; WAS IT ^Z?

                          13     13  0113   409 	BEQL	ER1EOF				; BRANCH IF SO (IT'S EOF)

         0A A4            01     88  0115   410 SETVAL:	BISB2	#1@BDB$V_VAL,BDB$B_FLGS(R4)	; SET BUFFER VALID

                                     0119   411 

         10 A4         0E A9     B0  0119   412 SETCNT:	MOVW	IRB$W_IOS2(R9),BDB$W_NUMB(R4)	; STORE REAL BYTE COUNT

                                 05  011E   413 	RSB

                                     011F   414 ;++

                                     011F   415 ;

                                     011F   416 ; PERFORM NETWORK GET FUNCTION VIA THE REMOTE FAL

                                     011F   417 ;

                                     011F   418 ;--

                                     011F   419 NTGET:	$PSECT_BR	NF$NETWORK

                          FEDE'  31  011F       		BRW	NF$NETWORK1

                                     0122       		.SAVE

                                 00000000       		.PSECT	NF$NETWORK,GBL,NOWRT

                                     0000       NF$NETWORK1:

                          FFFD'  30  0000   420 	BSBW	NT$GET1				; GET THE RECORD

            03            50     E9  0003   421 	BLBC	R0,10$				; BRANCH ON ERROR

                          010C'  31  0006   422 	BRW	SETVAL				; REJOIN MAINLINE

       0000'8F            50     B1  0009   423 10$:	CMPW	R0,#<RMS$_EOF&^XFFFF>		; CHECK FOR EOF

                          03     12  000E   424 	BNEQ	20$				; BRANCH IF NOT EOF

                          001F'  31  0010   425 	BRW	TSTSIZ				; JOIN EOF LOGIC

                                 05  0013   426 20$:	RSB					; TAKE ERROR EXIT

                                     0014   427 	$PSECT_RESTORE

                                 00000122       		.RESTORE

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  12

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                                     0122   429 ;

                                     0122   430 ;  ERROR ON QIO - GIVE DEFAULT ERROR OF 'SYS'

                                     0122   431 ;

                                     0122   432 ERRSYS:	$PSECT_BR	L$RMS1GET

                          FEDB'  31  0122       		BRW	L$RMS1GET2

                                     0125       		.SAVE

                                 00000000       		.PSECT	L$RMS1GET,GBL,NOWRT

                                     0000       L$RMS1GET2:

                                     0000   433 	RMSERR	SYS,R1				; SET DEFAULT ERROR CODE

            51       0000'8F     3C  0000       		MOVZWL	#<RMS$_SYS&^XFFFF>,R1

                          05     11  0005   434 	BRB	CHKEOF				; GO SEE IF ERROR IS EOF

                                     0007   435 	$PSECT_RESTORE

                                 00000125       		.RESTORE

                                     0125   436 ;

                                     0125   437 ; ERROR ON READ - CHECK FOR EOF

                                     0125   438 ;

                                     0125   439 ERR_READ: $PSECT_BR	L$RMS1GET

                          FEDF'  31  0125       		BRW	L$RMS1GET3

                                     0128       		.SAVE

                                 00000007       		.PSECT	L$RMS1GET,GBL,NOWRT

                                     0007       L$RMS1GET3:

                                     0007   440 

                                     0007   441 	RMSERR	RER,R1				; SET DEFAULT ERROR CODE

            51       0000'8F     3C  0007       		MOVZWL	#<RMS$_RER&^XFFFF>,R1

       0870 8F            50     B1  000C   442 CHKEOF:	CMPW	R0,#SS$_ENDOFFILE		; IS IT EOF?

                          1A     13  0011   443 	BEQL	EOF				; BRANCH IF YES

            6A            3F     E0  0013   444 	BBS	#IFB$V_NSP,(R10),10$		; BRANCH IF TASK-TO-TASK OPERATION

                          0E         0016       

       022C 8F            50     B1  0017   445 	CMPW	R0,#SS$_TIMEOUT			; PERHAPS IT'S TIME OUT?

                          0C     12  001C   446 	BNEQ	ERRQIO				; BRANCH IF NOT

                                     001E   447 	RMSERR	TMO				; YES - CHANGE ERROR CODE

            50       0000'8F     3C  001E       		MOVZWL	#<RMS$_TMO&^XFFFF>,R0

                          0D     11  0023   448 	BRB	TSTSIZ

            2C            50     B1  0025   449 10$:	CMPW	R0,#SS$_ABORT			; WAS LOGICAL LINK DESTROYED?

                          03     13  0028   450 	BEQL	EOF				; BRANCH IF YES

                                     002A   451 ;

                                     002A   452 ; SOME UNEXPECTED QIO ERROR

                                     002A   453 ;

                          FFD3'  31  002A   454 ERRQIO:	BRW	RM$MAPERR			; SEE IF ERROR MAPPABLE TO RMS CODE

                                     002D   455 	$PSECT_RESTORE

                                 00000128       		.RESTORE

                                     0128   456 ;

                                     0128   457 ; EOF ERROR - CHECK FOR SOME DATA TRANSFERRED

                                     0128   458 ;

                                     0128   459 ER1EOF:	$PSECT_BR	L$RMS1GET

                          FF02'  31  0128       		BRW	L$RMS1GET4

                                     012B       		.SAVE

                                 0000002D       		.PSECT	L$RMS1GET,GBL,NOWRT

                                     002D       L$RMS1GET4:

                                     002D   460 EOF:	RMSERR	EOF				; CHANGE ERROR CODE

            50       0000'8F     3C  002D       		MOVZWL	#<RMS$_EOF&^XFFFF>,R0

                       0E A9     B5  0032   461 TSTSIZ:	TSTW	IRB$W_IOS2(R9)			; ZERO DATA LENGTH?

                          03     12  0035   462 	BNEQ	SETVAL1				; TREAT AS VALID IF SO

                          00DF'  31  0037   463 	BRW	SETCNT

                          00D8'  31  003A   464 SETVAL1: BRW	SETVAL

                                     003D   465 	$PSECT_RESTORE

                                 0000012B       		.RESTORE

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  13

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                                     012B   466 ;

                                     012B   467 ; SUCCESSFUL RETURN FOR NO READ REQUIRED

                                     012B   468 ;

                                     012B   469 SUCCESS:

                                     012B   470 	RMSSUC

            50            01     D0  012B       		MOVL	#1,R0

                                 05  012E   471 	RSB

                                     012F   472 

                                     012F   473 ;

                                     012F   474 ;

                                     012F   475 ; EITHER NO NEXT BDB OR IOP WAS SET

                                     012F   476 ; NEITHER SHOULD EVER HAPPEN (GULP!)

                                     012F   477 ;

                                     012F   478 ; NOTE: ON READ AHEAD OR WRITE BEHIND, IOP CAN BE SET

                                     012F   479 ;	IN WHICH CASE MUST WAIT FOR THE BUFFER TO BE FREED.

                                     012F   480 ;

                                     012F   481 ERRBUG:	RMSTBUG	FTL$_NONXTBDB

                                     012F       	.SAVE

                                 0000006C       	.PSECT	$ABS$,ABS

                           00000000  006C       	.=0

                                 0000012F       	.RESTORE

                          FECE'  30  012F       		BSBW	RM$BUG

                                 F4  0132       		.BYTE	FTL$_NONXTBDB

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  14

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                                     0133   483 ;

                                     0133   484 ; ISSUE READ QIO FOR TERMINAL

                                     0133   485 ;

                                     0133   486 ; MUST BUILD ARGUMENT LIST TO INCLUDE TIMEOUT PERIOD

                                     0133   487 ; AND PROMPT BUFFER ADDRESS AND SIZE

                                     0133   488 ;

                                     0133   489 TRMREAD:

                                     0133   490 ;

                                     0133   491 ; START BUILDING THE QIO PARAMETER LIST

                                     0133   492 ;

            7E         34 A8     9A  0133   493 	MOVZBL	RAB$B_PSZ(R8),-(SP)		; P6 = PROMPT BUFFER SIZE

                       30 B8     9F  0137   494 	PUSHAB	@RAB$L_PBF(R8)			; P5 = PROMPT BUFFER ADDR

                          05     12  013A   495 	BNEQ	10$				; BRANCH IF SPECIFIED

                       04 AE     D4  013C   496 	CLRL	QIO$_P6-QIO$_P5(SP)		; INSURE 0 SIZE

                          09     11  013F   497 	BRB	20$

                                     0141   498 ;

                                     0141   499 ; PROBE PROMPT BUFFER FOR CALLER READABILITY

                                     0141   500 ;

                                     0141   501 10$:

                                     0141   502 	IFNORD	QIO$_P6-QIO$_P5(SP),@0(SP),-

                                     0141   503 	ERRPBF,IRB$B_MODE(R9)			; BRANCH IF NOT READABLE

         04 AE         0A A9     0C  0141       		PROBER	IRB$B_MODE(R9),QIO$_P6-QIO$_P5(SP),@0(SP)

                       00 BE         0146       

                          1E     13  0148       		BEQL	ERRPBF

                          7E     D4  014A   504 20$:	CLRL	-(SP)				; P4 = TERMINATOR CLASS

                                     014C   505 						;  = DEFAULT (TC$M_STANDARD)

            7E         1F A8     9A  014C   506 	MOVZBL	RAB$B_TMO(R8),-(SP)		; P3 = TIMEOUT PERIOD

                          3F     10  0150   507 	BSBB	SETP2_EFN			; FINISH BUILD OF ARG LIST

                                     0152   508 ;

                                     0152   509 ;  CHECK FOR READ PROMPT AND IF FOUND CHANGE THE I/O FUNCTION CODE

                                     0152   510 ;

            68            3E     E1  0152   511 	BBC	#RAB$V_PMT+ROP,(R8),30$		; BRANCH IF NOT READ PROMPT

                          04         0155       

         08 AE            37     D0  0156   512 	MOVL	#IO$_READPROMPT,QIO$_FUNC-4(SP)	; SUBSTITUTE FUNCTION CODE

                                     015A   513 ;

                                     015A   514 ; OR IN THE TERMINAL READ OPTIONS BITS

                                     015A   515 ;

                                     015A   516 ;

                                     015A   517 ; THE FOLLOWING ASSUMES CHECK THAT THE RMS DEFINITIONS FOR

                                     015A   518 ; THE TERMINAL READ SUB FUNCTIONS MATCH THOSE OF

                                     015A   519 ; THE STARLET SYSTEM

                                     015A   520 ;

                                     015A   521 	ASSUME	<RAB$V_RNE-24> EQ <IO$V_NOECHO - 6>

                                     015A   522 	ASSUME	<RAB$V_PTA-24> EQ <IO$V_PURGE - 6>

                                     015A   523 	ASSUME	<RAB$V_TMO-24> EQ <IO$V_TIMED - 6>

                                     015A   524 	ASSUME	<RAB$V_RNF-24> EQ <IO$V_NOFILTR - 6>

                                     015A   525 	ASSUME	<RAB$V_CVT-24> EQ <IO$V_CVTLOW - 6>

                                     015A   526 ;

            06            38     EF  015A   527 30$:	EXTZV	#RAB$V_RNE+ROP,#6,(R8),R0	; GET THE OPTION BITS

            50            68         015D       

            06            50     F0  015F   528 	INSV	R0,#6,#6,QIO$_FUNC-4(SP)	; AND SET THEM INTO THE I/O FUNC

         08 AE            06         0162       

                          FF8E   31  0165   529 	BRW	DOQIO				; COMMON FINISH

                                     0168   530 ;

                                     0168   531 ; PROMPT BUFFER NOT READABLE

                                     0168   532 ;

                                     0168   533 ERRPBF:	$PSECT_BR	L$RMS1

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  15

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                          FEA0'  31  0168       		BRW	L$RMS15

                                     016B       		.SAVE

                                 0000000B       		.PSECT	L$RMS1,GBL,NOWRT

                                     000B       L$RMS15:

                          03     BA  000B   534 	POPR	#^M<R0,R1>			; CLEAN UP STACK

                                     000D   535 	RMSERR	PBF	

            50       0000'8F     3C  000D       		MOVZWL	#<RMS$_PBF&^XFFFF>,R0

                                 05  0012   536 	RSB

                                     0013   537 	$PSECT_RESTORE

                                 0000016B       		.RESTORE

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  16

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                                     016B   539 ;

                                     016B   540 ; ROUTINE TO BUILD QIO ARGS ON STACK

                                     016B   541 ; P3 = VBN, P4 = P5 = P6 = 0

                                     016B   542 ; INPUT:	BDB$L_VBN(R4) = VBN

                                     016B   543 ; NOTE:		R0,R1 DESTROYED

                                     016B   544 ;

                                     016B   545 SETP6_P3:

            50            8E     D0  016B   546 	MOVL	(SP)+,R0			; GET RETURN PC

                          7E     7C  016E   547 	CLRQ	-(SP)				; P6, P5 = 0

                          00     DD  0170   548 	PUSHL	#0				; P4 = 0

                       18 A4     DD  0172   549 	PUSHL	BDB$L_VBN(R4)			; P3 = VBN

                          60     17  0175   550 	JMP	(R0)				; RETURN

                                     0177   551 ;

                                     0177   552 ; ROUTINE TO BUILD QIO ARGS ON STACK FOR A READ AHEAD OR WRITE BEHIND QIO

                                     0177   553 ; SET P2 THRU EFN

                                     0177   554 ;

                                     0177   555 SETP2_EFN_RAH:

            50            8E     D0  0177   556 	MOVL	(SP)+,R0			; GET RETURN PC

            7E         10 A4     3C  017A   557 	MOVZWL	BDB$W_NUMB(R4),-(SP)		; P2 = XFER SIZE

                       14 A4     DD  017E   558 	PUSHL	BDB$L_ADDR(R4)			; P1 = BUFFER ADDR FROM BDB

                                     0181   559 	ASSUME	QIO$_ASTPRM EQ <QIO$_P1 - 4>

                          54     DD  0181   560 	PUSHL	R4				; ASTPRM = BDB ADDR

                                     0183   561 	ASSUME	QIO$_ASTADR EQ <QIO$_ASTPRM - 4>

                     0000'CF     DF  0183   562 	PUSHAL	W^RM$RAHWBHAST			; SET AST SERVICE ADDRESS

                                     0187   563 	ASSUME	QIO$_IOSB EQ <QIO$_ASTADR - 4>

                       20 A4     DF  0187   564 	PUSHAL	BDB$L_IOSB(R4)			; USE IOSB IN BDB

                                     018A   565 	CSB	#BDB$V_AST_DCL,BDB$B_FLGS(R4)	; CLEAR I/O DONE FLAG

         0A A4            06     E5  018A       		BBCC	#BDB$V_AST_DCL,BDB$B_FLGS(R4),30003$

                          00         018E       

                                     018F       30003$:

                          17     11  018F   566 	BRB	SETFUNC				; GO JOIN COMMON CODE

                                     0191   567 ;

                                     0191   568 ; ROUTINE TO BUILD QIO ARGS ON STACK

                                     0191   569 ; SETS P2 THRU EFN

                                     0191   570 ;

                                     0191   571 SETP2_EFN:

            50            8E     D0  0191   572 	MOVL	(SP)+,R0			; GET RETURN PC

            7E         10 A4     3C  0194   573 	MOVZWL	BDB$W_NUMB(R4),-(SP)		; P2 = XFER SIZE

                       14 A4     DD  0198   574 	PUSHL	BDB$L_ADDR(R4)			; P1 = BUFFER ADDR FROM BDB

                                     019B   575 	ASSUME	QIO$_ASTPRM EQ <QIO$_P1 - 4>

                          59     DD  019B   576 	PUSHL	R9				; ASTPRM = IRAB ADDR = R9

                                     019D   577 	ASSUME	QIO$_ASTADR EQ <QIO$_ASTPRM - 4>

                     0000'CF     DF  019D   578 	PUSHAL	W^RM$STALLAST			; AST ADDR

                                     01A1   579 	ASSUME	QIO$_IOSB EQ <QIO$_ASTADR - 4>

                       0C A9     DF  01A1   580 	PUSHAL	IRB$L_IOS(R9)			; IOSB ADDR

                                     01A4   581 	ASSUME	QIO$_FUNC EQ <QIO$_IOSB - 4>

            6A            18     E0  01A4   582 	BBS	#DEV$V_FOR,IFB$L_PRIM_DEV(R10),READ_LOG	; BRANCH IF FOREIGN DEV

                          3D         01A7       

                                     01A8   583 SETFUNC:

                          31     DD  01A8   584 	PUSHL	#IO$_READVBLK			; I/O FUNCTION CODE

                                     01AA   585 	ASSUME	QIO$_CHAN EQ <QIO$_FUNC - 4>

            7E         20 AA     3C  01AA   586 SETCHN:	MOVZWL	IFB$W_CHNL(R10),-(SP)		; I/O CHANNEL

                          41     13  01AE   587 	BEQL	ZERO_CHN			; BRANCH IF ZERO

                                     01B0   588 	ASSUME	QIO$_EFN EQ <QIO$_CHAN - 4>

                                     01B0   589 	ASSUME	IFB$B_EFN EQ IRB$B_EFN

                                     01B0   590 SETEFN:

                                     01B0   591 	ASSUME	IRB$C_BID&1 EQ 0

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  17

023             RM$SEQRD  -  ROUTINE TO PERFORM SEQUENTIAL READ                                                                  (1)



                                     01B0   592 	ASSUME	IFB$C_BID&1 EQ 1

                                     01B0   593 	ASSUME	IRB$B_BID EQ IFB$B_BID

            08         08 A9     E8  01B0   594 	BLBS	IRB$B_BID(R9),2$		; BRANCH IF IFAB

            69            23     E0  01B4   595 	BBS	#IRB$V_ASYNC,(R9),ASYNCEFN	; BRANCH IF ASYNC OPERATION

                          29         01B7       

            69            2A     E0  01B8   596 	BBS	#IRB$V_RAHWBH,(R9),ASYNCEFN	; BRANCH IF RAH/WBH CALL

                          25         01BB       

            7E         0B A9     9A  01BC   597 2$:	MOVZBL	IRB$B_EFN(R9),-(SP)		; USE ALLOCATED EFN

                          0F     12  01C0   598 	BNEQ	10$				; BRANCH IF ONE ALLOCATED

            6E            1B     90  01C2   599 	MOVB	#IMP$C_SYNCEFN,(SP)		; USE THE SYNC EFN

   00000000'9F            02     E2  01C5   600 	BBSS	#PIO$V_SYNC1,@#PIO$GW_STATUS,20$ ; CLAIM EFN

                          06         01CC       

         0B A9            6E     90  01CD   601 5$:	MOVB	(SP),IRB$B_EFN(R9)		; SAVE EFN

                          60     17  01D1   602 10$:	JMP	(R0)				; RETURN

                          6E     96  01D3   603 20$:	INCB	(SP)				; BUMP EFN

   00000000'9F            03     E3  01D5   604 	BBCS	#PIO$V_SYNC2,@#PIO$GW_STATUS,5$ ; CLAIM USE OF 2ND EFN

                          F0         01DC       

                          6E     96  01DD   605 	INCB	(SP)				; MUST USE THIRD EFN

                          EC     11  01DF   606 	BRB	5$

                                     01E1   607 ASYNCEFN:

                          1F     DD  01E1   608 	PUSHL	#IMP$C_ASYQIOEFN		; USE (THROW AWAY) ASYNC EFN

                          60     17  01E3   609 	JMP	(R0)				; RETURN

                                     01E5   610 ;

                                     01E5   611 READ_LOG:

                          21     DD  01E5   612 	PUSHL	#IO$_READLBLK			; SET READ LOGICAL FOR FOREIGN DEV

                          C1     11  01E7   613 	BRB	SETCHN				; REJOIN MAIN LINE

                                     01E9   614 ;

                                     01E9   615 ; GLOBAL ENTRY POINT TO SET THE IO CHANNEL AND EFN FOR IO

                                     01E9   616 ;

                                     01E9   617 RM$SETCHN_EFN::

                          01     BA  01E9   618 	POPR	#^M<R0>				; GET RETURN PC

                          BD     11  01EB   619 	BRB	SETCHN				; GO DO IT

                                     01ED   620 ;!!!!\ TEMPORARY UNTIL RM0FILFNC ABLE TO CALL RM$SETCHN_EFN\!!!!!

                                     01ED   621 RM$SETEFN::

                          01     BA  01ED   622 	POPR	#^M<R0>				; GET RETURN PC

                          BF     11  01EF   623 	BRB	SETEFN

                                     01F1   624 ;

                                     01F1   625 ; OUT OF LINE CODE TO HANDLE A ZERO CHANNEL WHICH INDICATES

                                     01F1   626 ; A SHARED FILE (I.E. IFAB IN R10 IS A SHARED IFAB)

                                     01F1   627 ;

                                     01F1   628 ZERO_CHN:

                                     01F1   629 	ASSUME	<IRB$C_BID&1> EQ 0

                                     01F1   630 	ASSUME	<IFB$C_BID&1> EQ 1

                                     01F1   631 	ASSUME	IRB$B_BID EQ IFB$B_BID

            09         08 A9     E8  01F1   632 	BLBS	IRB$B_BID(R9),40$		; BRANCH IF STRUC IS AN IFAB

                                     01F5   633 	ASSUME	IRB$L_IFAB_LNK EQ 0

            50            69     D0  01F5   634 	MOVL	(R9),R0				; GET NON SHARED IFAB ADDRESS

            6E         20 A0     B0  01F8   635 30$:	MOVW	IFB$W_CHNL(R0),(SP)		; GET CHANNEL

                          B2     11  01FC   636 	BRB	SETEFN				; GO BACK AND SET EFN

            50            59     D0  01FE   637 40$:	MOVL	R9,R0				; SET R0 = NON SHARED IFAB

                          F5     11  0201   638 	BRB	30$				; AND GO GET CHANNEL

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  18

023             RM$SEQWT  -  ROUTINE TO PERFORM SEQUENTIAL WRIT                                                                  (2)



                                     0203   640 	.SBTTL	RM$SEQWT  -  ROUTINE TO PERFORM SEQUENTIAL WRITES

                                     0203   641 ;++

                                     0203   642 ; FUNCTIONAL DESCRIPTION:

                                     0203   643 ;

                                     0203   644 ; THIS ROUTINE PERFORMS WRITE VIRTUAL BLOCK FOR THE SEQUENTIAL

                                     0203   645 ; FILE ORGANIZATION. ONE OF SEVERAL FLAVORS IS PERFORMED

                                     0203   646 ; DEPENDING UPON WHETHER THE DEVICE IS A UNIT RECORD

                                     0203   647 ; DEVICE AND WHETHER WRITE-BEHIND MULTI-BUFFER IS IN PROGRESS.

                                     0203   648 ;

                                     0203   649 ; CALLING SEQUENCE:

                                     0203   650 ;

                                     0203   651 ;	BSBW	RM$SEQWTBD - WRITE TO A BLOCK DEVICE

                                     0203   652 ;	BSBW	RM$SEQWTUR - WRITE TO A UNIT RECORD DEVICE

                                     0203   653 ;

                                     0203   654 ; INPUT PARAMETERS:

                                     0203   655 ;

                                     0203   656 ;	R11	IMPURE AREA ADDR

                                     0203   657 ;	R10	IFAB ADDR

                                     0203   658 ;	R9	IRAB ADDR

                                     0203   659 ;	R8	RAB ADDR

                                     0203   660 ;	R4	BDB ADDR OF BUFFER TO WRITE

                                     0203   661 ;

                                     0203   662 ; IMPLICIT INPUTS:

                                     0203   663 ;

                                     0203   664 ;	RAB$V_WBH	USER WANTS WRITE BEHIND OPTION

                                     0203   665 ;	IRB$V_RAHWBH	WRITE BEHIND PROCESSING FLAG

                                     0203   666 ;	BDB$L_ADDR	ADDRESS OF BUFFER

                                     0203   667 ;	BDB$L_VBN	VBN TO WRITE (BLOCK DEVICE)

                                     0203   668 ;	BDB$W_NUMB	# BYTES TO WRITE

                                     0203   669 ;	BDB$B_CAR_CTL	CARRIAGE CONTROL BYTE (UNIT RECORD DEVICE)

                                     0203   670 ;	IFB$L_CHNL	I/O CHANNEL

                                     0203   671 ;

                                     0203   672 ; OUTPUTS:

                                     0203   673 ;

                                     0203   674 ;	R0	STATUS CODE

                                     0203   675 ;	R1-R3	DESTROYED

                                     0203   676 ;

                                     0203   677 ; IMPLICIT OUTPUTS:

                                     0203   678 ;

                                     0203   679 ;	BDB$V_DRT		CLEARED

                                     0203   680 ; IF NOT WRITE BEHIND:

                                     0203   681 ;	IRB$L_IOS,IRB$L_IOS4	SYSTEM SPECIFIED I/O STATUS BLOCK DATA

                                     0203   682 ;	RAB$L_STV		SYSTEM ERROR CODE IF SYS ERROR

                                     0203   683 ; IF WRITE BEHIND:

                                     0203   684 ;	BDB$V_IOP		SET

                                     0203   685 ;

                                     0203   686 ; STATUS CODES:

                                     0203   687 ;

                                     0203   688 ;	STANDARD RMS, IN PARTICULAR, SUC, EOF, AND SYS.

                                     0203   689 ;

                                     0203   690 ; SIDE EFFECTS:

                                     0203   691 ;

                                     0203   692 ;	IF WRITE BEHIND, AN AST WILL OCCUR AT RM$RAHWBHAST

                                     0203   693 ;	UPON I/O COMPLETION

                                     0203   694 ;

                                     0203   695 ;	IF NOT WRITE BEHIND, MAY HAVE SWITCHED TO RUNNING AT AST LEVEL.

                                     0203   696 ;

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  19

023             RM$SEQWT  -  ROUTINE TO PERFORM SEQUENTIAL WRIT                                                                  (2)



                                     0203   697 ;--

                                     0203   698 ;

                                     0203   699 ; WRITE TO A UNIT RECORD DEVICE - BUILD ARG LIST ON STACK

                                     0203   700 ; NOTE: NOT DOING WRITE BEHIND TO UNIT RECORD DEVICE

                                     0203   701 ;

                                     0203   702 RM$SEQWTUR::

                                     0203   703 	$TSTPT	SEQWTUR

                 00000200'9F     D6  0203       		INCL	@#PIO$GL_FMLH+512+TPT$L_SEQWTUR

                                     0209   704 ;

                                     0209   705 ; PERFORM REMOTE FILE ACCESS USING NETWORK SPECIFIC CODE. HOWEVER,

                                     0209   706 ; PERFORM TASK-TO-TASK COMMUNICATION USING STANDARD RMS CODE.

                                     0209   707 ;

            6A            3E     E0  0209   708 	BBS	#IFB$V_DAP,(R10),NTPUT		; BRANCH IF REMOTE ACCESS VIA DAP

                          59         020C       

                          7E     7C  020D   709 	CLRQ	-(SP)				; P6,P5 = 0

                          7E     7C  020F   710 	CLRQ	-(SP)				; P4,P3 = 0

                                     0211   711 	ASSUME	BDB$B_PRE_CCTL+1 EQ BDB$B_POST_CCTL

         06 AE         22 A4     B0  0211   712 	MOVW	BDB$B_PRE_CCTL(R4),6(SP)	; P4 = CARRIAGE CONTROL

                          21     11  0216   713 	BRB	WTCOMM

                                     0218   714 ;

                                     0218   715 ; WRITE TO A BLOCK DEVICE - BUILD ARG LIST ON STACK

                                     0218   716 ;

                                     0218   717 RM$SEQWTBD::

                                     0218   718 	$TSTPT	SEQWTBD

                 00000200'9F     D6  0218       		INCL	@#PIO$GL_FMLH+512+TPT$L_SEQWTBD

            69            2A     E1  021E   719 	BBC	#IRB$V_RAHWBH,(R9),RM$WTBUFWT	; BRANCH IF WBH NOT ENABLED

                          14         0221       

            68            2A     E1  0222   720 	BBC	#RAB$V_WBH+ROP,(R8),RM$WTBUFWT	; OR USER DOES NOT BUY IN

                          10         0225       

                          FF42   30  0226   721 	BSBW	SETP6_P3			; SETUP QIO CALL ARG BLOCK ON STACK

                          FF4B   30  0229   722 	BSBW	SETP2_EFN_RAH

            5C            01     D0  022C   723 	MOVL	#1,AP				; SET WRITE BEHIND FLAG

         0A A4            02     E3  022F   724 	BBCS	#BDB$V_IOP,BDB$B_FLGS(R4),WTCOM1 ; SET IOP AND JOIN COMMON CODE

                          0A         0233       

                          08     11  0234   725 	BRB	WTCOM1				; !! JUST IN CASE !!

                                     0236   726 

                                     0236   727 RM$WTBUFWT::

                          FF32   30  0236   728 	BSBW	SETP6_P3			; P6=P5=P4=0, P3 = VBN

                                     0239   729 ;

                                     0239   730 ; BUILD REMAINING ARGUMENT LIST ON STACK

                                     0239   731 ;

                          FF55   30  0239   732 WTCOMM:	BSBW	SETP2_EFN			; BUILD P2 THRU EFN ON STACK

                          5C     D4  023C   733 	CLRL	AP				; CLEAR WRITE BEHIND FLAG

                                     023E   734 	ASSUME	IO$_WRITEVBLK EQ IO$_READVBLK-1

                                     023E   735 	ASSUME	IO$_WRITELBLK EQ IO$_READLBLK-1

                       08 AE     D7  023E   736 WTCOM1:	DECL	QIO$_FUNC-4(SP)			; CHANGE TO WRITE

            6A            02     E1  0241   737 	BBC	#DEV$V_TRM,IFB$L_PRIM_DEV(R10),10$	; BRANCH IF NOT TERMINAL

                          09         0244       

            68            3F     E1  0245   738 	BBC	#RAB$V_CCO+ROP,(R8),10$		; BRANCH IF CCO NOT SPECED

                          05         0248       

                                     0249   739 	SSB	#IO$V_CANCTRLO,QIO$_FUNC-4(SP)	; CANCEL CONTROL O

         08 AE            06     E2  0249       		BBSS	#IO$V_CANCTRLO,QIO$_FUNC-4(SP),30004$

                          00         024D       

                                     024E       30004$:

                                     024E   740 	ASSUME	QIO$_NARGS EQ 12

         0A A4            02     8A  024E   741 10$:	BICB2	#1@BDB$V_DRT, BDB$B_FLGS(R4)	; SAY NOT DIRTY ANYMORE

   00000000'9F            0C     FB  0252   742 	CALLS	#12,@#SYS$QIO			; DO THE QIO

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  20

023             RM$SEQWT  -  ROUTINE TO PERFORM SEQUENTIAL WRIT                                                                  (2)



            0D            50     E9  0259   743 	BLBC	R0,ERRQIO1

            06            5C     E8  025C   744 	BLBS	AP,20$				; BRANCH IF WRITE BEHIND CALL

                          FD9E'  30  025F   745 	BSBW	RM$STALL			; AWAIT COMPLETION

            0C            50     E9  0262   746 	BLBC	R0,ERRWRT			; BRANCH ON ERROR

                                 05  0265   747 20$:	RSB

                                     0266   748 ;++

                                     0266   749 ;

                                     0266   750 ; PERFORM NETWORK PUT FUNCTION VIA THE REMOTE FAL

                                     0266   751 ;

                                     0266   752 ;--

                                     0266   753 NTPUT:	$PSECT_BR	NF$NETWORK

                          FDAB'  31  0266       		BRW	NF$NETWORK6

                                     0269       		.SAVE

                                 00000014       		.PSECT	NF$NETWORK,GBL,NOWRT

                                     0014       NF$NETWORK6:

                          FFE9'  30  0014   754 	BSBW	NT$PUT1				; PUT THE RECORD

                                 05  0017   755 	RSB					; EXIT

                                     0018   756 	$PSECT_RESTORE

                                 00000269       		.RESTORE

                                     0269   757 ;

                                     0269   758 ; ERROR ON QIO CALL

                                     0269   759 ;

                                     0269   760 ERRQIO1:

                                     0269   761 	CSB	#BDB$V_IOP,BDB$B_FLGS(R4)	; MAKE SURE IOP IS NOT SET

         0A A4            02     E5  0269       		BBCC	#BDB$V_IOP,BDB$B_FLGS(R4),30005$

                          00         026D       

                                     026E       30005$:

                          FEB1   31  026E   762 	BRW	ERRSYS

                                     0271   763 ;

                                     0271   764 ; ERROR WRITING - SET DEFAULT ERROR CODE AND GO MAP IF POSSIBLE

                                     0271   765 ;

                                     0271   766 ERRWRT:	$PSECT_BR	L$RMS1

                          FD9F'  31  0271       		BRW	L$RMS17

                                     0274       		.SAVE

                                 00000013       		.PSECT	L$RMS1,GBL,NOWRT

                                     0013       L$RMS17:

                                     0013   767 

                                     0013   768 	RMSERR	WER,R1

            51       0000'8F     3C  0013       		MOVZWL	#<RMS$_WER&^XFFFF>,R1

                          FFE5'  31  0018   769 	BRW	RM$MAPERR

                                     001B   770 	$PSECT_RESTORE

                                 00000274       		.RESTORE

                                     0274   771 	.END

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  21

SYMBOL TABLE                                                                                                                     (2)



$$.PSECT_EP    = 00000008            DEV$M_GEN      = 00020000            FTL$_BADLEVEL  = FFFFFFE6            

$$ARGS         = 0000000C            DEV$M_IDV      = 04000000            FTL$_BADORGCASE= FFFFFFFB            

$$RMSTEST      = 0000001A            DEV$M_MBX      = 00100000            FTL$_CANTDOAST = FFFFFFF7            

$$RMS_PBUGCHK  = 00000010            DEV$M_MNT      = 00080000            FTL$_DEALLERR  = FFFFFFEF            

$$RMS_TBUGCHK  = 00000008            DEV$M_NET      = 00002000            FTL$_GTCHNFAIL = FFFFFFFC            

$$RMS_UMODE    = 00000004            DEV$M_ODV      = 08000000            FTL$_IORNDN    = FFFFFFEE            

$$T1           = 00000034            DEV$M_RCK      = 40000000            FTL$_LOCKFAILED= FFFFFFE7            

ASYNCEFN         000001E1 R     02   DEV$M_REC      = 00000001            FTL$_NOASB     = FFFFFFF5            

BDB$B_BID        00000008            DEV$M_RND      = 10000000            FTL$_NODIDORFID= FFFFFFEB            

BDB$B_BLN        00000009            DEV$M_RTM      = 20000000            FTL$_NOLOCKBDB = FFFFFFE9            

BDB$B_FLGS       0000000A            DEV$M_SDI      = 00000010            FTL$_NONETWORK = FFFFFFE8            

BDB$B_POST_CCTL  00000023            DEV$M_SHR      = 00010000            FTL$_NONXTBDB  = FFFFFFF4            

BDB$B_PRE_CCTL   00000022            DEV$M_SPL      = 00000040            FTL$_NOSTRUCT  = FFFFFFF6            

BDB$B_REL_VBN    00000020            DEV$M_SQD      = 00000020            FTL$_NOTLOCKED = FFFFFFEC            

BDB$B_USECNT     0000000B            DEV$M_SWL      = 02000000            FTL$_RELEASFAIL= FFFFFFEA            

BDB$B_VAL_VBNS   00000021            DEV$M_TRM      = 00000004            FTL$_SETPRTFAIL= FFFFFFFF            

BDB$C_BID      = 0000000C            DEV$M_WCK      = 80000000            FTL$_STKTOOBIG = FFFFFFFE            

BDB$C_BLN        00000028            DEV$V_ALL      = 00000017            FTL$_XFERSIZE  = FFFFFFED            

BDB$K_BLN        00000028            DEV$V_AVL      = 00000012            GBL...         = 00000000            

BDB$L_ADDR       00000014            DEV$V_CCL      = 00000001            IFB$B_AMAX       00000059            

BDB$L_BLINK      00000004            DEV$V_DIR      = 00000003            IFB$B_AVBN       00000058            

BDB$L_CURBUFADR  00000024            DEV$V_DMT      = 00000015            IFB$B_BID        00000008            

BDB$L_FLINK      00000000            DEV$V_ELG      = 00000016            IFB$B_BKS        0000004A            

BDB$L_IOSB       00000020            DEV$V_FOD      = 0000000E            IFB$B_BLN        00000009            

BDB$L_OWN        0000000C            DEV$V_FOR      = 00000018            IFB$B_EFN        0000000B            

BDB$L_VBN        00000018            DEV$V_GEN      = 00000011            IFB$B_EXTRABUF   0000005D            

BDB$L_WAIT       0000001C            DEV$V_IDV      = 0000001A            IFB$B_FAC        00000022            

BDB$L_WK1        00000020            DEV$V_MBX      = 00000014            IFB$B_FSZ        0000004B            

BDB$M_AST_DCL  = 00000040            DEV$V_MNT      = 00000013            IFB$B_KBUFSZ     0000005C            

BDB$M_DRT      = 00000002            DEV$V_NET      = 0000000D            IFB$B_MODE       0000000A            

BDB$M_IOP      = 00000004            DEV$V_ODV      = 0000001B            IFB$B_NUM_KEYS   0000005A            

BDB$M_LKDINWS  = 00000080            DEV$V_RCK      = 0000001E            IFB$B_ORGCASE    00000023            

BDB$M_NOLOCATE = 00000010            DEV$V_REC      = 00000000            IFB$B_RAT        0000003D            

BDB$M_PRM      = 00000008            DEV$V_RND      = 0000001C            IFB$B_RFMORG     0000003C            

BDB$M_VAL      = 00000001            DEV$V_RTM      = 0000001D            IFB$B_UBUFSZ     0000005B            

BDB$M_WFO      = 00000020            DEV$V_SDI      = 00000004            IFB$C_BID      = 0000000B            

BDB$V_AST_DCL  = 00000006            DEV$V_SHR      = 00000010            IFB$C_BLN        00000060            

BDB$V_DRT      = 00000001            DEV$V_SPL      = 00000006            IFB$C_BLN_IDX    00000060            

BDB$V_IOP      = 00000002            DEV$V_SQD      = 00000005            IFB$C_BLN_REL    00000060            

BDB$V_LKDINWS  = 00000007            DEV$V_SWL      = 00000019            IFB$C_BLN_SEQ    0000005C            

BDB$V_NOLOCATE = 00000004            DEV$V_TRM      = 00000002            IFB$C_DIR      = 00000003            

BDB$V_PRM      = 00000003            DEV$V_WCK      = 0000001F            IFB$C_FHAEND     00000050            

BDB$V_VAL      = 00000000            DOQIO            000000F6 R     02   IFB$C_IDX      = 00000002            

BDB$V_WFO      = 00000005            EOF              0000002D R     06   IFB$C_MAXORG   = 00000002            

BDB$W_NUMB       00000010            ER1EOF           00000128 R     02   IFB$C_REL      = 00000001            

BDB$W_SIZE       00000012            ERRBUG           0000012F R     02   IFB$C_SEQ      = 00000000            

BIT...         = 00000000            ERRPBF           00000168 R     02   IFB$K_BLN        00000060            

CHKEOF           0000000C R     06   ERRQIO           0000002A R     06   IFB$K_BLN_IDX    00000060            

CTRLZ          = 0000001A            ERRQIO1          00000269 R     02   IFB$K_BLN_REL    00000060            

DEV$M_ALL      = 00800000            ERRSYS           00000122 R     02   IFB$K_BLN_SEQ    0000005C            

DEV$M_AVL      = 00040000            ERRWRT           00000271 R     02   IFB$K_FHAEND     00000050            

DEV$M_CCL      = 00000002            ERR_READ         00000125 R     02   IFB$L_ARGLST     00000018            

DEV$M_DIR      = 00000008            FTL$_ASBALLFAIL= FFFFFFF9            IFB$L_ASBADDR    00000014            

DEV$M_DMT      = 00200000            FTL$_BADASTPRM = FFFFFFF8            IFB$L_AS_DEV     00000054            

DEV$M_ELG      = 00400000            FTL$_BADBDB    = FFFFFFFA            IFB$L_BDB_BLNK   00000034            

DEV$M_FOD      = 00004000            FTL$_BADBUFSIZ = FFFFFFF3            IFB$L_BDB_FLNK   00000030            

DEV$M_FOR      = 01000000            FTL$_BADIFAB   = FFFFFFFD            IFB$L_BKPBITS    00000004            

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  22

SYMBOL TABLE                                                                                                                     (2)



IFB$L_BWB        0000000C            IFB$V_SPL      = 00000029            IO$M_DMOUNT    = 00000400            

IFB$L_DVBN       00000058            IFB$V_SQO      = 0000002D            IO$M_DSABLMBX  = 00000400            

IFB$L_EBK        00000044            IFB$V_TEF      = 00000036            IO$M_ENABLMBX  = 00000080            

IFB$L_FRB_PTR    00000028            IFB$V_TMP      = 00000035            IO$M_FCODE     = 0000003F            

IFB$L_FWA_BDB    00000050            IFB$V_TRN      = 00000004            IO$M_HANGUP    = 00000200            

IFB$L_HBK        00000040            IFB$V_UPD      = 00000003            IO$M_INHERLOG  = 00000800            

IFB$L_IDX_PTR    00000054            IFB$V_WRTACC   = 00000030            IO$M_INHEXTGAP = 00001000            

IFB$L_IOS        0000000C            IFB$W_ASDEVBSIZ  0000005A            IO$M_INHRETRY  = 00008000            

IFB$L_IOS4       00000010            IFB$W_BKS_BYTES  0000005C            IO$M_INHSEEK   = 00001000            

IFB$L_IRAB_LNK   0000001C            IFB$W_BKS_RECS   0000005E            IO$M_INTERRUPT = 00000040            

IFB$L_LAST_FAB   00000024            IFB$W_CHNL       00000020            IO$M_INTSKIP   = 00000100            

IFB$L_LOCK_BDB   00000050            IFB$W_DEQ        0000004E            IO$M_MOUNT     = 00000200            

IFB$L_MRN        00000054            IFB$W_DEVBUFSIZ  00000038            IO$M_NOECHO    = 00000040            

IFB$L_NRP_LNK    00000050            IFB$W_EBK0       00000044            IO$M_NOFILTR   = 00000200            

IFB$L_NWA_PTR    00000028            IFB$W_EBK2       00000046            IO$M_NOFORMAT  = 00000100            

IFB$L_PRIM_DEV   00000000            IFB$W_FFB        00000048            IO$M_NOW       = 00000040            

IFB$L_RLB_LNK    0000002C            IFB$W_IOS2       0000000E            IO$M_NOWAIT    = 00000080            

IFB$L_RNS_LEN    00000050            IFB$W_LRL        0000003E            IO$M_PACKED    = 00000080            

IFB$M_BIO      = 00000020            IFB$W_MRS        0000004C            IO$M_PURGE     = 00000800            

IFB$M_BRO      = 00000040            IFB$W_RTDEQ      0000003A            IO$M_READATTN  = 00000080            

IFB$M_DEL      = 00000004            IMP$B_PROT       00000002            IO$M_REVERSE   = 00000040            

IFB$M_EXE      = 00000080            IMP$C_ASYEFN   = 0000001E            IO$M_SHUTDOWN  = 00000080            

IFB$M_GET      = 00000002            IMP$C_ASYQIOEFN= 0000001F            IO$M_STARTUP   = 00000040            

IFB$M_PUT      = 00000001            IMP$C_ENTPERSEG= 0000000F            IO$M_SYNCH     = 00000200            

IFB$M_TRN      = 00000010            IMP$C_IOREFN   = 0000001E            IO$M_TIMED     = 00000080            

IFB$M_UPD      = 00000008            IMP$C_MBXEFN   = 0000001A            IO$M_TRMNOECHO = 00001000            

IFB$S_ORG      = 00000004            IMP$C_NPIOFILES= 0000000C            IO$M_WRTATTN   = 00000100            

IFB$S_RFM      = 00000004            IMP$C_SYNCEFN  = 0000001B            IO$S_FCODE     = 00000006            

IFB$V_ACCESSED = 00000025            IMP$L_FREEPGLH   0000000C            IO$V_ABORT     = 00000008            

IFB$V_ANSI_D   = 00000026            IMP$L_IFABTBL    00000018            IO$V_ACCESS    = 00000006            

IFB$V_ASYNC    = 00000023            IMP$L_IFBTBLINK  00000024            IO$V_ATTNAST   = 00000008            

IFB$V_ASYNCWAIT= 00000024            IMP$L_IOSEGADDR  00000004            IO$V_BINARY    = 00000006            

IFB$V_BIO      = 00000005            IMP$L_IOSEGLEN   00000008            IO$V_CANCTRLO  = 00000006            

IFB$V_BRO      = 00000006            IMP$L_IRABTBL    0000001C            IO$V_COMMOD    = 00000006            

IFB$V_BUSY     = 00000020            IMP$L_IRBTBLINK  00000064            IO$V_CREATE    = 00000007            

IFB$V_CREATE   = 00000032            IMP$L_SAVED_SP   00000014            IO$V_CTRLCAST  = 00000008            

IFB$V_DAP      = 0000003E            IMP$V_AST      = 00000001            IO$V_CTRLYAST  = 00000007            

IFB$V_DAP_OPEN = 0000003D            IMP$V_IIOS     = 00000000            IO$V_CVTLOW    = 00000008            

IFB$V_DEL      = 00000002            IMP$V_IORUNDOWN= 00000004            IO$V_DATACHECK = 0000000E            

IFB$V_DFW      = 0000002C            IMP$V_NOP0BUFS = 00000005            IO$V_DELETE    = 00000008            

IFB$V_DLT      = 0000002B            IMP$V_TEMP1    = 00000002            IO$V_DMOUNT    = 0000000A            

IFB$V_DMO      = 00000028            IMP$V_TEMP2    = 00000003            IO$V_DSABLMBX  = 0000000A            

IFB$V_EOF      = 00000021            IMP$W_ENTPERSEG  00000020            IO$V_ENABLMBX  = 00000007            

IFB$V_EXE      = 00000007            IMP$W_NUM_IFABS  00000022            IO$V_FCODE     = 00000000            

IFB$V_GET      = 00000001            IMP$W_RMSSTATUS  00000000            IO$V_HANGUP    = 00000009            

IFB$V_MSE      = 00000031            IO$M_ABORT     = 00000100            IO$V_INHERLOG  = 0000000B            

IFB$V_NORECLK  = 00000033            IO$M_ACCESS    = 00000040            IO$V_INHEXTGAP = 0000000C            

IFB$V_NSP      = 0000003F            IO$M_ATTNAST   = 00000100            IO$V_INHRETRY  = 0000000F            

IFB$V_NWA      = 0000003C            IO$M_BINARY    = 00000040            IO$V_INHSEEK   = 0000000C            

IFB$V_ORG      = 00000004            IO$M_CANCTRLO  = 00000040            IO$V_INTERRUPT = 00000006            

IFB$V_PPF_IMAGE= 00000022            IO$M_COMMOD    = 00000040            IO$V_INTSKIP   = 00000008            

IFB$V_PPF_INPUT= 0000002E            IO$M_CREATE    = 00000080            IO$V_MOUNT     = 00000009            

IFB$V_PUT      = 00000000            IO$M_CTRLCAST  = 00000100            IO$V_NOECHO    = 00000006            

IFB$V_RFM      = 00000000            IO$M_CTRLYAST  = 00000080            IO$V_NOFILTR   = 00000009            

IFB$V_RWC      = 00000027            IO$M_CVTLOW    = 00000100            IO$V_NOFORMAT  = 00000008            

IFB$V_RW_ATTR  = 00000034            IO$M_DATACHECK = 00004000            IO$V_NOW       = 00000006            

IFB$V_SCF      = 0000002A            IO$M_DELETE    = 00000100            IO$V_NOWAIT    = 00000007            

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  23

SYMBOL TABLE                                                                                                                     (2)



IO$V_PACKED    = 00000007            IO$_WRITETRACKD= 0000000F            IRB$V_BRO_SW   = 00000028            

IO$V_PURGE     = 0000000B            IO$_WRITEVBLK  = 00000030            IRB$V_BUSY     = 00000020            

IO$V_READATTN  = 00000007            IRB$B_BCNT       00000040            IRB$V_DAP_CONN = 0000003E            

IO$V_REVERSE   = 00000006            IRB$B_BID        00000008            IRB$V_DAP_FMODE= 0000003F            

IO$V_SHUTDOWN  = 00000007            IRB$B_BLN        00000009            IRB$V_DUP      = 0000002C            

IO$V_STARTUP   = 00000006            IRB$B_EFN        0000000B            IRB$V_EOF      = 00000021            

IO$V_SYNCH     = 00000009            IRB$B_KEYSZ      00000051            IRB$V_FIND     = 00000029            

IO$V_TIMED     = 00000007            IRB$B_MBC        00000041            IRB$V_FIND_LAST= 00000025            

IO$V_TRMNOECHO = 0000000C            IRB$B_MODE       0000000A            IRB$V_IDX_ERR  = 00000031            

IO$V_WRTATTN   = 00000008            IRB$B_NRP_ID     00000030            IRB$V_LOCKABOVE= 00000002            

IO$_ACCESS     = 00000032            IRB$B_NRP_KREF   00000031            IRB$V_NEW_IDX  = 00000003            

IO$_ACPCONTROL = 00000038            IRB$B_NVBNS      00000048            IRB$V_POSINSERT= 00000000            

IO$_CREATE     = 00000033            IRB$B_POST_CCTL  00000045            IRB$V_PPF_EOF  = 0000002E            

IO$_DEACCESS   = 00000034            IRB$B_PPF_ISI    0000003E            IRB$V_PPF_FNDSV= 00000030            

IO$_DELETE     = 00000035            IRB$B_PRE_CCTL   00000044            IRB$V_PPF_IMAGE= 00000022            

IO$_DIAGNOSE   = 0000001D            IRB$B_RFA_ID     00000058            IRB$V_PPF_SKIP = 0000002F            

IO$_DRVCLR     = 00000004            IRB$B_RP_ID      00000038            IRB$V_PUTS_LAST= 00000026            

IO$_ERASETAPE  = 00000006            IRB$B_RP_KREF    00000039            IRB$V_RAHWBH   = 0000002A            

IO$_LOGICAL    = 0000002F            IRB$B_RRV_ID     00000050            IRB$V_SKIP_NEXT= 0000002B            

IO$_MODIFY     = 00000036            IRB$B_SRCHFLAGS  00000043            IRB$V_SRCHGT   = 00000001            

IO$_MOUNT      = 00000039            IRB$B_STOPLEVEL  00000042            IRB$V_UNLOCK_RP= 0000002D            

IO$_NOP        = 00000000            IRB$C_BID      = 0000000A            IRB$V_WRITE    = 00000029            

IO$_OFFSET     = 00000006            IRB$C_BLN_IDX    0000006C            IRB$W_CSIZ       00000042            

IO$_PACKACK    = 00000008            IRB$C_BLN_REL    00000048            IRB$W_DUP_POS    00000032            

IO$_PHYSICAL   = 0000001F            IRB$C_BLN_SEQ    0000004C            IRB$W_IOS2       0000000E            

IO$_READHEAD   = 0000000E            IRB$K_BLN_IDX    0000006C            IRB$W_NRP_OFF    00000030            

IO$_READLBLK   = 00000021            IRB$K_BLN_REL    00000048            IRB$W_OWN_ID     0000003C            

IO$_READPBLK   = 0000000C            IRB$K_BLN_SEQ    0000004C            IRB$W_OWN_ISI    0000003E            

IO$_READPRESET = 00000019            IRB$L_ARGLST     00000018            IRB$W_ROVHDSZ    00000044            

IO$_READPROMPT = 00000037            IRB$L_ASBADDR    00000014            IRB$W_RP_OFF     00000038            

IO$_READTRACKD = 00000010            IRB$L_BKPBITS    00000004            IRB$W_RTOTLSZ    00000046            

IO$_READVBLK   = 00000031            IRB$L_BWB        0000000C            IRB$W_SAVE_POS   00000052            

IO$_RECAL      = 00000003            IRB$L_CURBDB     00000020            L$RMS10          00000000 R     04   

IO$_RELEASE    = 00000005            IRB$L_CURVBN     00000030            L$RMS15          0000000B R     04   

IO$_RETCENTER  = 00000007            IRB$L_IFAB_LNK   00000000            L$RMS17          00000013 R     04   

IO$_REWIND     = 00000024            IRB$L_IOS        0000000C            L$RMS1GET2       00000000 R     06   

IO$_REWINDOFF  = 00000022            IRB$L_IOS4       00000010            L$RMS1GET3       00000007 R     06   

IO$_SEARCH     = 00000009            IRB$L_IRAB_LNK   0000001C            L$RMS1GET4       0000002D R     06   

IO$_SEEK       = 00000002            IRB$L_KEYBUF     00000048            NF$NETWORK1      00000000 R     05   

IO$_SENSECHAR  = 0000001B            IRB$L_LAST_RAB   00000024            NF$NETWORK6      00000014 R     05   

IO$_SENSEMODE  = 00000027            IRB$L_LOCK_BDB   0000005C            NT$GET1          ********   X   05   

IO$_SETCHAR    = 0000001A            IRB$L_NRP        0000002C            NT$PUT1          ********   X   05   

IO$_SETMODE    = 00000023            IRB$L_NRP_OFF    00000030            NTGET            0000011F R     02   

IO$_SKIPFILE   = 00000025            IRB$L_NRP_VBN    0000002C            NTPUT            00000266 R     02   

IO$_SKIPRECORD = 00000026            IRB$L_NXTBDB     00000028            PIO$GL_FMLH      ********   X   02   

IO$_SPACEFILE  = 00000002            IRB$L_OWNER_ID   0000003C            PIO$GW_STATUS    ********   X   02   

IO$_SPACERECORD= 00000009            IRB$L_RFA_VBN    00000054            PIO$V_EOD      = 00000001            

IO$_STARTSPNDL = 00000019            IRB$L_RLB_ADDR   00000044            PIO$V_INHAST   = 00000000            

IO$_UNLOAD     = 00000001            IRB$L_RP         00000034            PIO$V_SYNC1    = 00000002            

IO$_VIRTUAL    = 0000003F            IRB$L_RP_OFF     00000038            PIO$V_SYNC2    = 00000003            

IO$_WRITECHECK = 0000000A            IRB$L_RP_VBN     00000034            QIO$_ASTADR    = 00000014            

IO$_WRITECHECKH= 00000018            IRB$L_RRV_VBN    0000004C            QIO$_ASTPRM    = 00000018            

IO$_WRITEHEAD  = 0000000D            IRB$L_TEMP0      00000044            QIO$_CHAN      = 00000008            

IO$_WRITELBLK  = 00000020            IRB$L_TEMP1      00000048            QIO$_EFN       = 00000004            

IO$_WRITEMARK  = 0000001C            IRB$V_ASYNC    = 00000023            QIO$_FUNC      = 0000000C            

IO$_WRITEOF    = 00000028            IRB$V_ASYNCWAIT= 00000024            QIO$_IOSB      = 00000010            

IO$_WRITEPBLK  = 0000000B            IRB$V_BIO_LAST = 00000027            QIO$_NARGS     = 0000000C            

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  24

SYMBOL TABLE                                                                                                                     (2)



QIO$_P1        = 0000001C            RAB$M_RAH      = 00000200            RM$SETEFN        000001ED RG    02   

QIO$_P2        = 00000020            RAB$M_RLK      = 00080000            RM$STALL         ********   X   02   

QIO$_P3        = 00000024            RAB$M_RNE      = 01000000            RM$STALLAST      ********   X   02   

QIO$_P4        = 00000028            RAB$M_RNF      = 08000000            RM$STALLRAHWBH   00000058 RG    02   

QIO$_P5        = 0000002C            RAB$M_TMO      = 02000000            RM$WTBUFWT       00000236 RG    02   

QIO$_P6        = 00000030            RAB$M_TPT      = 00000002            RMS$_EOF         ********   X   05   

QIODONE          00000103 R     02   RAB$M_UIF      = 00000010            RMS$_PBF         ********   X   04   

RAB$B_BID        00000000            RAB$M_ULK      = 00040000            RMS$_RER         ********   X   06   

RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            RMS$_SYS         ********   X   06   

RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            RMS$_TMO         ********   X   06   

RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            RMS$_WBE         ********   X   04   

RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            RMS$_WER         ********   X   04   

RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            ROP            = 00000020            

RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            SETCHN           000001AA R     02   

RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            SETCNT           00000119 R     02   

RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            SETEFN           000001B0 R     02   

RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            SETFUNC          000001A8 R     02   

RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            SETP2_EFN        00000191 R     02   

RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            SETP2_EFN_RAH    00000177 R     02   

RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            SETP6_P3         0000016B R     02   

RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            SETVAL           00000115 R     02   

RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            SETVAL1          0000003A R     06   

RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            SS$_ABORT      = 0000002C            

RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            SS$_ACCONFLICT = 00000800            

RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            SS$_ACCVIO     = 0000000C            

RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            SS$_ACPVAFUL   = 000002FC            

RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            SS$_ARTRES     = 00000474            

RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            SS$_ASTFLT     = 0000040C            

RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            SS$_BADATTRIB  = 00000034            

RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            SS$_BADCHKSUM  = 00000808            

RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            SS$_BADESCAPE  = 0000003C            

RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            SS$_BADFILEHDR = 00000810            

RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            SS$_BADFILENAME= 00000818            

RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            SS$_BADFILEVER = 00000820            

RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            SS$_BADIMGHDR  = 00000044            

RAB$L_STS        00000008            RAB$V_TPT      = 00000001            SS$_BADIRECTORY= 00000828            

RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            SS$_BADPARAM   = 00000014            

RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            SS$_BADSTACK   = 000002B4            

RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            SS$_BEGOFFILE  = 00000938            

RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            SS$_BLOCKCNTERR= 00000940            

RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            SS$_BREAK      = 00000414            

RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            SS$_BUFBYTALI  = 0000030C            

RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            SS$_BUFFEROVF  = 00000601            

RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            SS$_BUGCHECK   = 000002A4            

RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            SS$_CANCEL     = 00000830            

RAB$M_KGE      = 00200000            READ_LOG         000001E5 R     02   SS$_CHANINTLK  = 0000004C            

RAB$M_KGT      = 00400000            RM$BUG           ********   X   02   SS$_CLIFRCEXT  = 00000980            

RAB$M_LIM      = 00004000            RM$MAPERR        ********   X   06   SS$_CMODSUPR   = 0000041C            

RAB$M_LOA      = 00002000            RM$QUIET_SEQMBF  00000028 RG    02   SS$_CMODUSER   = 00000424            

RAB$M_LOC      = 00010000            RM$RAHWBHAST     ********   X   02   SS$_COMPAT     = 0000042C            

RAB$M_MAS      = 00000020            RM$RDBUFWT       000000DA RG    02   SS$_CONTINUE   = 00000001            

RAB$M_NLK      = 00100000            RM$SEQFLNKBDB    00000077 RG    02   SS$_CONTROLC   = 00000651            

RAB$M_NXR      = 00800000            RM$SEQRAH        00000000 RG    02   SS$_CONTROLO   = 00000609            

RAB$M_PMT      = 40000000            RM$SEQRD         00000087 RG    02   SS$_CONTROLY   = 00000611            

RAB$M_PPF_IND  = 00004000            RM$SEQWTBD       00000218 RG    02   SS$_CREATED    = 00000619            

RAB$M_PPF_RAT  = 00003FC0            RM$SEQWTUR       00000203 RG    02   SS$_CTRLERR    = 00000054            

RAB$M_PTA      = 20000000            RM$SETCHN_EFN    000001E9 RG    02   SS$_DATACHECK  = 0000005C            

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  25

SYMBOL TABLE                                                                                                                     (2)



SS$_DATAOVERUN = 00000838            SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            

SS$_DEBUG      = 0000046C            SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            

SS$_DECOVF     = 000004A4            SS$_INSFRAME   = 0000012C            SS$_OPCDEC     = 0000043C            

SS$_DEVACTIVE  = 000002C4            SS$_INSFWSL    = 0000011C            SS$_OPINCOMPL  = 000002D4            

SS$_DEVALLOC   = 00000840            SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            

SS$_DEVALRALLOC= 00000641            SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            

SS$_DEVASSIGN  = 00000848            SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            

SS$_DEVFOREIGN = 00000064            SS$_IVCHAN     = 0000013C            SS$_PARTESCAPE = 000001FC            

SS$_DEVICEFULL = 00000850            SS$_IVCHNLSEC  = 0000026C            SS$_PFMBSY     = 00000204            

SS$_DEVMOUNT   = 0000006C            SS$_IVDEVNAM   = 00000144            SS$_PLHLDR     = 00000404            

SS$_DEVNOTALLOC= 00000858            SS$_IVGSDNAM   = 0000014C            SS$_PSTFULL    = 0000020C            

SS$_DEVNOTMBX  = 00000074            SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            

SS$_DEVNOTMOUNT= 0000007C            SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            

SS$_DEVOFFLINE = 00000084            SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            

SS$_DIRFULL    = 00000860            SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            

SS$_DRVERR     = 0000008C            SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            

SS$_DUPFILENAME= 00000868            SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            

SS$_DUPLNAM    = 00000094            SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            

SS$_ENDOFFILE  = 00000870            SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            

SS$_ENDOFTAPE  = 00000878            SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            

SS$_ENDOFUSRLBL= 00000970            SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            

SS$_EXQUOTA    = 0000001C            SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            

SS$_EXTIDXFILE = 00000880            SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            

SS$_FCPREADERR = 00000888            SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            

SS$_FCPREPSTN  = 00000988            SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            

SS$_FCPREWNDERR= 00000890            SS$_MCHECK     = 000002BC            SS$_TOOMUCHDATA= 0000029C            

SS$_FCPSPACERR = 00000898            SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_FCPWRITERR = 000008A0            SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_FILACCERR  = 0000009C            SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SS$_FILALRACC  = 000000A4            SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_FILELOCKED = 000008A8            SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_FILENUMCHK = 000008B0            SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_FILESEQCHK = 000008B8            SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_FILESTRUCT = 000008C0            SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_FILNOTACC  = 000000AC            SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_FILNOTCNTG = 000002AC            SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_FILNOTEXP  = 000000B4            SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_FLTDIV     = 00000494            SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_FLTOVF     = 0000048C            SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_FLTUND     = 0000049C            SS$_NONEXDRV   = 000001C4            SUCCESS          0000012B R     02   

SS$_FORMAT     = 000000BC            SS$_NONEXPR    = 000008E8            SYS$QIO          ********   X   02   

SS$_GPTFULL    = 000000C4            SS$_NONLOCAL   = 000008F0            TPT$L_SEQRD      ********   X   02   

SS$_GSDFULL    = 000000CC            SS$_NOPRIV     = 00000024            TPT$L_SEQWTBD    ********   X   02   

SS$_HANGUP     = 000002CC            SS$_NORMAL     = 00000001            TPT$L_SEQWTUR    ********   X   02   

SS$_HEADERFULL = 000008C8            SS$_NOSIGNAL   = 00000900            TRMREAD          00000133 R     02   

SS$_IDXFILEFULL= 000008D0            SS$_NOSOLICIT  = 00000284            TSTSIZ           00000032 R     06   

SS$_ILLBLKNUM  = 000000DC            SS$_NOSUCHDEV  = 00000908            TT$C_BAUD_110  = 00000003            

SS$_ILLCNTRFUNC= 000000E4            SS$_NOSUCHFILE = 00000910            TT$C_BAUD_1200 = 00000008            

SS$_ILLEFC     = 000000EC            SS$_NOSUCHNODE = 0000028C            TT$C_BAUD_134  = 00000004            

SS$_ILLIOFUNC  = 000000F4            SS$_NOSUCHSEC  = 00000978            TT$C_BAUD_150  = 00000005            

SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            TT$C_BAUD_1800 = 00000009            

SS$_ILLPAGCNT  = 000000FC            SS$_NOTFILEDEV = 000001CC            TT$C_BAUD_2000 = 0000000A            

SS$_ILLSEQOP   = 000002DC            SS$_NOTINTBLSZ = 000001D4            TT$C_BAUD_2400 = 0000000B            

SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            TT$C_BAUD_300  = 00000006            

SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            TT$C_BAUD_3600 = 0000000C            

SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            TT$C_BAUD_4800 = 0000000D            

SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            TT$C_BAUD_50   = 00000001            

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  26

SYMBOL TABLE                                                                                                                     (2)



TT$C_BAUD_600  = 00000007            TT$_VT5X       = 00000040            

TT$C_BAUD_7200 = 0000000E            WTCOM1           0000023E R     02   

TT$C_BAUD_75   = 00000002            WTCOMM           00000239 R     02   

TT$C_BAUD_9600 = 0000000F            XIT              00000086 R     02   

TT$M_ALTRPAR   = 00000020            ZERO_CHN         000001F1 R     02   

TT$M_CRFILL    = 00000400            

TT$M_EIGHTBIT  = 00008000            

TT$M_ESCAPE    = 00000008            

TT$M_HOLDSCREEN= 00004000            

TT$M_HOSTSYNC  = 00000010            

TT$M_LFFILL    = 00000800            

TT$M_LOWER     = 00000080            

TT$M_MBXDSABL  = 00010000            

TT$M_MECHTAB   = 00000100            

TT$M_NOBRDCST  = 00020000            

TT$M_NOECHO    = 00000002            

TT$M_NOTYPEAHD = 00000004            

TT$M_ODD       = 00000080            

TT$M_PAGE      = FE000000            

TT$M_PARITY    = 00000040            

TT$M_PASSALL   = 00000001            

TT$M_READSYNC  = 00040000            

TT$M_REMOTE    = 00002000            

TT$M_SCOPE     = 00001000            

TT$M_SCRIPT    = 00000040            

TT$M_TTSYNC    = 00000020            

TT$M_WRAP      = 00000200            

TT$S_PAGE      = 00000008            

TT$V_ALTRPAR   = 00000005            

TT$V_CRFILL    = 0000000A            

TT$V_EIGHTBIT  = 0000000F            

TT$V_ESCAPE    = 00000003            

TT$V_HOLDSCREEN= 0000000E            

TT$V_HOSTSYNC  = 00000004            

TT$V_LFFILL    = 0000000B            

TT$V_LOWER     = 00000007            

TT$V_MBXDSABL  = 00000010            

TT$V_MECHTAB   = 00000008            

TT$V_NOBRDCST  = 00000011            

TT$V_NOECHO    = 00000001            

TT$V_NOTYPEAHD = 00000002            

TT$V_ODD       = 00000007            

TT$V_PAGE      = 00000019            

TT$V_PARITY    = 00000006            

TT$V_PASSALL   = 00000000            

TT$V_READSYNC  = 00000012            

TT$V_REMOTE    = 0000000D            

TT$V_SCOPE     = 0000000C            

TT$V_SCRIPT    = 00000006            

TT$V_TTSYNC    = 00000005            

TT$V_WRAP      = 00000009            

TT$_LA36       = 00000020            

TT$_LAX        = 00000020            

TT$_UNKNOWN    = 00000000            

TT$_VT05       = 00000001            

TT$_VT52       = 00000040            

TT$_VT55       = 00000041            

RM1SEQXFR       TRANSFER BLOCK FOR SEQUENTIAL FILE ORG           21-AUG-1978 21:48:17   VAX-11 MACRO X0.3-11               Page  27

PROGRAM SECTION SYNOPSIS                                                                                                         (2)







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  

$RMS1            00000274      02     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

$ABS$            0000006C      03     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

L$RMS1           0000001B      04     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

NF$NETWORK       00000018      05     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

L$RMS1GET        0000003D      06     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

1796. BYTES LEFT IN FREE MEMORY POOL.

2214. BYTES OF RECLAIMED MEMORY.

OBJ$:RM1SEQXFR,LIS$:RM1SEQXFR/-SP=EXECML$/ML,LIB$:R/ML,SRC$:RM1SEQXFR

63 MLB DIR RDS - 1310 GETS TO DEFINE 35 MACROS. 120 INTER. FILE WRITES. 

