RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      43  DECLARATIONS

   (1)      69  RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   1

024                                                                                                                              (1)



                                     0000     1 	$BEGIN RM1CONN,024,F$RMSOPEN1,<SEQUENTIAL SPECIFIC CONNECT>

                                     0000     2 

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977, 1978

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

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

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

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

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

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

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

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

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

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

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

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

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

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ; FACILITY: RMS32

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:

                                     0000    27 ;		ROUTINE TO PERFORM SEQUENTIAL-SPECIFIC

                                     0000    28 ;		CONNECT PROCESSING.

                                     0000    29 ;

                                     0000    30 ; ENVIRONMENT:

                                     0000    31 ;		STAR PROCESSOR RUNNING STARLET EXEC.

                                     0000    32 ;

                                     0000    33 ; AUTHOR: L F LAVERDURE,	 CREATION DATE: 5-JAN-77

                                     0000    34 ;

                                     0000    35 ; MODIFIED BY:

                                     0000    36 ;

                                     0000    37 ;	R A NEWELL,      18-JUL-78  9:57

                                     0000    38 ;	L F LAVERDURE,   14-JUL-78  9:53

                                     0000    39 ;	J A KRYCKA,	 10-APR-78  10:00

                                     0000    40 ; 01	- 

                                     0000    41 ;--

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   2

024             DECLARATIONS                                                                                                     (1)



                                     0000    43 	.SBTTL	DECLARATIONS

                                     0000    44 ;

                                     0000    45 ; INCLUDE FILES:

                                     0000    46 ;

                                     0000    47 

                                     0000    48 ;

                                     0000    49 ; MACROS:

                                     0000    50 ;

                                     0000    51 	$IRBDEF

                                     0000    52 	$IFBDEF

                                     0000    53 	$RABDEF

                                     0000    54 	$FABDEF

                                     0000    55 	$DEVDEF

                                     0000    56 	$RMSDEF

                                     0000    57 	.LIST MEB

                                     0000    58 

                                     0000    59 ;

                                     0000    60 ; EQUATED SYMBOLS:

                                     0000    61 ;

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

                                     0000    63 

                                     0000    64 ;

                                     0000    65 ; OWN STORAGE:

                                     0000    66 ;

                                     0000    67 

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   3

024             RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU                                                                  (1)



                                     0000    69 	.SBTTL RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROUTINE

                                     0000    70 ;++

                                     0000    71 ; FUNCTIONAL DESCRIPTION:

                                     0000    72 ;

                                     0000    73 ;  THIS ROUTINE PERFORMS THE FOLLOWING FUNCTIONS REQUIRED

                                     0000    74 ;  FOR CONNECTING TO SEQUENTIAL FILES:

                                     0000    75 ;

                                     0000    76 ;	1. PERFORM VARIOUS VALIDITY CHECKS

                                     0000    77 ;	2. IF OPENED FOR BLOCK I/O ALLOCATE A LOCK BDB

                                     0000    78 ;	3. ALLOCATE REQUIRED BDB'S AND BUFFERS AND SAVE COUNT

                                     0000    79 ;

                                     0000    80 ;

                                     0000    81 ; CALLING SEQUENCE:

                                     0000    82 ;

                                     0000    83 ;	ENTERED VIA CASE BRANCH FROM RM$CONNECT

                                     0000    84 ;

                                     0000    85 ; INPUT PARAMETERS:

                                     0000    86 ;

                                     0000    87 ;	AP	ARGUMENT LIST ADDR

                                     0000    88 ;	R11	IMPURE AREA ADDR

                                     0000    89 ;	R10	IFAB ADDR

                                     0000    90 ;	R9	IRAB ADDR

                                     0000    91 ;	R8	RAB ADDR

                                     0000    92 ;

                                     0000    93 ; IMPLICIT INPUTS:

                                     0000    94 ;

                                     0000    95 ;	THE CONTENTS OF THE RAB AND IRAB BLOCKS

                                     0000    96 ;

                                     0000    97 ; OUTPUT PARAMETERS:

                                     0000    98 ;

                                     0000    99 ;	R0	STATUS

                                     0000   100 ;

                                     0000   101 ; IMPLICIT OUTPUTS:

                                     0000   102 ;

                                     0000   103 ;	SETS VARIOUS FIELDS IN THE IRAB AND IFAB.

                                     0000   104 ;

                                     0000   105 ; COMPLETION CODES:

                                     0000   106 ;

                                     0000   107 ;	THE STANDARD RMS STATUS CODE IS SET INTO R0 AND

                                     0000   108 ;	RETURN IS MADE TO THE USER (NOT CALLER).

                                     0000   109 ;

                                     0000   110 ;	IF ANY ERRORS, ALL IRAB-RELATED INTERNAL STRUCTURES

                                     0000   111 ;	ARE DEALLOCATED.

                                     0000   112 ;

                                     0000   113 ; SIDE EFFECTS:

                                     0000   114 ;

                                     0000   115 ;	NONE

                                     0000   116 ;

                                     0000   117 ; NOTE:

                                     0000   118 ;

                                     0000   119 ;	ONLY 1 CONNECTED IRAB IS ALLOWED ON A SEQUENTIAL FILE.

                                     0000   120 ;	THIS ROUTINE ASSUMES THAT THIS IS THE FIRST IRAB IN 

                                     0000   121 ;	IFAB'S IRAB CHAIN.

                                     0000   122 ;

                                     0000   123 ;--

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   4

024             RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU                                                                  (1)



                                     0000   125 RM$CONNECT1::

                                     0000   126 ;

                                     0000   127 ;  IF OPEN OR CREATE WAS DONE WITH BRO SPECIFIED (MIXED BLOCK & RECORD I/O),

                                     0000   128 ;  CHECK THE BIO ROP BIT AND IF SET SWITCH TO BLOCK I/O ONLY

                                     0000   129 ;

         22 AA            06     E1  0000   130 	BBC	#FAB$V_BRO,IFB$B_FAC(R10),8$	;BRANCH IF BRO NOT SET

                          0C         0004       

         22 AA            20     8A  0005   131 	BICB2	#FAB$M_BIO,IFB$B_FAC(R10)	;INDICATE NOT LIMITED TO BLOCK I/O

            68            2B     E1  0009   132 	BBC	#RAB$V_BIO+ROP,(R8),8$		;BRANCH IF BIO CLEAR IN ROP

                          04         000C       

         22 AA            20     88  000D   133 	BISB2	#FAB$M_BIO,IFB$B_FAC(R10)	;SWITCH TO BLOCK I/O ONLY

                                     0011   134 8$:

                                     0011   135 ;

                                     0011   136 ;  CHECK IF OPENED FOR BLOCK I/O AND IF SO ALLOCATE A SINGLE (LOCK)

                                     0011   137 ;  BDB AND EXIT CONNECT

                                     0011   138 ;

         22 AA            05     E1  0011   139 	BBC	#IFB$V_BIO,IFB$B_FAC(R10),CHKRFM ;BRANCH IF NOT BLOCK I/O

                          16         0015       

                          FFE7'  30  0016   140 	BSBW	RM$ALBDB			;ALLOCATE A BDB ONLY

            54            51     D0  0019   141 	MOVL	R1,R4				;BDB ADDR TO RIGHT REGISTER

            74            50     E8  001C   142 	BLBS	R0,SETNXT			;CONTINUE IF O.K.

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   5

024             RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU                                                                  (1)



                                     001F   144 ;

                                     001F   145 ;  ERROR PROCESSING

                                     001F   146 ;

                                     001F   147 CLEANUP:	$PSECT_BR	L$RMS1

                          FFDE'  31  001F       		BRW	L$RMS10

                                     0022       		.SAVE

                                 00000000       		.PSECT	L$RMS1,GBL,NOWRT

                                     0000       L$RMS10:

                          FFFD'  30  0000   148 CLN1:	BSBW	RM$CCLN1		;DEALLOCATE IRAB

                          FFFA'  31  0003   149 	BRW	RM$EX_NOSTR		; AND EXIT

                                     0006   150 	$PSECT_RESTORE

                                 00000022       		.RESTORE

                                     0022   151 ;

                                     0022   152 ;  RECORD FORMAT UNDEFINED AND DOING RECORD I/O PROCESSING

                                     0022   153 ;

                                     0022   154 ERRRFM:	$PSECT_BR	L$RMS1

                          FFE1'  31  0022       		BRW	L$RMS11

                                     0025       		.SAVE

                                 00000006       		.PSECT	L$RMS1,GBL,NOWRT

                                     0006       L$RMS11:

                                     0006   155 RM$CONN_ERRRFM::

                                     0006   156 	RMSERR	RFM

            50       8664 8F     3C  0006       		MOVZWL	#<RMS$_RFM&^XFFFF>,R0

                          F3     11  000B   157 	BRB	CLN1

                                     000D   158 	$PSECT_RESTORE

                                 00000025       		.RESTORE

                                     0025   159 ;

                                     0025   160 ;  DISK BUFFER SIZE NOT 512.  ALL OF RMS SPECIAL CASING SHOT TO HELL!

                                     0025   161 ;

                                     0025   162 ERRBUG:	RMSTBUG	FTL$_BADBUFSIZ

                                     0025       	.SAVE

                                 0000006C       	.PSECT	$ABS$,ABS

                           00000000  006C       	.=0

                                 00000025       	.RESTORE

                          FFD8'  30  0025       		BSBW	RM$BUG

                                 F3  0028       		.BYTE	FTL$_BADBUFSIZ

                                     0029   163 ;

                                     0029   164 ;  MBC NEGATIVE. (RESERVED FOR LATER USE)

                                     0029   165 ;

                                     0029   166 ERRMBC:	$PSECT_BR	L$RMS1

                          FFE1'  31  0029       		BRW	L$RMS12

                                     002C       		.SAVE

                                 0000000D       		.PSECT	L$RMS1,GBL,NOWRT

                                     000D       L$RMS12:

                                     000D   167 	RMSERR	MBC

            50       8734 8F     3C  000D       		MOVZWL	#<RMS$_MBC&^XFFFF>,R0

                          EC     11  0012   168 	BRB	CLN1

                                     0014   169 	$PSECT_RESTORE

                                 0000002C       		.RESTORE

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   6

024             RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU                                                                  (1)



                                     002C   171 ;

                                     002C   172 ;  RECORD I/O PROCESSING  -  VERIFY RECORD FORMAT DEFINED

                                     002C   173 ;

                                     002C   174 CHKRFM:

                                     002C   175 	ASSUME	FAB$C_UDF EQ 0

                       3C AA     95  002C   176 	TSTB	IFB$B_RFMORG(R10)			;RFM UNDEFINED?

                          F1     13  002F   177 	BEQL	ERRRFM					;BRANCH IF YES (ERROR)

                                     0031   178 ;

                                     0031   179 ;  ALLOCATE BDBS AND I/O BUFFERS OF SIZE = BLOCKSIZE (* MBC, IF DISK)

                                     0031   180 ;

                                     0031   181 ;!!!!!

                                     0031   182 ;  \NOTE:  MIGHT BE NICE TO CHANGE RM$ALDBUF TO DO SPLIT-PAGE

                                     0031   183 ;   (BUT NOT CROSS-PAGE) ALLOCATIONS FOR UNIT RECORD DEVICES.\

                                     0031   184 ;!!!!!

            55         38 AA     3C  0031   185 	MOVZWL	IFB$W_DEVBUFSIZ(R10),R5			;LENGTH OF BUFFER

            54            01     D0  0035   186 	MOVL	#1,R4					;MT OFFSET FOR DEFAULT MBF

            6A            0E     E1  0038   187 	BBC	#DEV$V_FOD,IFB$L_PRIM_DEV(R10),200$	;BRANCH IF NOT DISK OR MT

                          46         003B       

            6A            18     E0  003C   188 	BBS	#DEV$V_FOR,IFB$L_PRIM_DEV(R10),200$	;BRANCH IF MOUNTED FOREIGN

                          42         003F       

            6A            1C     E1  0040   189 	BBC	#DEV$V_RND,IFB$L_PRIM_DEV(R10),150$	;BRANCH IF NOT DISK

                          3A         0043       

                                     0044   190 ;

                                     0044   191 ;  CHECK THAT ASSUMPTIONS REGARDING DISK BUFFER SIZE ARE ACCURATE

                                     0044   192 ;

                                     0044   193 ;  OTHERWISE SOME OF SEQUENTIAL GET CODE WON'T WORK

                                     0044   194 ;

                           00000008  0044   195 	.IF NE $$RMSTEST&$$RMS_TBUGCHK

       0200 8F            55     B1  0044   196 	CMPW	R5,#512

                          DA     12  0049   197 	BNEQ	ERRBUG			;IT'S ALL OVER IF NOT THAT MAGIC NUMBER!

                                     004B   198 	.ENDC

                                     004B   199 ;

                                     004B   200 ;  THIS IS A CONNECT FOR A DISK FILE.

                                     004B   201 ;

                                     004B   202 ;  PROCESS THE MBC (MULTI-BLOCK COUNT) FIELD OF THE RAB TO DETERMINE

                                     004B   203 ;  THE SIZE OF THE BUFFERS TO BE ALLOCATED.

                                     004B   204 ;

                          54     D4  004B   205 	CLRL	R4				;DISK OFFSET FOR DEFAULT MBF

            50         37 A8     98  004D   206 	CVTBL	RAB$B_MBC(R8),R0		;GET MBC

            6A            2E     E1  0051   207 	BBC	#IFB$V_PPF_INPUT,(R10),120$	;BRANCH IF NOT SYS$INPUT

                          08         0054       

            02            50     D1  0055   208 	CMPL	R0,#2				;MBC AT LEAST 2?

                          1A     1E  0058   209 	BGEQU	130$				;BRANCH IF YES

            50            02     D0  005A   210 	MOVL	#2,R0				;SET MBC=2 FOR SYS$INPUT

                          15     12  005D   211 120$:	BNEQ	130$				;BRANCH IF SPECED

            50   00000000'9F     98  005F   212 	CVTBL	@#PIO$GB_DFMBC,R0		;ELSE GET PROCESS DEFAULT

                          0C     12  0066   213 	BNEQ	130$				;BRANCH IF SPECED

            50   00000000'9F     98  0068   214 	CVTBL	@#SYS$GB_DFMBC,R0		;ELSE GET SYSTEM DEFAULT

                          03     12  006F   215 	BNEQ	130$				;BRANCH IF SPECED

            50            01     D0  0071   216 	MOVL	#1,R0				;ELSE USE A SINGLE BLOCK

                          B3     19  0074   217 130$:	BLSS	ERRMBC				;ERROR IF MBC NEGATIVE

            50            01     83  0076   218 	SUBB3	#1,R0,IRB$B_MBC(R9)		;STORE ADJUSTED MBC VALUE

                       41 A9         0079       

            55            50     A4  007B   219 	MULW2	R0,R5				;GET TOTAL SIZE OF BUFFER

                          5B     10  007E   220 150$:	BSBB	RM$BDBALLOC			;GO ALLOCATE THE BUFFERS

                          0E     11  0080   221 	BRB	220$

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   7

024             RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU                                                                  (1)



                                     0082   223 ;

                                     0082   224 ;  BUFFER ALLOCATION FOR UNIT RECORD AND FOREIGN MOUNTED DEVICES

                                     0082   225 ;

                                     0082   226 ;  ALLOCATE A SINGLE BUFFER ONLY, LOCKING IN W.S. IF MBF IS > 0.

                                     0082   227 ;

            56            01     CE  0082   228 200$:	MNEGL	#1,R6				;SINGLE BUFFER, NOT LOCKED

                       36 A8     95  0085   229 	TSTB	RAB$B_MBF(R8)			;MBF SPECIFY LOCK IN W.S.?

                          03     15  0088   230 	BLEQ	210$				;BRANCH IF NOT

            56            01     D0  008A   231 	MOVL	#1,R6				;YES - CAUSE TO BE LOCKED IN W.S.

                          0086   30  008D   232 210$:	BSBW	RM$BDBALLOC_ALT			;GO ALLOCATE THE BUFFER

            8C            50     E9  0090   233 220$:	BLBC	R0,CLEANUP			;BRANCH ON ALLOCATION FAILURE

                                     0093   234 ;

                                     0093   235 ;  PERFORM REMAINING STREAM SETUP

                                     0093   236 ;

         28 A9            54     D0  0093   237 SETNXT:	MOVL	R4,IRB$L_NXTBDB(R9)		;SET NEXT BDB FOR SEQXFR

                                     0097   238 ;

                                     0097   239 ;  POSITION FILE FOR STREAM AT BEGINNING OF FILE

                                     0097   240 ;  UNLESS EOF BIT SET IN IFAB OR ROP

                                     0097   241 ;

            6A            18     E0  0097   242 	BBS	#DEV$V_FOR,IFB$L_PRIM_DEV(R10),60$	;LEAVE POSITIONED AT BLK 0

                          36         009A       

                                     009B   243 						;  IF NON-FILE STRUCTURED

                       2C A9     D6  009B   244 	INCL	IRB$L_NRP_VBN(R9)		;ASSUME AT BEGINNING OF FILE

            6A            21     E0  009E   245 	BBS	#IFB$V_EOF,(R10),20$		;BRANCH IF POSITION TO EOF FLAG SET

                          04         00A1       

            68            28     E1  00A2   246 	BBC	#RAB$V_EOF+ROP,(R8),30$		;BRANCH IF EOF NOT SET IN ROP EITHER

                          0A         00A5       

                                     00A6   247 ;

                                     00A6   248 ;  COPY THE EOF POSITION TO THE NEXT RECORD POINTER CONTEXT

                                     00A6   249 ;

         2C A9         44 AA     D0  00A6   250 20$:	MOVL	IFB$L_EBK(R10),IRB$L_NRP_VBN(R9)

         30 A9         48 AA     B0  00AB   251 	MOVW	IFB$W_FFB(R10),IRB$W_NRP_OFF(R9)

                                     00B0   252 ;

                                     00B0   253 ;  CHECK FOR POSITIONED AT OR PAST EOF UNLESS UNIT RECORD DEVICE

                                     00B0   254 ;

                                     00B0   255 	ASSUME	DEV$V_REC EQ 0

            14            6A     E8  00B0   256 30$:	BLBS	IFB$L_PRIM_DEV(R10),50$			;BRANCH IF UNIT RECORD

         44 AA         2C A9     D1  00B3   257 	CMPL	IRB$L_NRP_VBN(R9),IFB$L_EBK(R10)	;NRP PAST EOF?

                          0D     1F  00B8   258 	BLSSU	50$					;BRANCH IF NOT

                          07     1A  00BA   259 	BGTRU	40$					;BRANCH IF DEFINITE YES

                                     00BC   260 ;

                                     00BC   261 ;  NRP VBN = EOF VBN

                                     00BC   262 ;  MUST CHECK BYTE IN BLOCK TO DETERMINE IF AT EOF

                                     00BC   263 ;

         48 AA         30 A9     B1  00BC   264 	CMPW	IRB$W_NRP_OFF(R9),IFB$W_FFB(R10)

                          04     1F  00C1   265 	BLSSU	50$				;BRANCH IF NRP < EOF

                                     00C3   266 40$:	SSB	#IRB$V_EOF,(R9)			;SET THE EOF FLAG

            69            21     E2  00C3       		BBSS	#IRB$V_EOF,(R9),30000$

                          00         00C6       

                                     00C7       30000$:

            01         40 A9     91  00C7   267 50$:	CMPB	IRB$B_BCNT(R9),#1		;JUST 1 BUFFER ALLOCATED?

                          04     1B  00CB   268 	BLEQU	60$				;BRANCH IF YES

                                     00CD   269 	SSB	#IRB$V_RAHWBH,(R9)		;ENABLE READ AHEAD & WRITE BEHIND

            69            2A     E2  00CD       		BBSS	#IRB$V_RAHWBH,(R9),30001$

                          00         00D0       

                                     00D1       30001$:

            6A            3E     E0  00D1   270 60$:	BBS	#IFB$V_DAP,(R10),NTCONN		;BRANCH IF NETWORK FILE ACCESS

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   8

024             RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU                                                                  (1)



                          03         00D4       

                          FF28'  31  00D5   271 	BRW	RM$EXSUC			;EXIT WITH SUCCESS

                                     00D8   272 ;++

                                     00D8   273 ;

                                     00D8   274 ;  PERFORM NETWORK CONNECT FUNCTION

                                     00D8   275 ;

                                     00D8   276 ;--

                                     00D8   277 NTCONN:	$PSECT_BR	NF$NETWORK

                          FF25'  31  00D8       		BRW	NF$NETWORK3

                                     00DB       		.SAVE

                                 00000000       		.PSECT	NF$NETWORK,GBL,NOWRT

                                     0000       NF$NETWORK3:

                          FFFD'  30  0000   278 	BSBW	NT$CONNECT1			;PERFORM CONNECT AT REMOTE NODE

            03            50     E9  0003   279 	BLBC	R0,10$				;BRANCH ON FAILURE

                          FFF7'  31  0006   280 	BRW	RM$EXSUC			;EXIT WITH SUCCESS

                          0013'  31  0009   281 10$:	BRW	CLEANUP				;BRANCH AID

                                     000C   282 	$PSECT_RESTORE

                                 000000DB       		.RESTORE

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page   9

024             RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU                                                                  (1)



                                     00DB   284 ;++

                                     00DB   285 ;

                                     00DB   286 ;  SUBROUTINE TO ALLOCATE BDBS AND BUFFERS, LOCKING IN WORKING SET IF NECESSARY.

                                     00DB   287 ;

                                     00DB   288 ;  INPUTS:

                                     00DB   289 ;

                                     00DB   290 ;	R11		IMPURE AREA ADDRESS

                                     00DB   291 ;	R10		IFAB ADDRESS

                                     00DB   292 ;	R9		IRAB ADDRESS

                                     00DB   293 ;	R8		RAB ADDRESS

                                     00DB   294 ;	R5		SIZE OF BUFFERS TO ALLOCATE, IN BYTES.

                                     00DB   295 ;	R4		INDEX FOR DEFAULTS, VALUES AS FOLLOWS:

                                     00DB   296 ;

                                     00DB   297 ;				0 - SEQUENTIAL DISK FILE DEFAULT

                                     00DB   298 ;				1 - MAGTAPE DEFAULT

                                     00DB   299 ;				2 - UNIT RECORD DEFAULT

                                     00DB   300 ;				3 - RELATIVE FILE DEFAULT

                                     00DB   301 ;				4 - INDEXED FILE DEFAULT

                                     00DB   302 ;				5 - HASHED FILE DEFAULT

                                     00DB   303 ;

                                     00DB   304 ;	RAB$B_MBF	EXPLICIT # OF BUFFERS

                                     00DB   305 ;

                                     00DB   306 ;  OUTPUTS:

                                     00DB   307 ;

                                     00DB   308 ;	R0		STATUS CODE

                                     00DB   309 ;	R1-R6		DESTROYED

                                     00DB   310 ;	IRB$B_BCNT	# OF BUFFERS ALLOCATED

                                     00DB   311 ;

                                     00DB   312 ;--

                                     00DB   313 RM$BDBALLOC::

            56         36 A8     98  00DB   314 	CVTBL	RAB$B_MBF(R8),R6		; GET NUMBER OF BUFFERS

                          21     12  00DF   315 	BNEQ	20$				; BRANCH IF SPECIFIED

            56   00000000'9F44   98  00E1   316 	CVTBL	@#PIO$GB_DFMBFSDK[R4],R6	; ELSE, PICK UP PROCESS DEFAULT

                          17     12  00E9   317 	BNEQ	20$				; BRANCH IF SPECIFIED

            56   00000000'9F44   98  00EB   318 	CVTBL	@#SYS$GB_DFMBFSDK[R4],R6	; ELSE, PICK UP SYSTEM DEFAULT

                          0D     12  00F3   319 	BNEQ	20$				; BRANCH IF SPECIFIED

            56            01     CE  00F5   320 	MNEGL	#1,R6				; ELSE USE 1 BUFFER (NOT LOCKED)

         04 A8       0600 8F     B3  00F8   321 	BITW	#RAB$M_RAH!RAB$M_WBH,RAB$L_ROP(R8)

                                     00FE   322 						; EITHER RAH OR WBH SPECED?

                          02     13  00FE   323 	BEQL	20$				; BRANCH IF NEITHER

                          56     D7  0100   324 10$:	DECL	R6				; SWITCH TO 2 BUFFERS

                                     0102   325 20$:

            6A            36     E1  0102   326 	BBC	#IFB$V_TEF,(R10),40$		; BRANCH IF NO TRUNCATE ACCESS

                          10         0105       

            6A            05     E1  0106   327 	BBC	#DEV$V_SQD,IFB$L_PRIM_DEV(R10),40$  ; BRANCH IF NOT MAGTAPE

                          0C         0109       

                          56     D5  010A   328 	TSTL	R6				; 

                          05     14  010C   329 	BGTR	30$				; BRANCH IF # BUFFERS POSITIVE

            56            01     CE  010E   330 	MNEGL	#1,R6				; ALLOCATE 1 BUFFER (NOT LOCK)

                          03     11  0111   331 	BRB	40$				;

            56            01     D0  0113   332 30$:	MOVL	#1,R6				; ALLOCATE 1 BUFFER (LOCKED)

                                     0116   333 40$:

                                     0116   334 ;

                                     0116   335 ;  ALTERNATE ENTRY POINT FOR NUMBER OF BUFFERS ALREADY SPECIFIED IN R6.

                                     0116   336 ;

                                     0116   337 RM$BDBALLOC_ALT::

                          55     B5  0116   338 	TSTW	R5				; SIZE OF BUFFER REQUESTED

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page  10

024             RM$CONNECT1  -  SEQUENTIAL-SPECIFIC CONNECT ROU                                                                  (1)



                          05     12  0118   339 	BNEQ	10$				; BRANCH IF NON-ZERO SIZE

            55       0200 8F     3C  011A   340 	MOVZWL	#512,R5				; ZERO SIZE...MAKE 512 SIZE

                                     011F   341 						; NOTE: ABOVE CODE HANDLES 0 LENGTH

                                     011F   342 						;  BUFFER FOR TERMINALS (UGH!)

                          56     D5  011F   343 10$:	TSTL	R6				; # OF BUFFERS POSITIVE?

                          0C     14  0121   344 	BGTR	40$				; BRANCH IF YES (LOCK IN W.S.)

            56            56     AE  0123   345 	MNEGW	R6,R6				; MAKE BUFFER COUNT POSITIVE

                          56     D5  0126   346 30$:	TSTL	R6				; LOCK BUFFERS IN W.S.?

                          05     14  0128   347 	BGTR	40$				; BRANCH IF YES

                          FED3'  30  012A   348 	BSBW	RM$ALDBUF			; NO-ALLOCATE BUT DON'T LOCK

                          03     11  012D   349 	BRB	50$

                          FECE'  30  012F   350 40$:	BSBW	RM$ALLOCKBUF			; ALLOCATE BDBS & BUFFERS

                                     0132   351 						; AND LOCK IN WORKING SET

            07            50     E9  0132   352 50$:	BLBC	R0,60$				; GET OUT ON ERROR

                       40 A9     96  0135   353 	INCB	IRB$B_BCNT(R9)			; COUNT THE BDB

                          56     B7  0138   354 	DECW	R6				; MORE BUFFERS TO ALLOCATE?

                          EA     14  013A   355 	BGTR	30$				; BRANCH IF YES

                                 05  013C   356 60$:	RSB

                                     013D   357 

                                     013D   358 

                                     013D   359 	.END

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



$$.PSECT_EP    = 00000004            DEV$V_TRM      = 00000002            FAB$M_GET      = 00000002            

$$RMSTEST      = 0000001A            DEV$V_WCK      = 0000001F            FAB$M_INP      = 00080000            

$$RMS_PBUGCHK  = 00000010            ERRBUG           00000025 R     02   FAB$M_JNL      = 00400000            

$$RMS_TBUGCHK  = 00000008            ERRMBC           00000029 R     02   FAB$M_KFO      = 40000000            

$$RMS_UMODE    = 00000004            ERRRFM           00000022 R     02   FAB$M_MSE      = 00000010            

BIT...         = 00000000            FAB$B_BID        00000000            FAB$M_MXV      = 00000002            

CHKRFM           0000002C R     02   FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            

CLEANUP          0000001F R     02   FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            

CLN1             00000000 R     04   FAB$B_DNS        00000035            FAB$M_NFS      = 00010000            

DEV$M_ALL      = 00800000            FAB$B_FAC        00000016            FAB$M_NIL      = 00000020            

DEV$M_AVL      = 00040000            FAB$B_FNS        00000034            FAB$M_OFP      = 20000000            

DEV$M_CCL      = 00000002            FAB$B_FSZ        0000003F            FAB$M_POS      = 00000100            

DEV$M_DIR      = 00000008            FAB$B_ORG        0000001D            FAB$M_PPF      = 00040000            

DEV$M_DMT      = 00200000            FAB$B_RAT        0000001E            FAB$M_PPF_IND  = 00004000            

DEV$M_ELG      = 00400000            FAB$B_RFM        0000001F            FAB$M_PPF_RAT  = 00003FC0            

DEV$M_FOD      = 00004000            FAB$B_RTV        0000001C            FAB$M_PRN      = 00000004            

DEV$M_FOR      = 01000000            FAB$B_SHR        00000017            FAB$M_PUT      = 00000001            

DEV$M_GEN      = 00020000            FAB$C_BID      = 00000003            FAB$M_RCK      = 00800000            

DEV$M_IDV      = 04000000            FAB$C_BLN        00000050            FAB$M_RWC      = 00000800            

DEV$M_MBX      = 00100000            FAB$C_FIX      = 00000001            FAB$M_RWO      = 00000080            

DEV$M_MNT      = 00080000            FAB$C_HSH      = 00000030            FAB$M_SCF      = 00004000            

DEV$M_NET      = 00002000            FAB$C_IDX      = 00000020            FAB$M_SHRDEL   = 00000004            

DEV$M_ODV      = 08000000            FAB$C_MAXRFM   = 00000003            FAB$M_SHRGET   = 00000002            

DEV$M_RCK      = 40000000            FAB$C_REL      = 00000010            FAB$M_SHRPUT   = 00000001            

DEV$M_REC      = 00000001            FAB$C_RFM_DFLT = 00000002            FAB$M_SHRUPD   = 00000008            

DEV$M_RND      = 10000000            FAB$C_SEQ      = 00000000            FAB$M_SPL      = 00002000            

DEV$M_RTM      = 20000000            FAB$C_UDF      = 00000000            FAB$M_SQO      = 00000040            

DEV$M_SDI      = 00000010            FAB$C_VAR      = 00000002            FAB$M_SUP      = 00000004            

DEV$M_SHR      = 00010000            FAB$C_VFC      = 00000003            FAB$M_TEF      = 10000000            

DEV$M_SPL      = 00000040            FAB$K_BLN        00000050            FAB$M_TMD      = 00000010            

DEV$M_SQD      = 00000020            FAB$L_ALQ        00000010            FAB$M_TMP      = 00000008            

DEV$M_SWL      = 02000000            FAB$L_CTX        00000018            FAB$M_TRN      = 00000010            

DEV$M_TRM      = 00000004            FAB$L_DEV        00000040            FAB$M_UFM      = 04000000            

DEV$M_WCK      = 80000000            FAB$L_DNA        00000030            FAB$M_UFO      = 00020000            

DEV$V_ALL      = 00000017            FAB$L_FNA        0000002C            FAB$M_UPD      = 00000008            

DEV$V_AVL      = 00000012            FAB$L_FOP        00000004            FAB$M_UPI      = 00000040            

DEV$V_CCL      = 00000001            FAB$L_JNL        00000020            FAB$M_WCK      = 00000200            

DEV$V_DIR      = 00000003            FAB$L_MRN        00000038            FAB$S_ORG      = 00000004            

DEV$V_DMT      = 00000015            FAB$L_NAM        00000028            FAB$S_PPF_RAT  = 00000008            

DEV$V_ELG      = 00000016            FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            

DEV$V_FOD      = 0000000E            FAB$L_STS        00000008            FAB$V_BLK      = 00000003            

DEV$V_FOR      = 00000018            FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            

DEV$V_GEN      = 00000011            FAB$L_XAB        00000024            FAB$V_CBT      = 00000015            

DEV$V_IDV      = 0000001A            FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            

DEV$V_MBX      = 00000014            FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            

DEV$V_MNT      = 00000013            FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            

DEV$V_NET      = 0000000D            FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            

DEV$V_ODV      = 0000001B            FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            

DEV$V_RCK      = 0000001E            FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            

DEV$V_REC      = 00000000            FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            

DEV$V_RND      = 0000001C            FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            

DEV$V_RTM      = 0000001D            FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            

DEV$V_SDI      = 00000004            FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            

DEV$V_SHR      = 00000010            FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001            

DEV$V_SPL      = 00000006            FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            

DEV$V_SQD      = 00000005            FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            

DEV$V_SWL      = 00000019            FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (1)



FAB$V_MSE      = 00000004            FTL$_RELEASFAIL= FFFFFFEA            IFB$L_NWA_PTR    00000028            

FAB$V_MXV      = 00000001            FTL$_SETPRTFAIL= FFFFFFFF            IFB$L_PRIM_DEV   00000000            

FAB$V_NAM      = 00000018            FTL$_STKTOOBIG = FFFFFFFE            IFB$L_RLB_LNK    0000002C            

FAB$V_NEF      = 0000000A            FTL$_XFERSIZE  = FFFFFFED            IFB$L_RNS_LEN    00000050            

FAB$V_NFS      = 00000010            GBL...         = 00000000            IFB$M_BIO      = 00000020            

FAB$V_NIL      = 00000005            IFB$B_AMAX       00000059            IFB$M_BRO      = 00000040            

FAB$V_OFP      = 0000001D            IFB$B_AVBN       00000058            IFB$M_DEL      = 00000004            

FAB$V_ORG      = 00000004            IFB$B_BID        00000008            IFB$M_EXE      = 00000080            

FAB$V_POS      = 00000008            IFB$B_BKS        0000004A            IFB$M_GET      = 00000002            

FAB$V_PPF      = 00000012            IFB$B_BLN        00000009            IFB$M_PUT      = 00000001            

FAB$V_PPF_IND  = 0000000E            IFB$B_EFN        0000000B            IFB$M_TRN      = 00000010            

FAB$V_PPF_RAT  = 00000006            IFB$B_EXTRABUF   0000005D            IFB$M_UPD      = 00000008            

FAB$V_PRN      = 00000002            IFB$B_FAC        00000022            IFB$S_ORG      = 00000004            

FAB$V_PUT      = 00000000            IFB$B_FSZ        0000004B            IFB$S_RFM      = 00000004            

FAB$V_RCK      = 00000017            IFB$B_KBUFSZ     0000005C            IFB$V_ACCESSED = 00000025            

FAB$V_RWC      = 0000000B            IFB$B_MODE       0000000A            IFB$V_ANSI_D   = 00000026            

FAB$V_RWO      = 00000007            IFB$B_NUM_KEYS   0000005A            IFB$V_ASYNC    = 00000023            

FAB$V_SCF      = 0000000E            IFB$B_ORGCASE    00000023            IFB$V_ASYNCWAIT= 00000024            

FAB$V_SHRDEL   = 00000002            IFB$B_RAT        0000003D            IFB$V_BIO      = 00000005            

FAB$V_SHRGET   = 00000001            IFB$B_RFMORG     0000003C            IFB$V_BRO      = 00000006            

FAB$V_SHRPUT   = 00000000            IFB$B_UBUFSZ     0000005B            IFB$V_BUSY     = 00000020            

FAB$V_SHRUPD   = 00000003            IFB$C_BID      = 0000000B            IFB$V_CREATE   = 00000032            

FAB$V_SPL      = 0000000D            IFB$C_BLN        00000060            IFB$V_DAP      = 0000003E            

FAB$V_SQO      = 00000006            IFB$C_BLN_IDX    00000060            IFB$V_DAP_OPEN = 0000003D            

FAB$V_SUP      = 00000002            IFB$C_BLN_REL    00000060            IFB$V_DEL      = 00000002            

FAB$V_TEF      = 0000001C            IFB$C_BLN_SEQ    0000005C            IFB$V_DFW      = 0000002C            

FAB$V_TMD      = 00000004            IFB$C_DIR      = 00000003            IFB$V_DLT      = 0000002B            

FAB$V_TMP      = 00000003            IFB$C_FHAEND     00000050            IFB$V_DMO      = 00000028            

FAB$V_TRN      = 00000004            IFB$C_IDX      = 00000002            IFB$V_EOF      = 00000021            

FAB$V_UFM      = 0000001A            IFB$C_MAXORG   = 00000002            IFB$V_EXE      = 00000007            

FAB$V_UFO      = 00000011            IFB$C_REL      = 00000001            IFB$V_GET      = 00000001            

FAB$V_UPD      = 00000003            IFB$C_SEQ      = 00000000            IFB$V_MSE      = 00000031            

FAB$V_UPI      = 00000006            IFB$K_BLN        00000060            IFB$V_NORECLK  = 00000033            

FAB$V_WCK      = 00000009            IFB$K_BLN_IDX    00000060            IFB$V_NSP      = 0000003F            

FAB$W_BLS        0000003C            IFB$K_BLN_REL    00000060            IFB$V_NWA      = 0000003C            

FAB$W_DEQ        00000014            IFB$K_BLN_SEQ    0000005C            IFB$V_ORG      = 00000004            

FAB$W_IFI        00000002            IFB$K_FHAEND     00000050            IFB$V_PPF_IMAGE= 00000022            

FAB$W_MRS        00000036            IFB$L_ARGLST     00000018            IFB$V_PPF_INPUT= 0000002E            

FTL$_ASBALLFAIL= FFFFFFF9            IFB$L_ASBADDR    00000014            IFB$V_PUT      = 00000000            

FTL$_BADASTPRM = FFFFFFF8            IFB$L_AS_DEV     00000054            IFB$V_RFM      = 00000000            

FTL$_BADBDB    = FFFFFFFA            IFB$L_BDB_BLNK   00000034            IFB$V_RWC      = 00000027            

FTL$_BADBUFSIZ = FFFFFFF3            IFB$L_BDB_FLNK   00000030            IFB$V_RW_ATTR  = 00000034            

FTL$_BADIFAB   = FFFFFFFD            IFB$L_BKPBITS    00000004            IFB$V_SCF      = 0000002A            

FTL$_BADLEVEL  = FFFFFFE6            IFB$L_BWB        0000000C            IFB$V_SPL      = 00000029            

FTL$_BADORGCASE= FFFFFFFB            IFB$L_DVBN       00000058            IFB$V_SQO      = 0000002D            

FTL$_CANTDOAST = FFFFFFF7            IFB$L_EBK        00000044            IFB$V_TEF      = 00000036            

FTL$_DEALLERR  = FFFFFFEF            IFB$L_FRB_PTR    00000028            IFB$V_TMP      = 00000035            

FTL$_GTCHNFAIL = FFFFFFFC            IFB$L_FWA_BDB    00000050            IFB$V_TRN      = 00000004            

FTL$_IORNDN    = FFFFFFEE            IFB$L_HBK        00000040            IFB$V_UPD      = 00000003            

FTL$_LOCKFAILED= FFFFFFE7            IFB$L_IDX_PTR    00000054            IFB$V_WRTACC   = 00000030            

FTL$_NOASB     = FFFFFFF5            IFB$L_IOS        0000000C            IFB$W_ASDEVBSIZ  0000005A            

FTL$_NODIDORFID= FFFFFFEB            IFB$L_IOS4       00000010            IFB$W_BKS_BYTES  0000005C            

FTL$_NOLOCKBDB = FFFFFFE9            IFB$L_IRAB_LNK   0000001C            IFB$W_BKS_RECS   0000005E            

FTL$_NONETWORK = FFFFFFE8            IFB$L_LAST_FAB   00000024            IFB$W_CHNL       00000020            

FTL$_NONXTBDB  = FFFFFFF4            IFB$L_LOCK_BDB   00000050            IFB$W_DEQ        0000004E            

FTL$_NOSTRUCT  = FFFFFFF6            IFB$L_MRN        00000054            IFB$W_DEVBUFSIZ  00000038            

FTL$_NOTLOCKED = FFFFFFEC            IFB$L_NRP_LNK    00000050            IFB$W_EBK0       00000044            

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



IFB$W_EBK2       00000046            IRB$L_TEMP1      00000048            RAB$C_BLN        00000044            

IFB$W_FFB        00000048            IRB$V_ASYNC    = 00000023            RAB$C_KEY      = 00000001            

IFB$W_IOS2       0000000E            IRB$V_ASYNCWAIT= 00000024            RAB$C_RFA      = 00000002            

IFB$W_LRL        0000003E            IRB$V_BIO_LAST = 00000027            RAB$C_SEQ      = 00000000            

IFB$W_MRS        0000004C            IRB$V_BRO_SW   = 00000028            RAB$K_BLN        00000044            

IFB$W_RTDEQ      0000003A            IRB$V_BUSY     = 00000020            RAB$L_BKT        00000038            

IRB$B_BCNT       00000040            IRB$V_DAP_CONN = 0000003E            RAB$L_CTX        00000018            

IRB$B_BID        00000008            IRB$V_DAP_FMODE= 0000003F            RAB$L_DCT        00000038            

IRB$B_BLN        00000009            IRB$V_DUP      = 0000002C            RAB$L_FAB        0000003C            

IRB$B_EFN        0000000B            IRB$V_EOF      = 00000021            RAB$L_KBF        00000030            

IRB$B_KEYSZ      00000051            IRB$V_FIND     = 00000029            RAB$L_PBF        00000030            

IRB$B_MBC        00000041            IRB$V_FIND_LAST= 00000025            RAB$L_RBF        00000028            

IRB$B_MODE       0000000A            IRB$V_IDX_ERR  = 00000031            RAB$L_RFA0       00000010            

IRB$B_NRP_ID     00000030            IRB$V_LOCKABOVE= 00000002            RAB$L_RHB        0000002C            

IRB$B_NRP_KREF   00000031            IRB$V_NEW_IDX  = 00000003            RAB$L_ROP        00000004            

IRB$B_NVBNS      00000048            IRB$V_POSINSERT= 00000000            RAB$L_STS        00000008            

IRB$B_POST_CCTL  00000045            IRB$V_PPF_EOF  = 0000002E            RAB$L_STV        0000000C            

IRB$B_PPF_ISI    0000003E            IRB$V_PPF_FNDSV= 00000030            RAB$L_UBF        00000024            

IRB$B_PRE_CCTL   00000044            IRB$V_PPF_IMAGE= 00000022            RAB$M_ASY      = 00000001            

IRB$B_RFA_ID     00000058            IRB$V_PPF_SKIP = 0000002F            RAB$M_BIO      = 00000800            

IRB$B_RP_ID      00000038            IRB$V_PUTS_LAST= 00000026            RAB$M_CCO      = 80000000            

IRB$B_RP_KREF    00000039            IRB$V_RAHWBH   = 0000002A            RAB$M_CVT      = 04000000            

IRB$B_RRV_ID     00000050            IRB$V_SKIP_NEXT= 0000002B            RAB$M_EOF      = 00000100            

IRB$B_SRCHFLAGS  00000043            IRB$V_SRCHGT   = 00000001            RAB$M_FDL      = 00000040            

IRB$B_STOPLEVEL  00000042            IRB$V_UNLOCK_RP= 0000002D            RAB$M_HSH      = 00000080            

IRB$C_BID      = 0000000A            IRB$V_WRITE    = 00000029            RAB$M_KGE      = 00200000            

IRB$C_BLN_IDX    0000006C            IRB$W_CSIZ       00000042            RAB$M_KGT      = 00400000            

IRB$C_BLN_REL    00000048            IRB$W_DUP_POS    00000032            RAB$M_LIM      = 00004000            

IRB$C_BLN_SEQ    0000004C            IRB$W_IOS2       0000000E            RAB$M_LOA      = 00002000            

IRB$K_BLN_IDX    0000006C            IRB$W_NRP_OFF    00000030            RAB$M_LOC      = 00010000            

IRB$K_BLN_REL    00000048            IRB$W_OWN_ID     0000003C            RAB$M_MAS      = 00000020            

IRB$K_BLN_SEQ    0000004C            IRB$W_OWN_ISI    0000003E            RAB$M_NLK      = 00100000            

IRB$L_ARGLST     00000018            IRB$W_ROVHDSZ    00000044            RAB$M_NXR      = 00800000            

IRB$L_ASBADDR    00000014            IRB$W_RP_OFF     00000038            RAB$M_PMT      = 40000000            

IRB$L_BKPBITS    00000004            IRB$W_RTOTLSZ    00000046            RAB$M_PPF_IND  = 00004000            

IRB$L_BWB        0000000C            IRB$W_SAVE_POS   00000052            RAB$M_PPF_RAT  = 00003FC0            

IRB$L_CURBDB     00000020            L$RMS10          00000000 R     04   RAB$M_PTA      = 20000000            

IRB$L_CURVBN     00000030            L$RMS11          00000006 R     04   RAB$M_RAH      = 00000200            

IRB$L_IFAB_LNK   00000000            L$RMS12          0000000D R     04   RAB$M_RLK      = 00080000            

IRB$L_IOS        0000000C            NF$NETWORK3      00000000 R     05   RAB$M_RNE      = 01000000            

IRB$L_IOS4       00000010            NT$CONNECT1      ********   X   05   RAB$M_RNF      = 08000000            

IRB$L_IRAB_LNK   0000001C            NTCONN           000000D8 R     02   RAB$M_TMO      = 02000000            

IRB$L_KEYBUF     00000048            PIO$GB_DFMBC     ********   X   02   RAB$M_TPT      = 00000002            

IRB$L_LAST_RAB   00000024            PIO$GB_DFMBFSDK  ********   X   02   RAB$M_UIF      = 00000010            

IRB$L_LOCK_BDB   0000005C            RAB$B_BID        00000000            RAB$M_ULK      = 00040000            

IRB$L_NRP        0000002C            RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            

IRB$L_NRP_OFF    00000030            RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            

IRB$L_NRP_VBN    0000002C            RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            

IRB$L_NXTBDB     00000028            RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            

IRB$L_OWNER_ID   0000003C            RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            

IRB$L_RFA_VBN    00000054            RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            

IRB$L_RLB_ADDR   00000044            RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            

IRB$L_RP         00000034            RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            

IRB$L_RP_OFF     00000038            RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            

IRB$L_RP_VBN     00000034            RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            

IRB$L_RRV_VBN    0000004C            RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            

IRB$L_TEMP0      00000044            RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (1)



RAB$V_LIM      = 0000000E            RMS$_BUG_XX5   = 00018464            RMS$_IFI       = 00018564            

RAB$V_LOA      = 0000000D            RMS$_BUG_XX6   = 0001846C            RMS$_IMX       = 0001856C            

RAB$V_LOC      = 00000010            RMS$_BUG_XX7   = 00018474            RMS$_IOP       = 00018574            

RAB$V_MAS      = 00000005            RMS$_BUG_XX8   = 0001847C            RMS$_IRC       = 0001857C            

RAB$V_NLK      = 00000014            RMS$_BUG_XX9   = 00018484            RMS$_ISI       = 00018584            

RAB$V_NXR      = 00000017            RMS$_CAA       = 0001848C            RMS$_KBF       = 0001858C            

RAB$V_PMT      = 0000001E            RMS$_CCF       = 0001C0DC            RMS$_KEY       = 00018594            

RAB$V_PPF_IND  = 0000000E            RMS$_CCR       = 00018494            RMS$_KFF       = 00018031            

RAB$V_PPF_RAT  = 00000006            RMS$_CDA       = 0001C0E4            RMS$_KRF       = 0001859C            

RAB$V_PTA      = 0000001D            RMS$_CHG       = 0001849C            RMS$_KSZ       = 000185A4            

RAB$V_RAH      = 00000009            RMS$_CHK       = 000184A4            RMS$_LAN       = 000185AC            

RAB$V_RLK      = 00000013            RMS$_CHN       = 0001C0EC            RMS$_LBL       = 000185B4            

RAB$V_RNE      = 00000018            RMS$_COD       = 000184AC            RMS$_LNE       = 000185BC            

RAB$V_RNF      = 0000001B            RMS$_CONTROLC  = 00010651            RMS$_LOC       = 000185C4            

RAB$V_TMO      = 00000019            RMS$_CONTROLO  = 00010609            RMS$_MBC       = 00018734            

RAB$V_TPT      = 00000001            RMS$_CONTROLY  = 00010611            RMS$_MKD       = 0001C032            

RAB$V_UIF      = 00000004            RMS$_CRE       = 0001C00A            RMS$_MRN       = 000185CC            

RAB$V_ULK      = 00000012            RMS$_CREATED   = 00010619            RMS$_MRS       = 000185D4            

RAB$V_WAT      = 00000011            RMS$_CUR       = 000184B4            RMS$_NAM       = 000185DC            

RAB$V_WBH      = 0000000A            RMS$_DAC       = 0001C012            RMS$_NEF       = 000185E4            

RAB$W_ISI        00000002            RMS$_DAN       = 000184BC            RMS$_NET       = 0001874C            

RAB$W_RFA        00000010            RMS$_DEL       = 00018262            RMS$_NID       = 000185EC            

RAB$W_RFA4       00000014            RMS$_DEV       = 000184C4            RMS$_NMF       = 000182CA            

RAB$W_RSZ        00000022            RMS$_DIR       = 000184CC            RMS$_NOD       = 000185F4            

RAB$W_USZ        00000020            RMS$_DME       = 000184D4            RMS$_NORMAL    = 00010001            

RM$ALBDB         ********   X   02   RMS$_DNA       = 000184DC            RMS$_NPK       = 000185FC            

RM$ALDBUF        ********   X   02   RMS$_DNF       = 0001C04A            RMS$_OK_ALK    = 00018039            

RM$ALLOCKBUF     ********   X   02   RMS$_DNR       = 00018272            RMS$_OK_DEL    = 00018041            

RM$BDBALLOC      000000DB RG    02   RMS$_DPE       = 0001C03A            RMS$_OK_DUP    = 00018011            

RM$BDBALLOC_ALT  00000116 RG    02   RMS$_DTP       = 000184E4            RMS$_OK_IDX    = 00018019            

RM$BUG           ********   X   02   RMS$_DUP       = 000184EC            RMS$_OK_LIM    = 00018051            

RM$CCLN1         ********   X   04   RMS$_DVI       = 000184F4            RMS$_OK_RLK    = 00018021            

RM$CONNECT1      00000000 RG    02   RMS$_ENT       = 0001C01A            RMS$_OK_RNF    = 00018049            

RM$CONN_ERRRFM   00000006 RG    04   RMS$_ENV       = 00018724            RMS$_OK_RRV    = 00018029            

RM$EXSUC         ********   X   02   RMS$_EOF       = 0001827A            RMS$_ORD       = 00018604            

RM$EX_NOSTR      ********   X   04   RMS$_ESA       = 000184FC            RMS$_ORG       = 0001860C            

RMS$V_STVSTATUS= 0000000E            RMS$_ESL       = 00018714            RMS$_PBF       = 00018614            

RMS$_ABO       = 000183EC            RMS$_ESS       = 00018504            RMS$_PENDING   = 00018009            

RMS$_ACC       = 0001C002            RMS$_EXP       = 000182C2            RMS$_PLG       = 0001861C            

RMS$_ACT       = 0001825A            RMS$_EXT       = 0001C022            RMS$_PLV       = 0001872C            

RMS$_AID       = 000183F4            RMS$_FAB       = 0001850C            RMS$_POS       = 00018624            

RMS$_ALN       = 000183FC            RMS$_FAC       = 00018514            RMS$_PRM       = 0001862C            

RMS$_ALQ       = 00018404            RMS$_FEX       = 00018282            RMS$_PRV       = 0001829A            

RMS$_ANI       = 0001840C            RMS$_FLG       = 0001851C            RMS$_QUO       = 00018634            

RMS$_AOP       = 00018414            RMS$_FLK       = 0001828A            RMS$_RAB       = 0001863C            

RMS$_ATR       = 0001C0CC            RMS$_FNA       = 00018524            RMS$_RAC       = 00018644            

RMS$_ATW       = 0001C0D4            RMS$_FND       = 0001C02A            RMS$_RAT       = 0001864C            

RMS$_BKS       = 0001841C            RMS$_FNF       = 00018292            RMS$_RBF       = 00018654            

RMS$_BKZ       = 00018424            RMS$_FNM       = 0001852C            RMS$_RER       = 0001C0F4            

RMS$_BLN       = 0001842C            RMS$_FOP       = 0001853C            RMS$_REX       = 000182A2            

RMS$_BOF       = 00018198            RMS$_FSZ       = 00018534            RMS$_RFA       = 0001865C            

RMS$_BUG       = 00018434            RMS$_FUL       = 00018544            RMS$_RFM       = 00018664            

RMS$_BUG_DAP   = 00018444            RMS$_IAL       = 0001854C            RMS$_RHB       = 0001866C            

RMS$_BUG_DDI   = 0001843C            RMS$_IAN       = 00018554            RMS$_RLF       = 00018674            

RMS$_BUG_XX2   = 0001844C            RMS$_IBF       = 00018754            RMS$_RLK       = 000182AA            

RMS$_BUG_XX3   = 00018454            RMS$_IDX       = 0001855C            RMS$_RMV       = 0001C0FC            

RMS$_BUG_XX4   = 0001845C            RMS$_IFA       = 0001C124            RMS$_RNF       = 000182B2            

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page  15

SYMBOL TABLE                                                                                                                     (1)



RMS$_RNL       = 000181A0            

RMS$_ROP       = 0001867C            

RMS$_RPL       = 0001C104            

RMS$_RRV       = 00018684            

RMS$_RSA       = 000182DA            

RMS$_RSL       = 0001873C            

RMS$_RSS       = 00018694            

RMS$_RST       = 0001869C            

RMS$_RSZ       = 000186A4            

RMS$_RTB       = 000181A8            

RMS$_SEQ       = 000186AC            

RMS$_SHR       = 000186B4            

RMS$_SIZ       = 000186BC            

RMS$_SPL       = 0001C042            

RMS$_SQO       = 000186C4            

RMS$_STALL     = 00018001            

RMS$_STK       = 000186CC            

RMS$_SUC       = 00010001            

RMS$_SUP       = 000182D2            

RMS$_SUPERSEDE = 00010631            

RMS$_SYN       = 000186D4            

RMS$_SYS       = 0001C10C            

RMS$_TEMP1     = 0001826A            

RMS$_TEMP2     = 0001868C            

RMS$_TMO       = 000181B0            

RMS$_TRE       = 000186DC            

RMS$_TYP       = 000186E4            

RMS$_UBF       = 000186EC            

RMS$_USZ       = 000186F4            

RMS$_VER       = 000186FC            

RMS$_VOL       = 00018704            

RMS$_WBE       = 0001C12C            

RMS$_WER       = 0001C114            

RMS$_WLD       = 00018744            

RMS$_WLK       = 000182BA            

RMS$_WPL       = 0001C11C            

RMS$_WSF       = 0001871C            

RMS$_XAB       = 0001870C            

ROP            = 00000020            

SETNXT           00000093 R     02   

SYS$GB_DFMBC     ********   X   02   

SYS$GB_DFMBFSDK  ********   X   02   





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  

F$RMSOPEN1       0000013D      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           00000014      04     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

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





THERE WERE NO ERRORS OR WARNINGS.

7682. BYTES LEFT IN FREE MEMORY POOL.

2378. BYTES OF RECLAIMED MEMORY.

RM1CONN         SEQUENTIAL SPECIFIC CONNECT                      21-AUG-1978 21:37:09   VAX-11 MACRO X0.3-11               Page  16

PROGRAM SECTION SYNOPSIS                                                                                                         (1)



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

26 MLB DIR RDS - 1121 GETS TO DEFINE 25 MACROS. 92 INTER. FILE WRITES. 

