RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      42  DECLARATIONS

   (1)      73  RMS$EXTEND  -  $EXTEND ROUTINE

   (3)     235  RM$EXTEND_XAB  -  ROUTINE TO HANDLE ALLOCATION 

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   1

008                                                                                                                              (1)



                                     0000     1 	$BEGIN RMS0EXTEN,008,F$RMSEXTEND0,<DISPATCH FOR EXTEND OPERATION>

                                     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 ;		THIS MODULE IS THE HIGHEST LEVEL CONTROL ROUTINE

                                     0000    28 ;		TO PERFORM THE $EXTEND FUNCTION.

                                     0000    29 ;

                                     0000    30 ; ENVIRONMENT:

                                     0000    31 ;		STAR PROCESSOR RUNNING STARLET EXEC.

                                     0000    32 ;

                                     0000    33 ; AUTHOR: L F LAVERDURE,	 CREATION DATE: 11-JAN-78

                                     0000    34 ;

                                     0000    35 ; MODIFIED BY:

                                     0000    36 ;

                                     0000    37 ;	L F LAVERDURE,   31-MAY-78  17:10

                                     0000    38 ;	J A KRYCKA,	 20-JUN-78  11:00

                                     0000    39 ; 01	- 

                                     0000    40 ;--

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   2

008             DECLARATIONS                                                                                                     (1)



                                     0000    42 	.SBTTL	DECLARATIONS

                                     0000    43 ;

                                     0000    44 ; INCLUDE FILES:

                                     0000    45 ;

                                     0000    46 

                                     0000    47 ;

                                     0000    48 ; MACROS:

                                     0000    49 ;

                                     0000    50 

                                     0000    51 	$IFBDEF

                                     0000    52 	$FABDEF

                                     0000    53 	$DEVDEF

                                     0000    54 	$XABDEF

                                     0000    55 	$XABALLDEF

                                     0000    56 	$BDBDEF

                                     0000    57 	$CSHDEF

                                     0000    58 	$RLSDEF

                                     0000    59 	.LIST MEB

                                     0000    60 ;

                                     0000    61 ; EQUATED SYMBOLS:

                                     0000    62 ;

                           00000020  0000    63 	FOP=FAB$L_FOP*8

                                     0000    64 

                                     0000    65 ;

                                     0000    66 ; OWN STORAGE:

                                     0000    67 ;

                                     0000    68 ;

                                     0000    69 ;  ARGUMENT LIST FOR XAB CHAIN PROCESSING (ALLOCATION XABS ONLY)

                                     0000    70 ;

                        00 00'20 14  0000    71 XAB_ARGS:	.BYTE	XAB$C_ALL,XAB$C_ALLLEN,XBC$C_EXTALL,0

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   3

008             RMS$EXTEND  -  $EXTEND ROUTINE                                                                                   (1)



                                     0004    73 	.SBTTL RMS$EXTEND  -  $EXTEND ROUTINE

                                     0004    74 

                                     0004    75 ;++

                                     0004    76 ; FUNCTIONAL DESCRIPTION:

                                     0004    77 ;

                                     0004    78 ;  THIS ROUTINE PERFORMS THE HIGHEST LEVEL $EXTEND PROCESSING.

                                     0004    79 ;  ITS FUNCTIONS INCLUDE:

                                     0004    80 ;

                                     0004    81 ;	1. COMMON SETUP

                                     0004    82 ;	2. CHECK FOR ALL STREAMS IDLE, EXITING IF NOT

                                     0004    83 ;	3. PERFORM VALIDITY CHECKING

                                     0004    84 ;	4. ALLOCATE A BUFFER IF NO STREAMS CONNECTED FOR RELATIVE

                                     0004    85 ;	   FILE ORGANIZATION EXCEPT FOR BLOCK I/O ACCESS.

                                     0004    86 ;	5. LOCK PROLOG FOR REL. F. O. NOT BLOCK I/O ACCESSED

                                     0004    87 ;	6. PROCESS ANY ALLOCATION XABS, PERFORMING THE INDICATED EXTENDS

                                     0004    88 ;	   AND BUCKET FORMATTING IF RELATIVE.

                                     0004    89 ;	7. IF NO ALLOCATION XABS PRESENT, PERFORM THE EXTEND BASED UPON THE FAB.

                                     0004    90 ;	8. RELEASE THE PROLOG IF LOCKED

                                     0004    91 ;	9. IF ALLOCATED BUFFER IN STEP 4, DEALLOCATE IT.

                                     0004    92 ;	10. EXIT TO THE USER, GENERATING AN AST IF REQUESTED

                                     0004    93 ;

                                     0004    94 ;

                                     0004    95 ; CALLING SEQUENCE:

                                     0004    96 ;

                                     0004    97 ;	ENTERED FROM EXEC AS A RESULT OF USER'S CALLING SYS$EXTEND

                                     0004    98 ;	(E.G., BY USING THE $EXTEND MACRO).

                                     0004    99 ;

                                     0004   100 ; INPUT PARAMETERS:

                                     0004   101 ;

                                     0004   102 ;	AP	USER'S ARGUMENT LIST ADDR

                                     0004   103 ;

                                     0004   104 ; IMPLICIT INPUTS:

                                     0004   105 ;

                                     0004   106 ;	THE CONTENTS OF THE FAB AND POSSIBLE RELATED USER INTERFACE

                                     0004   107 ;	BLOCKS.

                                     0004   108 ;

                                     0004   109 ; OUTPUT PARAMETERS:

                                     0004   110 ;

                                     0004   111 ;	R0	STATUS CODE

                                     0004   112 ;	R1	DESTROYED

                                     0004   113 ;

                                     0004   114 ; IMPLICIT OUTPUTS:

                                     0004   115 ;

                                     0004   116 ;	THE SIZE OF THE EXTENSION IS RETURNED IN FAB$L_ALQ OR XAB$L_ALQ

                                     0004   117 ;	IF ALLOCATION XAB(S) PRESENT.

                                     0004   118 ;

                                     0004   119 ;	A COMPLETION AST IS QUEUED IF SO SPECIFIED BY THE USER.

                                     0004   120 ;

                                     0004   121 ; COMPLETION CODES:

                                     0004   122 ;

                                     0004   123 ;	STANDARD RMS (SEE FUNCTIONAL SPEC FOR LIST).

                                     0004   124 ;

                                     0004   125 ; SIDE EFFECTS:

                                     0004   126 ;

                                     0004   127 ;	ANY LOCATE MODE POINTER FOR THE FILE IS INVALIDATED.

                                     0004   128 ;

                                     0004   129 ;--

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   4

008             RMS$EXTEND  -  $EXTEND ROUTINE                                                                                   (1)



                                     0004   131 ;++

                                     0004   132 ;

                                     0004   133 ;  EXTENDED BRANCHES FOR ERROR CONDITIONS

                                     0004   134 ;

                                     0004   135 ;--

                          FFF9'  31  0004   136 ERRSUP:	BRW	RM$ERRSUP		; UNSUPPORTED NETWORK FUNCTION

                                     0007   137 ;

                          FFF6'  31  0007   138 ERRIOP:	BRW	RM$ERRIOP		; EXTEND ON NON-DISK DEVICE

                                     000A   139 ;

                          FFF3'  31  000A   140 ERRFAC:	BRW	RM$ERRFAC		; FILE NOT WRITE ACCESSED

                                     000D   141 

                                     000D   142 ;++

                                     000D   143 ;

                                     000D   144 ;  ENTRY POINT FOR $EXTEND SERVICE

                                     000D   145 ;

                                     000D   146 ;--

                                     000D   147 	$ENTRY	RMS$EXTEND

                                 0000000D       	.PSECT	F$RMSEXTEND0,GBL,NOWRT

                                     000D   148 	$TSTPT	EXTEND

                 00000200'9F     D6  000D       		INCL	@#PIO$GL_FMLH+512+TPT$L_EXTEND

                          FFEA'  30  0013   149 	BSBW	RM$FSET			; DO COMMON SETUP

                                     0016   150 					; NOTE: DOES NOT RETURN ON ERROR

                          FFE7'  30  0016   151 	BSBW	RM$CHK_IDLE		; CHECK ALL STREAMS INACTIVE

                                     0019   152 					; NOTE: DOES NOT RETURN ON ERROR

                                     0019   153 ;

                                     0019   154 ;  CHECK THAT THIS IS NOT BEING ATTEMPTED OVER THE NETWORK, ALSO

                                     0019   155 ;  CHECK THAT DEVICE IS DISK AND THAT WE ARE WRITE ACCESSED

                                     0019   156 ;

            6A            0D     E0  0019   157 	BBS	#DEV$V_NET,IFB$L_PRIM_DEV(R10),ERRSUP	; BRANCH IF NETWORK FUNCTION

                          E7         001C       

            6A            1C     E1  001D   158 	BBC	#DEV$V_RND,IFB$L_PRIM_DEV(R10),ERRIOP	; BRANCH IF NOT DISK

                          E6         0020       

            6A            30     E1  0021   159 	BBC	#IFB$V_WRTACC,(R10),ERRFAC		; OR IF NOT WRITE ACCESSED

                          E5         0024       

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   5

008             RMS$EXTEND  -  $EXTEND ROUTINE                                                                                   (1)



                                     0025   161 ;

                                     0025   162 ;  IF THE EXTEND IS FOR RELATIVE FILE AND THE FILE IS NOT BLOCK I/O

                                     0025   163 ;  ACCESSED, MUST LOCK THE PROLOG AND PERHAPS ALLOCATE A BUFFER

                                     0025   164 ;

            01         23 AA     91  0025   165 	CMPB	IFB$B_ORGCASE(R10),#IFB$C_REL	; RELATIVE FILE ORG?

                          22     12  0029   166 	BNEQ	GETXAB				; BRANCH IF NOT

         22 AA            05     E0  002B   167 	BBS	#IFB$V_BIO,IFB$B_FAC(R10),GETXAB ; OR IF BLOCK I/O ACCESSED

                          1D         002F       

                       1C AA     D5  0030   168 	TSTL	IFB$L_IRAB_LNK(R10)		; IS THERE AN IRAB CONNECTED?

                          0E     12  0033   169 	BNEQ	30$				; BRANCH IF YES

                                     0035   170 						; NO - MUST ALLOCATE A BUFFER

            55         4A AA     9A  0035   171 	MOVZBL	IFB$B_BKS(R10),R5		; BUFFER SIZE IN BLOCKS

            55            09     9C  0039   172 	ROTL	#9,R5,R5			; GET # BYTES

                          55         003C       

                          FFC0'  30  003D   173 	BSBW	RM$ALDBUF			; ALLOCATE A BUFFER

            59            50     E9  0040   174 	BLBC	R0,EXRMS			; BRANCH ON FAILURE

                          FFBA'  30  0043   175 30$:	BSBW	RM$LOCK_PROLOG			; GO LOCK PROLOG

            32            50     E9  0046   176 	BLBC	R0,RETBDB			; BRANCH ON ERROR

         50 AA            54     D0  0049   177 	MOVL	R4,IFB$L_LOCK_BDB(R10)		; SAVE LOCK BDB ADDRESS

                                     004D   178 ;

                                     004D   179 ;  PROCESS ALLOCATION XAB(S), IF ANY.

                                     004D   180 ;

                                     004D   181 ;  THE SUBROUTINE RM$EXTEND_XAB IS CALLED FOR EACH ALLOCATION XAB FOUND.

                                     004D   182 ;

                                     004D   183 ;

            5C         B0 AF     9E  004D   184 GETXAB:	MOVAB	XAB_ARGS,AP			; SET ARG LIST ADDR

                          FFAC'  30  0051   185 	BSBW	RM$XAB_SCAN			; GO LOOK FOR XAB

            0B            50     E9  0054   186 	BLBC	R0,EXIT				; BRANCH ON ERROR

                          54     D5  0057   187 	TSTL	R4				; ANY XABS FOUND?

                          07     12  0059   188 	BNEQ	EXIT				; BRANCH IF YES

                                     005B   189 ;

                                     005B   190 ;  THERE WERE NO ALLOCATION XABS FOUND.

                                     005B   191 ;  USE THE ALQ FIELD OF THE FAB TO SPECIFY THE SIZE OF THE ALLOCATION.

                                     005B   192 ;

            53            58     D0  005B   193 	MOVL	R8,R3				; CAUSE FAB ALQ TO BE USED

                          56     D4  005E   194 	CLRL	R6				; SAY NO XAB

                          5B     10  0060   195 	BSBB	XTND				; GO DO THE EXTEND

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   6

008             RMS$EXTEND  -  $EXTEND ROUTINE                                                                                   (1)



                                     0062   197 ;

                                     0062   198 ;  CLEAN UP.

                                     0062   199 ;

                                     0062   200 ;  IF THIS EXTEND WAS A REL. FILE ORG. TYPE EXTEND,

                                     0062   201 ;  UNLOCK THE PROLOG (IF STILL LOCKED) AND DEALLOCATE ANY BUFFER ALLOCATED

                                     0062   202 ;  FOR THIS EXTEND.

                                     0062   203 ;

            01         23 AA     91  0062   204 EXIT:	CMPB	IFB$B_ORGCASE(R10),#IFB$C_REL	; REL. F. O.?

                          30     12  0066   205 	BNEQ	CLRTEF				; BRANCH IF NOT

         22 AA            05     E0  0068   206 	BBS	#IFB$V_BIO,IFB$B_FAC(R10),EXRMS	; OR IF BLOCK I/O ACCESSED

                          2F         006C       

            54         50 AA     D0  006D   207 	MOVL	IFB$L_LOCK_BDB(R10),R4		; GET LOCK BDB ADDRESS

                          03     13  0071   208 	BEQL	10$				; BRANCH IF NONE

                          FF8A'  30  0073   209 	BSBW	RM$RLSPLG			; UNLOCK PROLOG & RETURN LOCK BDB

                       1C AA     D5  0076   210 10$:	TSTL	IFB$L_IRAB_LNK(R10)		; IRAB CONNECTED?

                          21     12  0079   211 	BNEQ	EXRMS				; BRANCH IF YES

                                     007B   212 						; NO - MUST DEALLOCATE BUFFER

                          50     DD  007B   213 RETBDB:	PUSHL	R0				; SAVE STATUS

                                     007D   214 	$CACHE	VBN=#0,SIZE=#1,FLAGS=<NOREAD>,ERR=ERRBUG ; GET A BUFFER

                          51     D4  007D       		CLRL	R1

            52            01     3C  007F       		.IIF DIF <#1><R2>,	MOVZWL	#1,R2

            53            04     D0  0082       		MOVL #$$.TMP,R3

                          FF78'  30  0085       		BSBW	RM$CACHE

            14            50     E9  0088       		.IIF NB <ERRBUG>,	BLBC	R0,ERRBUG

            53            01     D0  008B   215 	MOVL	#RLS$M_RETURN,R3		; SET FLAG TO DEALLOCATE BUFFER

                          FF6F'  30  008E   216 	BSBW	RM$RELEASE			; GO RELEASE & RETURN BUFFER

            0B            50     E9  0091   217 	BLBC	R0,ERRBUG			; BRANCH ON ERROR

                          01     BA  0094   218 	POPR	#^M<R0>				; RESTORE STATUS

                          04     11  0096   219 	BRB	EXRMS				; ALL SET

                                     0098   220 ;

                                     0098   221 ;  CLEAR THE AUTO EXTEND TRUNCATE AT EOF FLAG

                                     0098   222 ;

                                     0098   223 CLRTEF:	CSB	#IFB$V_TEF,(R10)

            6A            36     E5  0098       		BBCC	#IFB$V_TEF,(R10),30000$

                          00         009B       

                                     009C       30000$:

                                     009C   224 ;

                                     009C   225 ;  ALL SET

                                     009C   226 ;

                          FF61'  31  009C   227 EXRMS:	BRW	RM$EXRMS

                                     009F   228 

                                     009F   229 ;

                                     009F   230 ;  HANDLE BUG

                                     009F   231 ;

                                     009F   232 ERRBUG:	RMSTBUG	FTL$_RELEASFAIL			; RELEASE OF BUFFER FAILED

                                     009F       	.SAVE

                                 00000060       	.PSECT	$ABS$,ABS

                           00000000  0060       	.=0

                                 0000009F       	.RESTORE

                          FF5E'  30  009F       		BSBW	RM$BUG

                                 EA  00A2       		.BYTE	FTL$_RELEASFAIL

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   7

008             RMS$EXTEND  -  $EXTEND ROUTINE                                                                                   (3)



                                     00A3   234 

                                     00A3   235 	.SBTTL	RM$EXTEND_XAB  -  ROUTINE TO HANDLE ALLOCATION XABS

                                     00A3   236 ;++

                                     00A3   237 ;  FUNCTIONAL DESCRIPTION:

                                     00A3   238 ;

                                     00A3   239 ;  THIS ROUTINE IS CALLED FROM RM$XAB_SCAN WHENEVER AN ALLOCATION XAB

                                     00A3   240 ;  IS FOUND ON AN $EXTEND.

                                     00A3   241 ;

                                     00A3   242 ;  THE XAB IS CHECKED FOR VALIDITY AND ITS PARAMETERS ARE USED TO EXTEND

                                     00A3   243 ;  THE FILE.  IF THERE ARE NO ERRORS, THIS ROUTINE RETURNS TO CONTINUE

                                     00A3   244 ;  THE XAB SCAN.

                                     00A3   245 ;

                                     00A3   246 ;  INPUTS:

                                     00A3   247 ;

                                     00A3   248 ;	@SP	RETURN ADDRESS IF SUCCESSFUL

                                     00A3   249 ;	AP	RM$XAB_SCAN ARGUMENT LIST ADDR

                                     00A3   250 ;	R11	IMPURE AREA ADDR

                                     00A3   251 ;	R10	IFAB ADDR

                                     00A3   252 ;	R9	IFAB ADDR

                                     00A3   253 ;	R8	FAB ADDR

                                     00A3   254 ;	R4	ZERO IF THIS IS THE FIRST CALL, ELSE THE AREA I.D. OF

                                     00A3   255 ;		THE LAST AREA + 1

                                     00A3   256 ;	R3	XAB ADDR

                                     00A3   257 ;

                                     00A3   258 ;  THE XAB HAS ALREADY BEEN CHECKED FOR BASIC VALIDITY

                                     00A3   259 ;

                                     00A3   260 ;  OUTPUTS:

                                     00A3   261 ;

                                     00A3   262 ;	R4		THIS XAB'S AREA I.D. + 1

                                     00A3   263 ;	R0-R2,R5-R6	DESTROYED

                                     00A3   264 ;

                                     00A3   265 ;  IF AN ERROR OCCURS, THE RETURN ADDRESS IS POPPED FROM THE STACK,

                                     00A3   266 ;  R0 IS SET TO THE ERROR CODE, AND AN RSB IS PERFORMED BACK TO CALLER

                                     00A3   267 ;  OF RM$XAB_SCAN.

                                     00A3   268 ;--

                                     00A3   269 RM$EXTEND_XAB::

            54            00     E2  00A3   270 	BBSS	#0,R4,ERRIMX			; BRANCH IF DUPLICATE XAB

                          10         00A6       

                                     00A7   271 						; !!! NOTE - DIFFERENT TEST FOR

                                     00A7   272 						;     INDEXED F.O. REQUIRED !!!

                       17 A3     95  00A7   273 	TSTB	XAB$B_AID(R3)			; MUST BE AREA 0

                          0E     12  00AA   274 	BNEQ	ERRAID				; BRANCH IF NOT

            56            53     D0  00AC   275 	MOVL	R3,R6				; XAB ADDR TO RIGHT REG

                          0C     10  00AF   276 	BSBB	XTND				; GO PERFORM EXTENSION

            02            50     E8  00B1   277 	BLBS	R0,10$				; BRANCH ON SUCCESS

                          02     BA  00B4   278 	POPR	#^M<R1>				; POP RETURN PC

                                 05  00B6   279 10$:	RSB

                                     00B7   280 

                                     00B7   281 ;++

                                     00B7   282 ;

                                     00B7   283 ;  HANDLE ERRORS

                                     00B7   284 ;

                                     00B7   285 ;--

                          FF46'  31  00B7   286 ERRIMX:	BRW	RM$ERRIMX			; DUPLICATE ALLOC. XAB

                                     00BA   287 ;

                          FF43'  31  00BA   288 ERRAID:	BRW	RM$ERRAID			; BAD AREA I.D.

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   8

008             RM$EXTEND_XAB  -  ROUTINE TO HANDLE ALLOCATION                                                                   (3)



                                     00BD   290 ;++

                                     00BD   291 ;  XTND SUBROUTINE TO PERFORM THE EXTEND.

                                     00BD   292 ;

                                     00BD   293 ;  INPUTS:

                                     00BD   294 ;

                                     00BD   295 ;	R11	IMPURE AREA ADDR

                                     00BD   296 ;	R10	IFAB ADDR

                                     00BD   297 ;	R9	IFAB ADDR

                                     00BD   298 ;	R8	FAB ADDR

                                     00BD   299 ;	R6	XAB ADDR IF ANY, ELSE 0

                                     00BD   300 ;	R3	XAB OR FAB ADDR

                                     00BD   301 ;

                                     00BD   302 ;  OUTPUTS:

                                     00BD   303 ;	

                                     00BD   304 ;	R0		STATUS CODE

                                     00BD   305 ;	XAB$L_ALQ OR

                                     00BD   306 ;	FAB$L_ALQ	# OF BLOCKS EXTENDED, 0 IF NONE

                                     00BD   307 ;	FAB$L_STV	FAB$L_STV + # OF BLOCKS EXTENDED

                                     00BD   308 ;	R1,R2,R5,R6	DESTROYED

                                     00BD   309 ;

                                     00BD   310 ;--

                     1018 8F     BB  00BD   311 XTND:	PUSHR	#^M<R3,R4,AP>

                                     00C1   312 	ASSUME	XAB$L_ALQ EQ FAB$L_ALQ

            55         10 A3     D0  00C1   313 	MOVL	XAB$L_ALQ(R3),R5		; SET EXTEND SIZE

                          3B     15  00C5   314 	BLEQ	ERRALQ				; BRANCH IF BAD

                       10 A3     D4  00C7   315 	CLRL	XAB$L_ALQ(R3)			; AND INITIALIZE ACTUAL EXTEND SIZE

                          FF33'  30  00CA   316 	BSBW	RM$EXTEND0			; DO THE EXTEND

            2D            50     E9  00CD   317 	BLBC	R0,XTNDXIT			; BRANCH ON FAILURE

                                     00D0   318 						; NOTE: R1 = START VBN OF EXTENT

                                     00D0   319 						;	R6 = END VBN OF EXTENT + 1

            53            6E     D0  00D0   320 	MOVL	(SP),R3				; RESTORE XAB/FAB ADDRESS

            56            51     C3  00D3   321 	SUBL3	R1,R6,FAB$L_ALQ(R3)		; CALCULATE EXTEND SIZE

                       10 A3         00D6       

         0C A8         10 A3     C0  00D8   322 	ADDL2	FAB$L_ALQ(R3),FAB$L_STV(R8)	; AND ADD IT IN TO STV FOR TOTAL

         22 AA            05     E0  00DD   323 	BBS	#IFB$V_BIO,IFB$B_FAC(R10),SEQEXT ; BRANCH IF BLOCK I/O ACCESSED

                          16         00E1       

                                     00E2   324 	CASE	TYPE=B,SRC=IFB$B_ORGCASE(R10),-

                                     00E2   325 		DISPLIST=<SEQEXT,RELEXT>	; DISPATCH BASED ON FILE ORG

            00         23 AA     8F  00E2       	CASEB	IFB$B_ORGCASE(R10),#0,S^#<<30002$-30001$>/2>-1

                          01'        00E6       

                                     00E7       30001$:

                               0011' 00E7       	.WORD	SEQEXT-30001$

                               0006' 00E9       	.WORD	RELEXT-30001$

                                     00EB       30002$:

                          0B     11  00EB   326 	BRB	SEQEXT				; TREAT LIKE SEQUENTIAL

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page   9

008             RM$EXTEND_XAB  -  ROUTINE TO HANDLE ALLOCATION                                                                   (3)



                                     00ED   328 ;++

                                     00ED   329 ;

                                     00ED   330 ;  RELATIVE FILE EXTEND  -  FORMAT THE BUCKETS

                                     00ED   331 ;

                                     00ED   332 ;--

                          FF10'  30  00ED   333 RELEXT:	BSBW	RM$FMT_BKT2			; GO FORMAT THE BUCKETS

                          FF0D'  30  00F0   334 	BSBW	RM$UPD_PROLOG2			; AND UPDATE THE PROLOG

                       50 AA     D4  00F3   335 	CLRL	IFB$L_LOCK_BDB(R10)		; SAY LOCK BDB GONE

                          05     11  00F6   336 	BRB	XTNDXIT

                                     00F8   337 

                                     00F8   338 ;++

                                     00F8   339 ;

                                     00F8   340 ;  SEQUENTIAL FILE OR BLOCK I/O EXTEND  -  UPDATE HIGH BLOCK

                                     00F8   341 ;

                                     00F8   342 ;--

            56            01     C3  00F8   343 SEQEXT:	SUBL3	#1,R6,IFB$L_HBK(R10)		; SET NEW HIGH BLOCK

                       40 AA         00FB       

                                     00FD   344 XTNDXIT:

                     1018 8F     BA  00FD   345 	POPR	#^M<R3,R4,AP>			; RESTORE REGS

                                 05  0101   346 	RSB

                                     0102   347 

                                     0102   348 ;++

                                     0102   349 ;

                                     0102   350 ;  HANDLE INVALID ALQ VALUE ERROR

                                     0102   351 ;

                                     0102   352 ;--

                                     0102   353 ERRALQ:	$PSECT_BR	L$RMS0

                          FEFB'  31  0102       		BRW	L$RMS00

                                     0105       		.SAVE

                                 00000000       		.PSECT	L$RMS0,GBL,NOWRT

                                     0000       L$RMS00:

                                     0000   354 	RMSERR	ALQ

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

                          00F5'  31  0005   355 	BRW	XTNDXIT

                                     0008   356 	$PSECT_RESTORE

                                 00000105       		.RESTORE

                                     0105   357 

                                     0105   358 	.END

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (3)



$$.PSECT_EP    = 00000001            DEV$M_AVL      = 00040000            EXRMS            0000009C R     02   

$$.TMP         = 00000004            DEV$M_CCL      = 00000002            FAB$B_BID        00000000            

$$RMSTEST      = 0000001A            DEV$M_DIR      = 00000008            FAB$B_BKS        0000003E            

$$RMS_PBUGCHK  = 00000010            DEV$M_DMT      = 00200000            FAB$B_BLN        00000001            

$$RMS_TBUGCHK  = 00000008            DEV$M_ELG      = 00400000            FAB$B_DNS        00000035            

$$RMS_UMODE    = 00000004            DEV$M_FOD      = 00004000            FAB$B_FAC        00000016            

BDB$B_BID        00000008            DEV$M_FOR      = 01000000            FAB$B_FNS        00000034            

BDB$B_BLN        00000009            DEV$M_GEN      = 00020000            FAB$B_FSZ        0000003F            

BDB$B_FLGS       0000000A            DEV$M_IDV      = 04000000            FAB$B_ORG        0000001D            

BDB$B_POST_CCTL  00000023            DEV$M_MBX      = 00100000            FAB$B_RAT        0000001E            

BDB$B_PRE_CCTL   00000022            DEV$M_MNT      = 00080000            FAB$B_RFM        0000001F            

BDB$B_REL_VBN    00000020            DEV$M_NET      = 00002000            FAB$B_RTV        0000001C            

BDB$B_USECNT     0000000B            DEV$M_ODV      = 08000000            FAB$B_SHR        00000017            

BDB$B_VAL_VBNS   00000021            DEV$M_RCK      = 40000000            FAB$C_BID      = 00000003            

BDB$C_BID      = 0000000C            DEV$M_REC      = 00000001            FAB$C_BLN        00000050            

BDB$C_BLN        00000028            DEV$M_RND      = 10000000            FAB$C_FIX      = 00000001            

BDB$K_BLN        00000028            DEV$M_RTM      = 20000000            FAB$C_HSH      = 00000030            

BDB$L_ADDR       00000014            DEV$M_SDI      = 00000010            FAB$C_IDX      = 00000020            

BDB$L_BLINK      00000004            DEV$M_SHR      = 00010000            FAB$C_MAXRFM   = 00000003            

BDB$L_CURBUFADR  00000024            DEV$M_SPL      = 00000040            FAB$C_REL      = 00000010            

BDB$L_FLINK      00000000            DEV$M_SQD      = 00000020            FAB$C_RFM_DFLT = 00000002            

BDB$L_IOSB       00000020            DEV$M_SWL      = 02000000            FAB$C_SEQ      = 00000000            

BDB$L_OWN        0000000C            DEV$M_TRM      = 00000004            FAB$C_UDF      = 00000000            

BDB$L_VBN        00000018            DEV$M_WCK      = 80000000            FAB$C_VAR      = 00000002            

BDB$L_WAIT       0000001C            DEV$V_ALL      = 00000017            FAB$C_VFC      = 00000003            

BDB$L_WK1        00000020            DEV$V_AVL      = 00000012            FAB$K_BLN        00000050            

BDB$M_AST_DCL  = 00000040            DEV$V_CCL      = 00000001            FAB$L_ALQ        00000010            

BDB$M_DRT      = 00000002            DEV$V_DIR      = 00000003            FAB$L_CTX        00000018            

BDB$M_IOP      = 00000004            DEV$V_DMT      = 00000015            FAB$L_DEV        00000040            

BDB$M_LKDINWS  = 00000080            DEV$V_ELG      = 00000016            FAB$L_DNA        00000030            

BDB$M_NOLOCATE = 00000010            DEV$V_FOD      = 0000000E            FAB$L_FNA        0000002C            

BDB$M_PRM      = 00000008            DEV$V_FOR      = 00000018            FAB$L_FOP        00000004            

BDB$M_VAL      = 00000001            DEV$V_GEN      = 00000011            FAB$L_JNL        00000020            

BDB$M_WFO      = 00000020            DEV$V_IDV      = 0000001A            FAB$L_MRN        00000038            

BDB$V_AST_DCL  = 00000006            DEV$V_MBX      = 00000014            FAB$L_NAM        00000028            

BDB$V_DRT      = 00000001            DEV$V_MNT      = 00000013            FAB$L_SDC        00000044            

BDB$V_IOP      = 00000002            DEV$V_NET      = 0000000D            FAB$L_STS        00000008            

BDB$V_LKDINWS  = 00000007            DEV$V_ODV      = 0000001B            FAB$L_STV        0000000C            

BDB$V_NOLOCATE = 00000004            DEV$V_RCK      = 0000001E            FAB$L_XAB        00000024            

BDB$V_PRM      = 00000003            DEV$V_REC      = 00000000            FAB$M_BIO      = 00000020            

BDB$V_VAL      = 00000000            DEV$V_RND      = 0000001C            FAB$M_BLK      = 00000008            

BDB$V_WFO      = 00000005            DEV$V_RTM      = 0000001D            FAB$M_BRO      = 00000040            

BDB$W_NUMB       00000010            DEV$V_SDI      = 00000004            FAB$M_CBT      = 00200000            

BDB$W_SIZE       00000012            DEV$V_SHR      = 00000010            FAB$M_CIF      = 02000000            

BIT...         = 00000000            DEV$V_SPL      = 00000006            FAB$M_CR       = 00000002            

CLRTEF           00000098 R     02   DEV$V_SQD      = 00000005            FAB$M_CTG      = 00100000            

CSH$M_LOCK     = 00000001            DEV$V_SWL      = 00000019            FAB$M_DEL      = 00000004            

CSH$M_NOBUFFER = 00000010            DEV$V_TRM      = 00000002            FAB$M_DFW      = 00000020            

CSH$M_NOREAD   = 00000004            DEV$V_WCK      = 0000001F            FAB$M_DLT      = 00008000            

CSH$M_NOWAIT   = 00000002            ERRAID           000000BA R     02   FAB$M_DMO      = 00001000            

CSH$M_READAHEAD= 00000008            ERRALQ           00000102 R     02   FAB$M_ESC      = 08000000            

CSH$V_LOCK     = 00000000            ERRBUG           0000009F R     02   FAB$M_EXE      = 00000080            

CSH$V_NOBUFFER = 00000004            ERRFAC           0000000A R     02   FAB$M_FTN      = 00000001            

CSH$V_NOREAD   = 00000002            ERRIMX           000000B7 R     02   FAB$M_GET      = 00000002            

CSH$V_NOWAIT   = 00000001            ERRIOP           00000007 R     02   FAB$M_INP      = 00080000            

CSH$V_READAHEAD= 00000003            ERRSUP           00000004 R     02   FAB$M_JNL      = 00400000            

DEV$M_ALL      = 00800000            EXIT             00000062 R     02   FAB$M_KFO      = 40000000            

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (3)



FAB$M_MSE      = 00000010            FAB$V_NFS      = 00000010            FTL$_XFERSIZE  = FFFFFFED            

FAB$M_MXV      = 00000002            FAB$V_NIL      = 00000005            GBL...         = 00000000            

FAB$M_NAM      = 01000000            FAB$V_OFP      = 0000001D            GETXAB           0000004D R     02   

FAB$M_NEF      = 00000400            FAB$V_ORG      = 00000004            IFB$B_AMAX       00000059            

FAB$M_NFS      = 00010000            FAB$V_POS      = 00000008            IFB$B_AVBN       00000058            

FAB$M_NIL      = 00000020            FAB$V_PPF      = 00000012            IFB$B_BID        00000008            

FAB$M_OFP      = 20000000            FAB$V_PPF_IND  = 0000000E            IFB$B_BKS        0000004A            

FAB$M_POS      = 00000100            FAB$V_PPF_RAT  = 00000006            IFB$B_BLN        00000009            

FAB$M_PPF      = 00040000            FAB$V_PRN      = 00000002            IFB$B_EFN        0000000B            

FAB$M_PPF_IND  = 00004000            FAB$V_PUT      = 00000000            IFB$B_EXTRABUF   0000005D            

FAB$M_PPF_RAT  = 00003FC0            FAB$V_RCK      = 00000017            IFB$B_FAC        00000022            

FAB$M_PRN      = 00000004            FAB$V_RWC      = 0000000B            IFB$B_FSZ        0000004B            

FAB$M_PUT      = 00000001            FAB$V_RWO      = 00000007            IFB$B_KBUFSZ     0000005C            

FAB$M_RCK      = 00800000            FAB$V_SCF      = 0000000E            IFB$B_MODE       0000000A            

FAB$M_RWC      = 00000800            FAB$V_SHRDEL   = 00000002            IFB$B_NUM_KEYS   0000005A            

FAB$M_RWO      = 00000080            FAB$V_SHRGET   = 00000001            IFB$B_ORGCASE    00000023            

FAB$M_SCF      = 00004000            FAB$V_SHRPUT   = 00000000            IFB$B_RAT        0000003D            

FAB$M_SHRDEL   = 00000004            FAB$V_SHRUPD   = 00000003            IFB$B_RFMORG     0000003C            

FAB$M_SHRGET   = 00000002            FAB$V_SPL      = 0000000D            IFB$B_UBUFSZ     0000005B            

FAB$M_SHRPUT   = 00000001            FAB$V_SQO      = 00000006            IFB$C_BID      = 0000000B            

FAB$M_SHRUPD   = 00000008            FAB$V_SUP      = 00000002            IFB$C_BLN        00000060            

FAB$M_SPL      = 00002000            FAB$V_TEF      = 0000001C            IFB$C_BLN_IDX    00000060            

FAB$M_SQO      = 00000040            FAB$V_TMD      = 00000004            IFB$C_BLN_REL    00000060            

FAB$M_SUP      = 00000004            FAB$V_TMP      = 00000003            IFB$C_BLN_SEQ    0000005C            

FAB$M_TEF      = 10000000            FAB$V_TRN      = 00000004            IFB$C_DIR      = 00000003            

FAB$M_TMD      = 00000010            FAB$V_UFM      = 0000001A            IFB$C_FHAEND     00000050            

FAB$M_TMP      = 00000008            FAB$V_UFO      = 00000011            IFB$C_IDX      = 00000002            

FAB$M_TRN      = 00000010            FAB$V_UPD      = 00000003            IFB$C_MAXORG   = 00000002            

FAB$M_UFM      = 04000000            FAB$V_UPI      = 00000006            IFB$C_REL      = 00000001            

FAB$M_UFO      = 00020000            FAB$V_WCK      = 00000009            IFB$C_SEQ      = 00000000            

FAB$M_UPD      = 00000008            FAB$W_BLS        0000003C            IFB$K_BLN        00000060            

FAB$M_UPI      = 00000040            FAB$W_DEQ        00000014            IFB$K_BLN_IDX    00000060            

FAB$M_WCK      = 00000200            FAB$W_IFI        00000002            IFB$K_BLN_REL    00000060            

FAB$S_ORG      = 00000004            FAB$W_MRS        00000036            IFB$K_BLN_SEQ    0000005C            

FAB$S_PPF_RAT  = 00000008            FOP            = 00000020            IFB$K_FHAEND     00000050            

FAB$V_BIO      = 00000005            FTL$_ASBALLFAIL= FFFFFFF9            IFB$L_ARGLST     00000018            

FAB$V_BLK      = 00000003            FTL$_BADASTPRM = FFFFFFF8            IFB$L_ASBADDR    00000014            

FAB$V_BRO      = 00000006            FTL$_BADBDB    = FFFFFFFA            IFB$L_AS_DEV     00000054            

FAB$V_CBT      = 00000015            FTL$_BADBUFSIZ = FFFFFFF3            IFB$L_BDB_BLNK   00000034            

FAB$V_CIF      = 00000019            FTL$_BADIFAB   = FFFFFFFD            IFB$L_BDB_FLNK   00000030            

FAB$V_CR       = 00000001            FTL$_BADLEVEL  = FFFFFFE6            IFB$L_BKPBITS    00000004            

FAB$V_CTG      = 00000014            FTL$_BADORGCASE= FFFFFFFB            IFB$L_BWB        0000000C            

FAB$V_DEL      = 00000002            FTL$_CANTDOAST = FFFFFFF7            IFB$L_DVBN       00000058            

FAB$V_DFW      = 00000005            FTL$_DEALLERR  = FFFFFFEF            IFB$L_EBK        00000044            

FAB$V_DLT      = 0000000F            FTL$_GTCHNFAIL = FFFFFFFC            IFB$L_FRB_PTR    00000028            

FAB$V_DMO      = 0000000C            FTL$_IORNDN    = FFFFFFEE            IFB$L_FWA_BDB    00000050            

FAB$V_ESC      = 0000001B            FTL$_LOCKFAILED= FFFFFFE7            IFB$L_HBK        00000040            

FAB$V_EXE      = 00000007            FTL$_NOASB     = FFFFFFF5            IFB$L_IDX_PTR    00000054            

FAB$V_FTN      = 00000000            FTL$_NODIDORFID= FFFFFFEB            IFB$L_IOS        0000000C            

FAB$V_GET      = 00000001            FTL$_NOLOCKBDB = FFFFFFE9            IFB$L_IOS4       00000010            

FAB$V_INP      = 00000013            FTL$_NONETWORK = FFFFFFE8            IFB$L_IRAB_LNK   0000001C            

FAB$V_JNL      = 00000016            FTL$_NONXTBDB  = FFFFFFF4            IFB$L_LAST_FAB   00000024            

FAB$V_KFO      = 0000001E            FTL$_NOSTRUCT  = FFFFFFF6            IFB$L_LOCK_BDB   00000050            

FAB$V_MSE      = 00000004            FTL$_NOTLOCKED = FFFFFFEC            IFB$L_MRN        00000054            

FAB$V_MXV      = 00000001            FTL$_RELEASFAIL= FFFFFFEA            IFB$L_NRP_LNK    00000050            

FAB$V_NAM      = 00000018            FTL$_SETPRTFAIL= FFFFFFFF            IFB$L_NWA_PTR    00000028            

FAB$V_NEF      = 0000000A            FTL$_STKTOOBIG = FFFFFFFE            IFB$L_PRIM_DEV   00000000            

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (3)



IFB$L_RLB_LNK    0000002C            IFB$W_IOS2       0000000E            XAB$L_RDT4       00000010            

IFB$L_RNS_LEN    00000050            IFB$W_LRL        0000003E            XAB$M_CBT      = 00000020            

IFB$M_BIO      = 00000020            IFB$W_MRS        0000004C            XAB$M_CTG      = 00000080            

IFB$M_BRO      = 00000040            IFB$W_RTDEQ      0000003A            XAB$M_HRD      = 00000001            

IFB$M_DEL      = 00000004            L$RMS00          00000000 R     04   XAB$M_ONC      = 00000002            

IFB$M_EXE      = 00000080            PIO$GL_FMLH      ********   X   02   XAB$Q_RDT        0000000C            

IFB$M_GET      = 00000002            RELEXT           000000ED R     02   XAB$V_CBT      = 00000005            

IFB$M_PUT      = 00000001            RETBDB           0000007B R     02   XAB$V_CTG      = 00000007            

IFB$M_TRN      = 00000010            RLS$M_KEEP_ACC = 00000008            XAB$V_HRD      = 00000000            

IFB$M_UPD      = 00000008            RLS$M_KEEP_LOCK= 00000004            XAB$V_ONC      = 00000001            

IFB$S_ORG      = 00000004            RLS$M_RETURN   = 00000001            XAB$W_DEQ        00000014            

IFB$S_RFM      = 00000004            RLS$M_WRT_THRU = 00000002            XAB$W_RFI        00000018            

IFB$V_ACCESSED = 00000025            RLS$V_KEEP_ACC = 00000003            XAB$W_RFI0       00000018            

IFB$V_ANSI_D   = 00000026            RLS$V_KEEP_LOCK= 00000002            XAB$W_RFI2       0000001A            

IFB$V_ASYNC    = 00000023            RLS$V_RETURN   = 00000000            XAB$W_RFI4       0000001C            

IFB$V_ASYNCWAIT= 00000024            RLS$V_WRT_THRU = 00000001            XAB$W_RVN        00000008            

IFB$V_BIO      = 00000005            RM$ALDBUF        ********   X   02   XAB$W_VOL        0000000A            

IFB$V_BRO      = 00000006            RM$BUG           ********   X   02   XAB_ARGS         00000000 R     02   

IFB$V_BUSY     = 00000020            RM$CACHE         ********   X   02   XBC$C_EXTALL     ********   X   02   

IFB$V_CREATE   = 00000032            RM$CHK_IDLE      ********   X   02   XTND             000000BD R     02   

IFB$V_DAP      = 0000003E            RM$ERRAID        ********   X   02   XTNDXIT          000000FD R     02   

IFB$V_DAP_OPEN = 0000003D            RM$ERRFAC        ********   X   02   

IFB$V_DEL      = 00000002            RM$ERRIMX        ********   X   02   

IFB$V_DFW      = 0000002C            RM$ERRIOP        ********   X   02   

IFB$V_DLT      = 0000002B            RM$ERRSUP        ********   X   02   

IFB$V_DMO      = 00000028            RM$EXRMS         ********   X   02   

IFB$V_EOF      = 00000021            RM$EXTEND0       ********   X   02   

IFB$V_EXE      = 00000007            RM$EXTEND_XAB    000000A3 RG    02   

IFB$V_GET      = 00000001            RM$FMT_BKT2      ********   X   02   

IFB$V_MSE      = 00000031            RM$FSET          ********   X   02   

IFB$V_NORECLK  = 00000033            RM$LOCK_PROLOG   ********   X   02   

IFB$V_NSP      = 0000003F            RM$RELEASE       ********   X   02   

IFB$V_NWA      = 0000003C            RM$RLSPLG        ********   X   02   

IFB$V_ORG      = 00000004            RM$UPD_PROLOG2   ********   X   02   

IFB$V_PPF_IMAGE= 00000022            RM$XAB_SCAN      ********   X   02   

IFB$V_PPF_INPUT= 0000002E            RMS$EXTEND     = 0000000B RG    02   

IFB$V_PUT      = 00000000            RMS$_ALQ         ********   X   04   

IFB$V_RFM      = 00000000            SEQEXT           000000F8 R     02   

IFB$V_RWC      = 00000027            TPT$L_EXTEND     ********   X   02   

IFB$V_RW_ATTR  = 00000034            XAB$B_AID        00000017            

IFB$V_SCF      = 0000002A            XAB$B_ALN        00000009            

IFB$V_SPL      = 00000029            XAB$B_AOP        00000008            

IFB$V_SQO      = 0000002D            XAB$B_BKZ        00000016            

IFB$V_TEF      = 00000036            XAB$B_BLN        00000001            

IFB$V_TMP      = 00000035            XAB$B_COD        00000000            

IFB$V_TRN      = 00000004            XAB$C_ALL      = 00000014            

IFB$V_UPD      = 00000003            XAB$C_ALLLEN     00000020            

IFB$V_WRTACC   = 00000030            XAB$C_ANY      = 00000000            

IFB$W_ASDEVBSIZ  0000005A            XAB$C_CYL      = 00000001            

IFB$W_BKS_BYTES  0000005C            XAB$C_LBN      = 00000002            

IFB$W_BKS_RECS   0000005E            XAB$C_RFI      = 00000004            

IFB$W_CHNL       00000020            XAB$C_VBN      = 00000003            

IFB$W_DEQ        0000004E            XAB$K_ALLLEN     00000020            

IFB$W_DEVBUFSIZ  00000038            XAB$L_ALQ        00000010            

IFB$W_EBK0       00000044            XAB$L_LOC        0000000C            

IFB$W_EBK2       00000046            XAB$L_NXT        00000004            

IFB$W_FFB        00000048            XAB$L_RDT0       0000000C            

RMS0EXTEN       DISPATCH FOR EXTEND OPERATION                    21-AUG-1978 22:02:30   VAX-11 MACRO X0.3-11               Page  13

PROGRAM SECTION SYNOPSIS                                                                                                         (3)







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$RMSEXTEND0     00000105      02     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

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

L$RMS0           00000008      04     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

12428. BYTES LEFT IN FREE MEMORY POOL.

1418. BYTES OF RECLAIMED MEMORY.

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

29 MLB DIR RDS - 780 GETS TO DEFINE 32 MACROS. 60 INTER. FILE WRITES. 

