RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      40  DECLARATIONS

   (1)      66  RM$RELEASE  -  RELEASE BUFFER FOR ALL FILE ORGS

   (1)     188  SHARED FILE SUPPORT (RELATIVE AND INDEXED)

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   1

008                                                                                                                              (1)



                                     0000     1 	$BEGIN	RM0RELEAS,008,$RMS0,<RELEASE BUFFER ROUTINE>

                                     0000     2 ;

                                     0000     3 ; COPYRIGHT (C) 1977

                                     0000     4 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     5 ;

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

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

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

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

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

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

                                     0000    12 ; REMAIN IN DEC.

                                     0000    13 ;

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

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

                                     0000    16 ; CORPORATION.

                                     0000    17 ;

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

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

                                     0000    20 ;

                                     0000    21 ;++

                                     0000    22 ; FACILITY: RMS32

                                     0000    23 ;

                                     0000    24 ; ABSTRACT:

                                     0000    25 ;		THIS MODULE RELEASES A BUFFER FOR ALL FILE

                                     0000    26 ;		ORGANIZATIONS, HANDLING WRITING IF DIRTY

                                     0000    27 ;		AND SHARING.

                                     0000    28 ;

                                     0000    29 ; ENVIRONMENT:

                                     0000    30 ;		STAR PROCESSOR RUNNING STARLET EXEC.

                                     0000    31 ;

                                     0000    32 ; AUTHOR: L F LAVERDURE,	 CREATION DATE: 30-MAR-77

                                     0000    33 ;

                                     0000    34 ; MODIFIED BY:

                                     0000    35 ;

                                     0000    36 ;	L F LAVERDURE,   5-MAY-78  13:53

                                     0000    37 ; 01	- 

                                     0000    38 ;--

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   2

008             DECLARATIONS                                                                                                     (1)



                                     0000    40 	.SBTTL	DECLARATIONS

                                     0000    41 ;

                                     0000    42 ; INCLUDE FILES:

                                     0000    43 ;

                                     0000    44 

                                     0000    45 ;

                                     0000    46 ; MACROS:

                                     0000    47 ;

                                     0000    48 	$IFBDEF

                                     0000    49 	$IRBDEF

                                     0000    50 	$CSHDEF

                                     0000    51 	$BDBDEF

                                     0000    52 	$RLSDEF

                                     0000    53 	$FABDEF

                                     0000    54 	$RMSDEF

                                     0000    55 	.LIST MEB

                                     0000    56 

                                     0000    57 ;

                                     0000    58 ; EQUATED SYMBOLS:

                                     0000    59 ;

                                     0000    60 

                                     0000    61 ;

                                     0000    62 ; OWN STORAGE:

                                     0000    63 ;

                                     0000    64 

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   3

008             RM$RELEASE  -  RELEASE BUFFER FOR ALL FILE ORGS                                                                  (1)



                                     0000    66 	.SBTTL RM$RELEASE  -  RELEASE BUFFER FOR ALL FILE ORGS

                                     0000    67 ;++

                                     0000    68 ; FUNCTIONAL DESCRIPTION:

                                     0000    69 ;

                                     0000    70 ; FOR ALL FILE ORGANIZATIONS:

                                     0000    71 ;	1) IF THE BUFFER VALID AND DIRTY AND

                                     0000    72 ;	   ANY OF THE FLAGS RLS$V_WRT_THRU, RLS$V_KEEP_LOCK* OR

                                     0000    73 ;	   RLS$V_RETURN SET, WRITES THE BUFFER OUT,

                                     0000    74 ;	   POSSIBLY WRITING BEHIND

                                     0000    75 ;	2) IF THE FLAG RLS$V_RETURN SET, WAITS FOR

                                     0000    76 ;	   READ-AHEAD OR WRITE-BEHIND TO COMPLETE,

                                     0000    77 ;	   IF ANY, AND RETURNS THE BDB AND

                                     0000    78 ;	   BUFFER TO THE FREE MEMORY LISTS

                                     0000    79 ;	3) IF THE RLS$V_KEEP_LOCK* BIT OFF RELEASE ACCESS

                                     0000    80 ;	   TO THE BLOCK, OTHERWISE, RETAIN ACCESS TO BLOCK

                                     0000    81 ;	4) IF ENTRY RM$RLNERR IS INVOKED CLEAR ALL ERROR

                                     0000    82 ;	   PRODUCING BDB FLAGS, CLEAR RELEASE CONTROL FLAGS

                                     0000    83 ;	   AND FALL THRU TO RM$RELEASE

                                     0000    84 ;	5) IF AN ERROR OCCURS AND RLS$V_KEEP_ACC IS NOT SET IN FLAGS,

                                     0000    85 ;	   CALL RM$RLNERR BEFORE RETURNING (I.E., DEACCESS BDB)

                                     0000    86 ;

                                     0000    87 ;	*  NOTE: RLS$V_KEEP_LOCK IS ONLY INPUT FOR THE

                                     0000    88 ;	   RELATIVE AND INDEXED FILE ORGANIZATIONS.

                                     0000    89 ;

                                     0000    90 ; CALLING SEQUENCE:

                                     0000    91 ;

                                     0000    92 ;	BSBW	RM$RELEASE

                                     0000    93 ;	BSBW	RM$RLNERR	- ALTERNATE ENTRY TO MERELY FREE THE BDB

                                     0000    94 ;

                                     0000    95 ;

                                     0000    96 ; INPUT PARAMETERS:

                                     0000    97 ;

                                     0000    98 ;	R11	IMPURE AREA ADDRESS

                                     0000    99 ;	R10	IFAB (SHARED IFAB) ADDRESS

                                     0000   100 ;	R9	IRAB/IFAB ADDRESS

                                     0000   101 ;	R8	RAB/FAB ADDRESS

                                     0000   102 ;	R4	BDB ADDRESS

                                     0000   103 ;	R3	RELEASE CONTROL FLAGS	(NOT AN INPUT FOR ENTRY AT RM$RLNERR)

                                     0000   104 ;

                                     0000   105 ; IMPLICIT INPUTS:

                                     0000   106 ;

                                     0000   107 ;	IFB$B_CASEORG

                                     0000   108 ;	BDB$B_FLGS

                                     0000   109 ;	IF BLOCK WRITTEN, ALL INPUTS TO RM$SEQWTBD

                                     0000   110 ;

                                     0000   111 ; OUTPUT PARAMETERS:

                                     0000   112 ;

                                     0000   113 ;	R0	STATUS CODE

                                     0000   114 ;	R1,R2,AP DESTROYED

                                     0000   115 ;	R3	ZEROED IF ENTRY AT RM$RLNERR OTHERWISE UNCHANGED

                                     0000   116 ;	R4,R5	DESTROYED IF RLS$V_RETURN SET

                                     0000   117 ;

                                     0000   118 ; IMPLICIT OUTPUTS:

                                     0000   119 ;

                                     0000   120 ;	BDB$V_DRT  -  CLEARED IF NOT DEFERED WRITE

                                     0000   121 ;	BDB$V_VAL AND BDB$V_PRM	CLEARED ON ENTRY AT RM$RLNERR

                                     0000   122 ;	THE VARIOUS OUTPUTS FROM RM$SEQWTBD

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   4

008             RM$RELEASE  -  RELEASE BUFFER FOR ALL FILE ORGS                                                                  (1)



                                     0000   123 ;

                                     0000   124 ; COMPLETION CODES:

                                     0000   125 ;

                                     0000   126 ;	STANDARD RMS.

                                     0000   127 ;

                                     0000   128 ; SIDE EFFECTS:

                                     0000   129 ;

                                     0000   130 ;	MAY HAVE SWITCHED TO RUNNING AT AST LEVEL.

                                     0000   131 ;--

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   5

008             RM$RELEASE  -  RELEASE BUFFER FOR ALL FILE ORGS                                                                  (1)



                                     0000   133 ;

                                     0000   134 ; ENTRY FOR UNCONDITIONAL RELEASE

                                     0000   135 ; CLEAR ALL POSSIBLE ERROR PRODUCING FLAGS AND FALL THRU

                                     0000   136 ;

                                     0000   137 RM$RLNERR::

         0A A4            0B     8A  0000   138 	BICB2	#BDB$M_VAL!BDB$M_DRT!BDB$M_PRM,BDB$B_FLGS(R4)

                          53     D4  0004   139 	CLRL	R3

                                     0006   140 ;

                                     0006   141 ; NORMAL ENTRY

                                     0006   142 ;

                                     0006   143 RM$RELEASE::

                                     0006   144 	$TSTPT	RELEASE

                 00000200'9F     D6  0006       		INCL	@#PIO$GL_FMLH+512+TPT$L_RELEASE

                          53     DD  000C   145 	PUSHL	R3			; SAVE FLAGS

                                     000E   146 	ASSUME	BDB$V_VAL EQ 0

            04         0A A4     E8  000E   147 	BLBS	BDB$B_FLGS(R4),10$	; BRANCH IF BUFFER VALID

         0A A4            02     8A  0012   148 	BICB2	#BDB$M_DRT,BDB$B_FLGS(R4)	; MAKE SURE DIRTY NOT SET

                                     0016   149 10$:

                                     0016   150 	ASSUME	FAB$C_SEQ EQ 0

                       23 AA     95  0016   151 	TSTB	IFB$B_ORGCASE(R10)	; SEQUENTIAL FILE ORG?

                          22     12  0019   152 	BNEQ	RLS_SHARED		; BRANCH IF NOT

                                     001B   153 ;

                                     001B   154 ; RELEASE FOR SEQUENTIAL FILE ORG (NON-SHARED)

                                     001B   155 ;

                                     001B   156 ;

                                     001B   157 ; WRITE THE BUFFER IF DIRTY

                                     001B   158 ;

         0A A4            01     E1  001B   159 	BBC	#BDB$V_DRT,BDB$B_FLGS(R4),20$	; BRANCH IF NOT DIRTY

                          06         001F       

                          FFDD'  30  0020   160 	BSBW	RM$SEQWTBD			; WRITE THE BUFFER

                                     0023   161 				; NOTE: THIS CODE NOT EXECUTED IF UNIT RECORD

            09            50     E9  0023   162 	BLBC	R0,RLSXIT			; BRANCH IF ERRORS

                                     0026   163 ;

                                     0026   164 ; RETURN BDB AND BUFFER IF REQUESTED

                                     0026   165 ;

                                     0026   166 20$:	ASSUME	RLS$V_RETURN EQ 0

            03            6E     E9  0026   167 EXIT:	BLBC	(SP),SUCXIT		; BRANCH IF RETURN NOT REQUESTED

                                     0029   168 ;!!!!! IF WRITE BEHIND, MUST AWAIT I/O DONE !!!!!

                          FFD4'  30  0029   169 	BSBW	RM$RETBDB		; RETURN BDB & BUFFER

                                     002C   170 SUCXIT:	RMSSUC

            50            01     D0  002C       		MOVL	#1,R0

                                     002F   171 ;

                                     002F   172 ; CLEAN UP STACK AND RETURN

                                     002F   173 ;

            53            8E     D0  002F   174 RLSXIT:	MOVL	(SP)+,R3

            01            50     E9  0032   175 	BLBC	R0,10$			; BRANCH ON ERROR

                                 05  0035   176 5$:	RSB

                                     0036   177 ;

                                     0036   178 ;  ERROR OCCURRED  -  DO RLNERR CALL UNLESS THE KEEP ACCESS FLAG IS ON

                                     0036   179 ;

            53            03     E0  0036   180 10$:	BBS	#RLS$V_KEEP_ACC,R3,5$	; BRANCH IF ACCESS TO BE KEPT ON ERROR

                          FB         0039       

                                     003A   181 	$PSECT_BR	L$RMS0

                          FFC3'  31  003A       		BRW	L$RMS00

                                     003D       		.SAVE

                                 00000000       		.PSECT	L$RMS0,GBL,NOWRT

                                     0000       L$RMS00:

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   6

008             RM$RELEASE  -  RELEASE BUFFER FOR ALL FILE ORGS                                                                  (1)



                          50     DD  0000   182 	PUSHL	R0			; SAVE STATUS

                          FFFB'  30  0002   183 	BSBW	RM$RLNERR		; RELEASE ACCESS

                          01     BA  0005   184 	POPR	#^M<R0>			; RESTORE STATUS CODE

                                 05  0007   185 	RSB				; AND RETURN

                                     0008   186 	$PSECT_RESTORE

                                 0000003D       		.RESTORE

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   7

008             SHARED FILE SUPPORT (RELATIVE AND INDEXED)                                                                       (1)



                                     003D   188 	.SBTTL	SHARED FILE SUPPORT (RELATIVE AND INDEXED)

                                     003D   189 

                                     003D   190 RLS_SHARED:	$PSECT_BR	$RMS23

                          FFC0'  31  003D       		BRW	$RMS231

                                     0040       		.SAVE

                                 00000000       		.PSECT	$RMS23,GBL,NOWRT

                                     0000       $RMS231:

                           00000008  0000   191 	.IF NE  $$RMSTEST&$$RMS_TBUGCHK

                       0B A4     95  0000   192 	TSTB	BDB$B_USECNT(R4)		; IS BDB ACCESSED?

                          2E     13  0003   193 	BEQL	NOTLOCKED			; BAD ERROR IF NOT

                                     0005   194 	.ENDC

                                     0005   195 ;

                                     0005   196 ; USER MUST HAVE BDB LOCKED IF REQUESTING RLS$V_KEEP_LOCK

                                     0005   197 ;

            53            02     E0  0005   198 	BBS	#RLS$V_KEEP_LOCK,R3,MUSTOWN ; BANCH IF WANT TO KEEP LOCK

                          2E         0008       

                                     0009   199 DEACCESS_BDB:				; DEACCESS BDB BY

                       0B A4     97  0009   200 	DECB	BDB$B_USECNT(R4)	; DECREMENTING USE COUNT

                          6C     12  000C   201 	BNEQ	SUCXIT1			; IF NOT 0 RETURN SUCCESS

                       0C A4     D4  000E   202 	CLRL	BDB$L_OWN(R4)		; KEEP OWNER FIELD CLEAN

                                     0011   203 ;

                                     0011   204 ; IF IO IS IN PROGRESS FOR BDB THEN EXIT WITH SUCCESS. OTHERWISE,

                                     0011   205 ; IF BDB IS DIRTY THEN WRITE IT OUT IF USER REQUESTING WRT_THRU

                                     0011   206 ; OR RETURN. OTHERWISE, WRITE IT OUT UNLESS DELAYED WRITE IS REQUESTED.

                                     0011   207 ;

         0A A4            02     E0  0011   208 	BBS	#BDB$V_IOP,BDB$B_FLGS(R4),SUCXIT1 ; EXIT IF IO IN PROGRESS

                          64         0015       

         0A A4            01     E1  0016   209 	BBC	#BDB$V_DRT,BDB$B_FLGS(R4),CACHED_EXIT ; EXIT IF NOT DIRTY

                          65         001A       

            53            03     D3  001B   210 	BITL	#RLS$M_WRT_THRU!RLS$M_RETURN,R3 ; MUST WE WRITE

                          04     12  001E   211 	BNEQ	WRITE			; BRANCH IF YES

                                     0020   212 ;

                                     0020   213 ; CODE IS PLACED HERE TO DELAY THE WRITE OF THE BUFFER IF

                                     0020   214 ; THE OPTION WAS CHOSEN BY THE USER (IE DFW WAS SET IN FOP ON OPEN/CREATE).

                                     0020   215 ; THE RM$GET_BUFFER ROUTINE IN THE RM0CACHE MODULE

                                     0020   216 ; WILL WRITE THE BUFFER OUT WHEN IT SELECTS IT FOR USE.

                                     0020   217 ;

            6A            2C     E0  0020   218 	BBS	#IFB$V_DFW,(R10),CACHED_EXIT ; BRANCH IF DEFERED WRITE

                          5C         0023       

                       0B A4     96  0024   219 WRITE:	INCB	BDB$B_USECNT(R4)	; REACCESS THE BDB

         0C A4            59     D0  0027   220 	MOVL	R9,BDB$L_OWN(R4)	; TAKE OWNERSHIP

                          FFD2'  30  002B   221 	BSBW	RM$SEQWTBD		; WRITE OUT BUFFER

            D8            50     E8  002E   222 	BLBS	R0,DEACCESS_BDB		; IF ALL OK GO AND DEACCESS BDB

                          4A     11  0031   223 	BRB	RLSXIT1			; OTHERWISE EXIT WITH IO ERROR

                                     0033   224 ;

                                     0033   225 ;

                                     0033   226 NOTLOCKED:

                                     0033   227 	RMSPBUG	FTL$_NOTLOCKED		; VERY BAD ERROR - TAKE DOWN SYSTEM

                                     0033       	.SAVE

                                 0000006C       	.PSECT	$ABS$,ABS

                           00000000  006C       	.=0

                                 00000033       	.RESTORE

                                     0033       	.SAVE

                                 0000006C       	.PSECT	$ABS$,ABS

                           00000000  006C       	.=0

                                 00000033       	.RESTORE

                          FFCA'  30  0033       		BSBW	RM$BUG

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   8

008             SHARED FILE SUPPORT (RELATIVE AND INDEXED)                                                                       (1)



                                 EC  0036       		.BYTE	FTL$_NOTLOCKED

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page   9

008             SHARED FILE SUPPORT (RELATIVE AND INDEXED)                                                                       (1)



                                     0037   229 ;

                                     0037   230 ; USER REQUESTING KEEP LOCK. USER MUST OWN BDB. IF NOT RMS BUG!!!

                                     0037   231 ; IF BDB DIRTY WRITE OUT THE BUFFER. IN EITHER CASE XCHANGE

                                     0037   232 ; THE BUFFER WITH ANOTHER BDB WHICH DOES NOT HAVE A BUFFER

                                     0037   233 ;

                                     0037   234 MUSTOWN:

         0C A4            59     D1  0037   235 	CMPL	R9,BDB$L_OWN(R4)	; IS THIS THE OWNER

                          F6     12  003B   236 	BNEQ	NOTLOCKED		; BRANCH IF NO

         0A A4            01     E1  003D   237 	BBC	#BDB$V_DRT,BDB$B_FLGS(R4),10$ ; BRANCH IF NO NEED TO WRITE

                          06         0041       

                          FFBB'  30  0042   238 	BSBW	RM$SEQWTBD		; WRITE OUT BUFFER

            35            50     E9  0045   239 	BLBC	R0,RLSXIT1		; GET OUT IF ERRORS

                          54     DD  0048   240 10$:	PUSHL	R4			; SAVE CURRENT BDB

                          52     D4  004A   241 	CLRL	R2			; SETUP TO GET BDB WITH NO BUFFER

            53            10     D0  004C   242 	MOVL	#CSH$M_NOBUFFER,R3	; SET CACHE CTRL FLAGS

                          FFAE'  30  004F   243 	BSBW	RM$GET_BUFFER		; GET BDB

            51            54     D0  0052   244 	MOVL	R4,R1			; ASSUME WE GOT ONE

            54            8E     D0  0055   245 	MOVL	(SP)+,R4		; RESTORE CURRENT BDB

            1F            50     E9  0058   246 	BLBC	R0,SUCXIT2		; ALL DONE IF WE FAILED TO GET BDB

         14 A1         14 A4     D0  005B   247 	MOVL	BDB$L_ADDR(R4),BDB$L_ADDR(R1) ; SWAP BUFFER INFO

         12 A1         12 A4     B0  0060   248 	MOVW	BDB$W_SIZE(R4),BDB$W_SIZE(R1)

         0A A4         7F 8F     8A  0065   249 	BICB2	#^C<BDB$M_LKDINWS>,BDB$B_FLGS(R4) ; CLEAR ALL BUT LCK IN WORKING SET

         0A A1         0A A4     88  006A   250 	BISB2	BDB$B_FLGS(R4),BDB$B_FLGS(R1) ; MERGE IN WOKING SET BIT

                       14 A4     D4  006F   251 	CLRL	BDB$L_ADDR(R4)		; NOTE CURRENT BDB HAS NO BUFFER

                       12 A4     B4  0072   252 	CLRW	BDB$W_SIZE(R4)

                       0A A4     94  0075   253 	CLRB	BDB$B_FLGS(R4)		; AND CLEAR BDB'S FLAGS

                          00     11  0078   254 	BRB	SUCXIT2			; AND RETURN WITH SUCCESS

                                     007A   255 ;

                                     007A   256 SUCXIT1:				; REF TAG TO TAKE SUCCESS EXIT

                                     007A   257 ; !! NEED CODE TO HANDLE SHARED FILE !!

                          FFAF'  31  007A   258 SUCXIT2: BRW	SUCXIT			; AND RETURN SUCCESS

                                     007D   259 RLSXIT1:				; REF TAG TO EXIT WITH CURRENT STATUS

                          FFAF'  31  007D   260 	BRW	RLSXIT

                                     0080   261 ;

                                     0080   262 ; CACHED BLOCK EXIT ROUTINE.

                                     0080   263 ; LINK THIS BDB AT THE FRONT OF THE BDB LIST IF IT IS VALID

                                     0080   264 ; *** NOTE: BDB$B_USECNT IS ALWAYS 0 WHEN WE GET HERE ***

                                     0080   265 ;

                                     0080   266 CACHED_EXIT:

                                     0080   267 	ASSUME	BDB$V_VAL EQ 0

            19         0A A4     E9  0080   268 	BLBC	BDB$B_FLGS(R4),20$	; BRANCH IF NOT VALID

                                     0084   269 ;

                                     0084   270 ; SETUP TO LINK BDB AT FRONT OF LIST

                                     0084   271 ;

            50            59     D0  0084   272 	MOVL	R9,R0			; ASSUME IFAB

                                     0087   273 	ASSUME	<IFB$C_BID&^X1> EQ 1

                                     0087   274 	ASSUME	<IRB$C_BID&^X1> EQ 0

                                     0087   275 	ASSUME	IFB$B_BID EQ IRB$B_BID

            03         08 A9     E8  0087   276 	BLBS	IFB$B_BID(R9),10$	; BRANCH IF WE WERE RIGHT

            50            69     D0  008B   277 	MOVL	IRB$L_IFAB_LNK(R9),R0	; GET IFAB ADDR

            50         30 A0     DE  008E   278 10$:	MOVAL	IFB$L_BDB_FLNK(R0),R0	; GET ADDR OF LIST HEAD

            54            60     D1  0092   279 	CMPL	(R0),R4			; ENTRY ALREADY AT FRONT OF LIST

                          06     13  0095   280 	BEQL	20$			; BRANCH IF YES

            54            64     0F  0097   281 	REMQUE	(R4),R4			; REMOVE BDB FROM LIST

            60            64     0E  009A   282 	INSQUE	(R4),(R0)		; AND PLACE AT FRONT OF LIST

                                     009D   283 20$:

                                     009D   284 ; !! NEED CODE TO HANDLE SHARED FILE !!

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page  10

008             SHARED FILE SUPPORT (RELATIVE AND INDEXED)                                                                       (1)



         0A A4            05     E1  009D   285 	BBC	#BDB$V_WFO,BDB$B_FLGS(R4),40$ ; BRANCH IF NO STREAM WAITING

                          08         00A1       

                          FF5B'  30  00A2   286 	BSBW	RM$WAKE_THREAD		; WAKE UP WAITING STREAM/THREAD

         0A A4            05     E0  00A5   287 30$:	BBS	#BDB$V_WFO,BDB$B_FLGS(R4),SUCXIT2 ; IF SOMEONE WAITING CAN'T RETURN

                          D0         00A9       

                                     00AA   288 					; BDB SO DON'T TEST FOR IT

                          FF79'  31  00AA   289 40$:	BRW	EXIT			; EXIT FROM RELEASE

                                     00AD   290 ;

                                     00AD   291 	.END

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



$$.PSECT_EP    = 00000002            DEACCESS_BDB     00000009 R     05   FAB$M_KFO      = 40000000            

$$RMSTEST      = 0000001A            EXIT             00000026 R     02   FAB$M_MSE      = 00000010            

$$RMS_PBUGCHK  = 00000010            FAB$B_BID        00000000            FAB$M_MXV      = 00000002            

$$RMS_TBUGCHK  = 00000008            FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            

$$RMS_UMODE    = 00000004            FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            

$RMS231          00000000 R     05   FAB$B_DNS        00000035            FAB$M_NFS      = 00010000            

BDB$B_BID        00000008            FAB$B_FAC        00000016            FAB$M_NIL      = 00000020            

BDB$B_BLN        00000009            FAB$B_FNS        00000034            FAB$M_OFP      = 20000000            

BDB$B_FLGS       0000000A            FAB$B_FSZ        0000003F            FAB$M_POS      = 00000100            

BDB$B_POST_CCTL  00000023            FAB$B_ORG        0000001D            FAB$M_PPF      = 00040000            

BDB$B_PRE_CCTL   00000022            FAB$B_RAT        0000001E            FAB$M_PPF_IND  = 00004000            

BDB$B_REL_VBN    00000020            FAB$B_RFM        0000001F            FAB$M_PPF_RAT  = 00003FC0            

BDB$B_USECNT     0000000B            FAB$B_RTV        0000001C            FAB$M_PRN      = 00000004            

BDB$B_VAL_VBNS   00000021            FAB$B_SHR        00000017            FAB$M_PUT      = 00000001            

BDB$C_BID      = 0000000C            FAB$C_BID      = 00000003            FAB$M_RCK      = 00800000            

BDB$C_BLN        00000028            FAB$C_BLN        00000050            FAB$M_RWC      = 00000800            

BDB$K_BLN        00000028            FAB$C_FIX      = 00000001            FAB$M_RWO      = 00000080            

BDB$L_ADDR       00000014            FAB$C_HSH      = 00000030            FAB$M_SCF      = 00004000            

BDB$L_BLINK      00000004            FAB$C_IDX      = 00000020            FAB$M_SHRDEL   = 00000004            

BDB$L_CURBUFADR  00000024            FAB$C_MAXRFM   = 00000003            FAB$M_SHRGET   = 00000002            

BDB$L_FLINK      00000000            FAB$C_REL      = 00000010            FAB$M_SHRPUT   = 00000001            

BDB$L_IOSB       00000020            FAB$C_RFM_DFLT = 00000002            FAB$M_SHRUPD   = 00000008            

BDB$L_OWN        0000000C            FAB$C_SEQ      = 00000000            FAB$M_SPL      = 00002000            

BDB$L_VBN        00000018            FAB$C_UDF      = 00000000            FAB$M_SQO      = 00000040            

BDB$L_WAIT       0000001C            FAB$C_VAR      = 00000002            FAB$M_SUP      = 00000004            

BDB$L_WK1        00000020            FAB$C_VFC      = 00000003            FAB$M_TEF      = 10000000            

BDB$M_AST_DCL  = 00000040            FAB$K_BLN        00000050            FAB$M_TMD      = 00000010            

BDB$M_DRT      = 00000002            FAB$L_ALQ        00000010            FAB$M_TMP      = 00000008            

BDB$M_IOP      = 00000004            FAB$L_CTX        00000018            FAB$M_TRN      = 00000010            

BDB$M_LKDINWS  = 00000080            FAB$L_DEV        00000040            FAB$M_UFM      = 04000000            

BDB$M_NOLOCATE = 00000010            FAB$L_DNA        00000030            FAB$M_UFO      = 00020000            

BDB$M_PRM      = 00000008            FAB$L_FNA        0000002C            FAB$M_UPD      = 00000008            

BDB$M_VAL      = 00000001            FAB$L_FOP        00000004            FAB$M_UPI      = 00000040            

BDB$M_WFO      = 00000020            FAB$L_JNL        00000020            FAB$M_WCK      = 00000200            

BDB$V_AST_DCL  = 00000006            FAB$L_MRN        00000038            FAB$S_ORG      = 00000004            

BDB$V_DRT      = 00000001            FAB$L_NAM        00000028            FAB$S_PPF_RAT  = 00000008            

BDB$V_IOP      = 00000002            FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            

BDB$V_LKDINWS  = 00000007            FAB$L_STS        00000008            FAB$V_BLK      = 00000003            

BDB$V_NOLOCATE = 00000004            FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            

BDB$V_PRM      = 00000003            FAB$L_XAB        00000024            FAB$V_CBT      = 00000015            

BDB$V_VAL      = 00000000            FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            

BDB$V_WFO      = 00000005            FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            

BDB$W_NUMB       00000010            FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            

BDB$W_SIZE       00000012            FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            

BIT...         = 00000000            FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            

BUG$_BADDFLTDIR= 00000001            FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            

CACHED_EXIT      00000080 R     05   FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            

CSH$M_LOCK     = 00000001            FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            

CSH$M_NOBUFFER = 00000010            FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            

CSH$M_NOREAD   = 00000004            FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            

CSH$M_NOWAIT   = 00000002            FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001            

CSH$M_READAHEAD= 00000008            FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            

CSH$V_LOCK     = 00000000            FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            

CSH$V_NOBUFFER = 00000004            FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            

CSH$V_NOREAD   = 00000002            FAB$M_GET      = 00000002            FAB$V_MSE      = 00000004            

CSH$V_NOWAIT   = 00000001            FAB$M_INP      = 00080000            FAB$V_MXV      = 00000001            

CSH$V_READAHEAD= 00000003            FAB$M_JNL      = 00400000            FAB$V_NAM      = 00000018            

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (1)



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            

FTL$_RELEASFAIL= FFFFFFEA            IFB$L_NWA_PTR    00000028            IFB$W_EBK2       00000046            

FTL$_SETPRTFAIL= FFFFFFFF            IFB$L_PRIM_DEV   00000000            IFB$W_FFB        00000048            

FTL$_STKTOOBIG = FFFFFFFE            IFB$L_RLB_LNK    0000002C            IFB$W_IOS2       0000000E            

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



IFB$W_LRL        0000003E            IRB$V_BIO_LAST = 00000027            RMS$_ACC       = 0001C002            

IFB$W_MRS        0000004C            IRB$V_BRO_SW   = 00000028            RMS$_ACT       = 0001825A            

IFB$W_RTDEQ      0000003A            IRB$V_BUSY     = 00000020            RMS$_AID       = 000183F4            

IRB$B_BCNT       00000040            IRB$V_DAP_CONN = 0000003E            RMS$_ALN       = 000183FC            

IRB$B_BID        00000008            IRB$V_DAP_FMODE= 0000003F            RMS$_ALQ       = 00018404            

IRB$B_BLN        00000009            IRB$V_DUP      = 0000002C            RMS$_ANI       = 0001840C            

IRB$B_EFN        0000000B            IRB$V_EOF      = 00000021            RMS$_AOP       = 00018414            

IRB$B_KEYSZ      00000051            IRB$V_FIND     = 00000029            RMS$_ATR       = 0001C0CC            

IRB$B_MBC        00000041            IRB$V_FIND_LAST= 00000025            RMS$_ATW       = 0001C0D4            

IRB$B_MODE       0000000A            IRB$V_IDX_ERR  = 00000031            RMS$_BKS       = 0001841C            

IRB$B_NRP_ID     00000030            IRB$V_LOCKABOVE= 00000002            RMS$_BKZ       = 00018424            

IRB$B_NRP_KREF   00000031            IRB$V_NEW_IDX  = 00000003            RMS$_BLN       = 0001842C            

IRB$B_NVBNS      00000048            IRB$V_POSINSERT= 00000000            RMS$_BOF       = 00018198            

IRB$B_POST_CCTL  00000045            IRB$V_PPF_EOF  = 0000002E            RMS$_BUG       = 00018434            

IRB$B_PPF_ISI    0000003E            IRB$V_PPF_FNDSV= 00000030            RMS$_BUG_DAP   = 00018444            

IRB$B_PRE_CCTL   00000044            IRB$V_PPF_IMAGE= 00000022            RMS$_BUG_DDI   = 0001843C            

IRB$B_RFA_ID     00000058            IRB$V_PPF_SKIP = 0000002F            RMS$_BUG_XX2   = 0001844C            

IRB$B_RP_ID      00000038            IRB$V_PUTS_LAST= 00000026            RMS$_BUG_XX3   = 00018454            

IRB$B_RP_KREF    00000039            IRB$V_RAHWBH   = 0000002A            RMS$_BUG_XX4   = 0001845C            

IRB$B_RRV_ID     00000050            IRB$V_SKIP_NEXT= 0000002B            RMS$_BUG_XX5   = 00018464            

IRB$B_SRCHFLAGS  00000043            IRB$V_SRCHGT   = 00000001            RMS$_BUG_XX6   = 0001846C            

IRB$B_STOPLEVEL  00000042            IRB$V_UNLOCK_RP= 0000002D            RMS$_BUG_XX7   = 00018474            

IRB$C_BID      = 0000000A            IRB$V_WRITE    = 00000029            RMS$_BUG_XX8   = 0001847C            

IRB$C_BLN_IDX    0000006C            IRB$W_CSIZ       00000042            RMS$_BUG_XX9   = 00018484            

IRB$C_BLN_REL    00000048            IRB$W_DUP_POS    00000032            RMS$_CAA       = 0001848C            

IRB$C_BLN_SEQ    0000004C            IRB$W_IOS2       0000000E            RMS$_CCF       = 0001C0DC            

IRB$K_BLN_IDX    0000006C            IRB$W_NRP_OFF    00000030            RMS$_CCR       = 00018494            

IRB$K_BLN_REL    00000048            IRB$W_OWN_ID     0000003C            RMS$_CDA       = 0001C0E4            

IRB$K_BLN_SEQ    0000004C            IRB$W_OWN_ISI    0000003E            RMS$_CHG       = 0001849C            

IRB$L_ARGLST     00000018            IRB$W_ROVHDSZ    00000044            RMS$_CHK       = 000184A4            

IRB$L_ASBADDR    00000014            IRB$W_RP_OFF     00000038            RMS$_CHN       = 0001C0EC            

IRB$L_BKPBITS    00000004            IRB$W_RTOTLSZ    00000046            RMS$_COD       = 000184AC            

IRB$L_BWB        0000000C            IRB$W_SAVE_POS   00000052            RMS$_CONTROLC  = 00010651            

IRB$L_CURBDB     00000020            L$RMS00          00000000 R     04   RMS$_CONTROLO  = 00010609            

IRB$L_CURVBN     00000030            MUSTOWN          00000037 R     05   RMS$_CONTROLY  = 00010611            

IRB$L_IFAB_LNK   00000000            NOTLOCKED        00000033 R     05   RMS$_CRE       = 0001C00A            

IRB$L_IOS        0000000C            PIO$GL_FMLH      ********   X   02   RMS$_CREATED   = 00010619            

IRB$L_IOS4       00000010            RLS$M_KEEP_ACC = 00000008            RMS$_CUR       = 000184B4            

IRB$L_IRAB_LNK   0000001C            RLS$M_KEEP_LOCK= 00000004            RMS$_DAC       = 0001C012            

IRB$L_KEYBUF     00000048            RLS$M_RETURN   = 00000001            RMS$_DAN       = 000184BC            

IRB$L_LAST_RAB   00000024            RLS$M_WRT_THRU = 00000002            RMS$_DEL       = 00018262            

IRB$L_LOCK_BDB   0000005C            RLS$V_KEEP_ACC = 00000003            RMS$_DEV       = 000184C4            

IRB$L_NRP        0000002C            RLS$V_KEEP_LOCK= 00000002            RMS$_DIR       = 000184CC            

IRB$L_NRP_OFF    00000030            RLS$V_RETURN   = 00000000            RMS$_DME       = 000184D4            

IRB$L_NRP_VBN    0000002C            RLS$V_WRT_THRU = 00000001            RMS$_DNA       = 000184DC            

IRB$L_NXTBDB     00000028            RLSXIT           0000002F R     02   RMS$_DNF       = 0001C04A            

IRB$L_OWNER_ID   0000003C            RLSXIT1          0000007D R     05   RMS$_DNR       = 00018272            

IRB$L_RFA_VBN    00000054            RLS_SHARED       0000003D R     02   RMS$_DPE       = 0001C03A            

IRB$L_RLB_ADDR   00000044            RM$BUG           ********   X   05   RMS$_DTP       = 000184E4            

IRB$L_RP         00000034            RM$GET_BUFFER    ********   X   05   RMS$_DUP       = 000184EC            

IRB$L_RP_OFF     00000038            RM$RELEASE       00000006 RG    02   RMS$_DVI       = 000184F4            

IRB$L_RP_VBN     00000034            RM$RETBDB        ********   X   02   RMS$_ENT       = 0001C01A            

IRB$L_RRV_VBN    0000004C            RM$RLNERR        00000000 RG    02   RMS$_ENV       = 00018724            

IRB$L_TEMP0      00000044            RM$SEQWTBD       ********   X   02   RMS$_EOF       = 0001827A            

IRB$L_TEMP1      00000048            RM$WAKE_THREAD   ********   X   05   RMS$_ESA       = 000184FC            

IRB$V_ASYNC    = 00000023            RMS$V_STVSTATUS= 0000000E            RMS$_ESL       = 00018714            

IRB$V_ASYNCWAIT= 00000024            RMS$_ABO       = 000183EC            RMS$_ESS       = 00018504            

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (1)



RMS$_EXP       = 000182C2            RMS$_PLG       = 0001861C            SUCXIT           0000002C R     02   

RMS$_EXT       = 0001C022            RMS$_PLV       = 0001872C            SUCXIT1          0000007A R     05   

RMS$_FAB       = 0001850C            RMS$_POS       = 00018624            SUCXIT2          0000007A R     05   

RMS$_FAC       = 00018514            RMS$_PRM       = 0001862C            TPT$L_RELEASE    ********   X   02   

RMS$_FEX       = 00018282            RMS$_PRV       = 0001829A            WRITE            00000024 R     05   

RMS$_FLG       = 0001851C            RMS$_QUO       = 00018634            

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

RMS$_FNA       = 00018524            RMS$_RAC       = 00018644            

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

RMS$_FNF       = 00018292            RMS$_RBF       = 00018654            

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

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

RMS$_FSZ       = 00018534            RMS$_RFA       = 0001865C            

RMS$_FUL       = 00018544            RMS$_RFM       = 00018664            

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

RMS$_IAN       = 00018554            RMS$_RLF       = 00018674            

RMS$_IBF       = 00018754            RMS$_RLK       = 000182AA            

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

RMS$_IFA       = 0001C124            RMS$_RNF       = 000182B2            

RMS$_IFI       = 00018564            RMS$_RNL       = 000181A0            

RMS$_IMX       = 0001856C            RMS$_ROP       = 0001867C            

RMS$_IOP       = 00018574            RMS$_RPL       = 0001C104            

RMS$_IRC       = 0001857C            RMS$_RRV       = 00018684            

RMS$_ISI       = 00018584            RMS$_RSA       = 000182DA            

RMS$_KBF       = 0001858C            RMS$_RSL       = 0001873C            

RMS$_KEY       = 00018594            RMS$_RSS       = 00018694            

RMS$_KFF       = 00018031            RMS$_RST       = 0001869C            

RMS$_KRF       = 0001859C            RMS$_RSZ       = 000186A4            

RMS$_KSZ       = 000185A4            RMS$_RTB       = 000181A8            

RMS$_LAN       = 000185AC            RMS$_SEQ       = 000186AC            

RMS$_LBL       = 000185B4            RMS$_SHR       = 000186B4            

RMS$_LNE       = 000185BC            RMS$_SIZ       = 000186BC            

RMS$_LOC       = 000185C4            RMS$_SPL       = 0001C042            

RMS$_MBC       = 00018734            RMS$_SQO       = 000186C4            

RMS$_MKD       = 0001C032            RMS$_STALL     = 00018001            

RMS$_MRN       = 000185CC            RMS$_STK       = 000186CC            

RMS$_MRS       = 000185D4            RMS$_SUC       = 00010001            

RMS$_NAM       = 000185DC            RMS$_SUP       = 000182D2            

RMS$_NEF       = 000185E4            RMS$_SUPERSEDE = 00010631            

RMS$_NET       = 0001874C            RMS$_SYN       = 000186D4            

RMS$_NID       = 000185EC            RMS$_SYS       = 0001C10C            

RMS$_NMF       = 000182CA            RMS$_TEMP1     = 0001826A            

RMS$_NOD       = 000185F4            RMS$_TEMP2     = 0001868C            

RMS$_NORMAL    = 00010001            RMS$_TMO       = 000181B0            

RMS$_NPK       = 000185FC            RMS$_TRE       = 000186DC            

RMS$_OK_ALK    = 00018039            RMS$_TYP       = 000186E4            

RMS$_OK_DEL    = 00018041            RMS$_UBF       = 000186EC            

RMS$_OK_DUP    = 00018011            RMS$_USZ       = 000186F4            

RMS$_OK_IDX    = 00018019            RMS$_VER       = 000186FC            

RMS$_OK_LIM    = 00018051            RMS$_VOL       = 00018704            

RMS$_OK_RLK    = 00018021            RMS$_WBE       = 0001C12C            

RMS$_OK_RNF    = 00018049            RMS$_WER       = 0001C114            

RMS$_OK_RRV    = 00018029            RMS$_WLD       = 00018744            

RMS$_ORD       = 00018604            RMS$_WLK       = 000182BA            

RMS$_ORG       = 0001860C            RMS$_WPL       = 0001C11C            

RMS$_PBF       = 00018614            RMS$_WSF       = 0001871C            

RMS$_PENDING   = 00018009            RMS$_XAB       = 0001870C            

RM0RELEAS       RELEASE BUFFER ROUTINE                           21-AUG-1978 21:28:42   VAX-11 MACRO X0.3-11               Page  15

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







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  

$RMS0            00000040      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$RMS0           00000008      04     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

$RMS23           000000AD      05     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

9244. BYTES LEFT IN FREE MEMORY POOL.

2840. BYTES OF RECLAIMED MEMORY.

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

25 MLB DIR RDS - 1051 GETS TO DEFINE 26 MACROS. 80 INTER. FILE WRITES. 

