RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   1

009                                                                                                                              (1)



                                     0000     1 ;	UETP prefix file (contains macro library file specs).

                                     0000     2 ;

                                     0000     3 	.LIBRARY	/EXECML$/	;SYSTEM MACROS

                                     0000     4 	.LIBRARY	/LIBD$:[SYSTST.OBJ]SYSTST.MLB/ ; PRIVATE UETP,SYSTST LIB

                                     0000     5 	.LIST	MEB

                                     0000     6 ;

                                     0000    31 	$BEGIN	RMSTEST5,009,__RMSTEST,<TEST RECORD LOCKING>,<GBL,LONG>

                                 00000000       	.PSECT	__RMSTEST,GBL,GBL,LONG

                                     0000    32 ;

                                     0000    33 	.ENABL DBG

                                     0000    34 ;

                                     0000    35 	$RMSDEF

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                 00000000       	.RESTORE

                                     0000    36 .NLIST MEB

                                     0000    37 ;

                                     0000    38 ;  MACROS:

                                     0000    39 ;

                                     0000    40 	.MACRO	BUFF	NAM,SIZE

                                     0000    41 NAM'BUF::	.BLKB	SIZE

                                     0000    42 NAM'BSZ==SIZE

                                     0000    43 	.ENDM	BUFF

                                     0000    44 ;

                                     0000    45 ;

                                     0000    46 ;

                                     0000    47 	.MACRO	TYPE	STRING, ?L

                                     0000    48 	STORE	<STRING>

                                     0000    49 	BLBC	VERBOSITY,L

                                     0000    50 	MOVL	#$$.TMPX,CMDORAB+RAB$L_RBF

                                     0000    51 	MOVW	#$$.TMPX1,CMDORAB+RAB$W_RSZ

                                     0000    52 	$PUT	RAB=CMDORAB,ERR=REPORT_ERROR

                                     0000    53 	BSBW	ERR

                                     0000    54    L:

                                     0000    55 	.ENDM	TYPE

                                     0000    56 ;

                                     0000    57 	.MACRO	WTTYPE	STRING

                                     0000    58 	$WAIT	RAB=CMDORAB

                                     0000    59 	TYPE	<STRING>

                                     0000    60 	.ENDM	WTTYPE

                                     0000    61 ;

                                     0000    62 	.MACRO	STORE	STRING,PRE

                                     0000    63 	.SAVE

                                     0000    64 	.PSECT	__$RMSNAM

                                     0000    65 	$$.TMPX=.

                                     0000    66 	PRE				; STORE ANY CARRIAGE CONTROL INFO

                                     0000    67 	.ASCII	%STRING%

                                     0000    68 	$$.TMPX1=.-$$.TMPX

                                     0000    69 	.RESTORE

                                     0000    70 	.ENDM	STORE

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   2

009                                                                                                                              (1)



                                     0000    72 ;

                                     0000    73 	.MACRO BEGIN TSTNAM

                                     0000    74 		STORE	<TSTNAM>

                                     0000    75 		MOVL	#$$.TMPX,BEG_DESCR+4		;ADDR

                                     0000    76 		MOVL	#$$.TMPX1,BEG_DESCR		;LEN

                                     0000    77 		BSBW BEGPUT

                                     0000    78 	.ENDM BEGIN

                                     0000    79 	.MACRO FINISH	TSTNAM

                                     0000    80 		STORE	<TSTNAM>

                                     0000    81 		MOVL	#$$.TMPX,FIN_DESCR+4		;ADDR

                                     0000    82 		MOVL	#$$.TMPX1,FIN_DESCR		;LEN

                                     0000    83 		BSBW FINPUT

                                     0000    84 	.ENDM FINISH

                                     0000    85 	.MACRO FIELD FLDNAM

                                     0000    86 		STORE <FLDNAM>

                                     0000    87 		MOVL	#$$.TMPX,FLD_DESCR+4		;ADDR

                                     0000    88 		MOVL	#$$.TMPX1,FLD_DESCR		;LEN

                                     0000    89 		BSBW FLDPUT

                                     0000    90 	.ENDM FIELD

                                     0000    91 	.MACRO	MBPT, ?L

                                     0000    92 	BLBC	VERBOSITY,L

                                     0000    93 	BPT

                                     0000    94    L:

                                     0000    95 	.ENDM	MBPT

                                     0000    96 ;

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   3

009                                                                                                                              (1)



                                 00000000    98 	.PSECT	__RMSTEST,GBL,LONG

                                     0000    99 	.ALIGN LONG

                                     0000   100 T5START::

                                     0000   101 	LOCK_FAB::	$FAB	FAC=<GET,PUT,UPD>,DNM=<TST$DISK:.FIL;1>,SHR=MSE,NAM=NAMBLK

                                     0050   102 	RAB1:		$RAB	FAB=LOCK_FAB,UBF=LCKBUF,USZ=LCKBSZ,RBF=LCKBUF,-

                                     0050   103 				RSZ=15,KBF=KEY

                                     0094   104 	RAB2:		$RAB	FAB=LOCK_FAB,UBF=LCK2BUF,USZ=LCKBSZ,-

                                     0094   105 				RBF=LCK2BUF,RSZ=15,ROP=ULK,KBF=KEY

                                     00D8   106 	BUFF	LCK,200

                                     01A0   107 	BUFF	LCK2,200

                           00000000  0268   108 	KEY:	.LONG 0

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   4

009                                                                                                                              (2)



                                     026C   110 RMT$TEST_5A::

                                     026C   111 	BEGIN	<LOCKING TESTS>

                                     0281   112 	$OPEN	FAB=LOCK_FAB,ERR=REPORT_ERROR

                          FD6B'  30  0292   113 	BSBW	ERR

                                     0295   114 	$CONNECT	RAB=RAB1,ERR=REPORT_ERROR

                          FD57'  30  02A6   115 	BSBW	ERR

                                     02A9   116 	$CONNECT	RAB=RAB2,ERR=REPORT_ERROR

                          FD43'  30  02BA   117 	BSBW	ERR

            57       FD8F CF     DE  02BD   118 	MOVAL	RAB1,R7			;R7 WILL BE ADDR OF RAB1

            58       FDCE CF     DE  02C2   119 	MOVAL	RAB2,R8			;R8 WILL BE ADDR OF RAB2

                                     02C7   120 ;FORCE LOTS OF COLLISIONS

                                     02C7   121 ; 1ST STREAM 1 DOES A GET (SEQ., SO 1ST RECORD), LOCKING IT

                                     02C7   122 ;THE 2ND STREAM ASKS FOR THE SAME RECORD, BUT FAILS

                                     02C7   123 ;THE 1ST STREAM RELEASES IT AND THE 2ND STREAM TAKES IT

                                     02C7   124 ;USING MANUAL LOCKING THE 2ND STREAM GETS THE 2ND RECORD (LOCKING 2 RECORDS)

                                     02C7   125 ;THE 1ST STREAM ASKS FOR THE 2ND RECORD, FINDING IT LOCKED

                                     02C7   126 ;UNTIL THE 2ND STREAM FREES BOTH RECORDS

                                     02C7   127 ;AT WHICH TIME THE 1ST STREAM TAKES THE 2ND RECORD

                                     02C7   128 	$GET	RAB=R7,ERR=REPORT_ERROR	;GET 1ST REC., LOCKING IT

                          FD27'  30  02D6   129 	BSBW	ERR

                                     02D9   130 	$GET	RAB=R8			;THIS SHOULD FAIL

   000182AA 8F            50     D1  02E2   131 	CMPL	R0,#RMS$_RLK

                          20     13  02E9   132 	BEQL	OK_LCK

                                     02EB   133 	FIELD	<RMS RETURNED STATUS CODE>

            5A       FD90 CF     DE  0300   134 	MOVAL	RAB2,R10

                          FCF8'  30  0305   135 	BSBW	REPORT_ERR

                          FCF5'  30  0308   136 	BSBW	ERR

                                     030B   137 OK_LCK:

                                     030B   138 	$RELEASE	RAB=R7,ERR=REPORT_ERROR	;RELEASE IT

                          FCE3'  30  031A   139 	BSBW	ERR

                                     031D   140 

                                     031D   141 

                                     031D   142 	$GET	RAB=R8,ERR=REPORT_ERROR		;NOW GET IT

                          FCD1'  30  032C   143 	BSBW	ERR

                                     032F   144 	$GET	RAB=R8,ERR=REPORT_ERROR		;AND ANOTHER

                          FCBF'  30  033E   145 	BSBW	ERR

                                     0341   146 	$GET	RAB=R7				;THIS SHOULD FAIL

   000182AA 8F            50     D1  034A   147 	CMPL	R0,#RMS$_RLK

                          20     13  0351   148 	BEQL	OK_LCK1

                                     0353   149 	FIELD	<RMS RETURNED STATUS CODE>

            5A       FCE4 CF     DE  0368   150 	MOVAL	RAB1,R10

                          FC90'  30  036D   151 	BSBW	REPORT_ERR

                          FC8D'  30  0370   152 	BSBW	ERR

                                     0373   153 OK_LCK1: $FREE	RAB=R8,ERR=REPORT_ERROR		;FREE BOTH RECORDS

                          FC7B'  30  0382   154 	BSBW	ERR

                                     0385   155 	$GET	RAB=R7,ERR=REPORT_ERROR

                          FC69'  30  0394   156 	BSBW	ERR					;SHOULD GET IT THIS TIME

            02         38 A7     D1  0397   157 	CMPL	RAB$L_BKT(R7),#2			;SHOULD HAVE BEEN 2ND

                          15     13  039B   158 	BEQL	BKT_OK

                                     039D   159 	FIELD	<BKT IN RAB (RECORD NUMBER)>

                                     03B2   160 BKT_OK:

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   5

009                                                                                                                              (3)



                                     03B2   162 ;TEST 2

                                     03B2   163 ;ONE STREAM NOW, USING MANUAL LOCKING GETS A RECORD

                                     03B2   164 ;WHEN IT TRIES TO GET IT AGAIN, IT SUCCEEDS WITH THE CODE, ALREADY LOCKED

                                     03B2   165 ;SHIFTING TO AUTOMATIC, IT GETS THE 2ND RECORD (ACTUALLY LOCKING THEM BOTH)

                                     03B2   166 ;SO WHEN IT TRIES TO GET THE 1ST AGAIN, IT SUCCEEDS W/ THE CODE, ALREADY LOCKED

                                     03B2   167 ;BUT THIS RELEASED THE 2ND RECORD, SO WHEN IT TRIES TO RELEASE THE 2ND, IT FAILS

                                     03B2   168 	$GET	RAB=R8,ERR=REPORT_ERROR

                          FC3C'  30  03C1   169 	BSBW	ERR					;GET A RECORD

         1E A8            01     90  03C4   170 	MOVB	#RAB$C_KEY,RAB$B_RAC(R8)		;CONTROL WHICH REC.

       FE9A CF         38 A8     D0  03C8   171 	MOVL	RAB$L_BKT(R8),KEY			;MOVE REC. # INTO KEY

                                     03CE   172 	$GET	RAB=R8,ERR=REPORT_ERROR		;GET SAME ONE

                          FC20'  30  03DD   173 	BSBW	ERR

   00018039 8F            50     D1  03E0   174 	CMPL	R0,#RMS$_OK_ALK				;FUNNY SUCCESS

                          15     13  03E7   175 	BEQL	OK_ALK

                                     03E9   176 	FIELD	<RETURNED SUCCESS CODE>

         04 A8   00040000 8F     CA  03FE   177 OK_ALK: BICL	#RAB$M_ULK,RAB$L_ROP(R8)		;SHIFT TO AUTOMATIC

                     FE5E CF     D6  0406   178 	INCL	KEY					;GET NEXT RECORD

                                     040A   179 	$GET	RAB=R8,ERR=REPORT_ERROR

                          FBE4'  30  0419   180 	BSBW	ERR					;GET 2ND REC.,

                                     041C   181 					;MAINTAINING HOLD ON 1ST

         10 A7         10 A8     7D  041C   182 	MOVQ	RAB$W_RFA(R8),RAB$W_RFA(R7)		;SAVE RFA FOR 

                                     0421   183 					;RELEASE OF 2ND

                     FE43 CF     D7  0421   184 	DECL	KEY			;GET 1ST AGAIN, MAKING SURE IT

                                     0425   185 					;WAS STILL LOCKED

                                     0425   186 	$GET	RAB=R8,ERR=REPORT_ERROR		;RELEASING 2ND ONE 

                          FBC9'  30  0434   187 	BSBW	ERR

   00018039 8F            50     D1  0437   188 	CMPL	R0,#RMS$_OK_ALK

                          15     13  043E   189 	BEQL	OK_ALK1

                                     0440   190 	FIELD	<RETURNED SUCCESS CODE>

                                     0455   191 OK_ALK1:

         10 A8         10 A7     7D  0455   192 	MOVQ	RAB$W_RFA(R7),RAB$W_RFA(R8)	;RESTORE RFA FOR RELEASE

                                     045A   193 	$RELEASE	RAB=R8		;RELEASE 2ND ONE

   000181A0 8F            50     D1  0463   194 	CMPL	R0,#RMS$_RNL			;R0 = REC. NOT LOCKED?

                          20     13  046A   195 	BEQL	OK_RNL

                                     046C   196 	FIELD	<RMS RETURNED ERROR CODE>

            5A       FC0F CF     DE  0481   197 	MOVAL	RAB2,R10

                          FB77'  30  0486   198 	BSBW	REPORT_ERR			;REPORT ERROR

                          FB74'  30  0489   199 	BSBW	ERR

                                     048C   200 OK_RNL:

         04 A8   00040000 8F     C8  048C   201 	BISL	#RAB$M_ULK,RAB$L_ROP(R8)	;BACK TO MANUAL

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   6

009                                                                                                                              (4)



                                     0494   203 ;TEST 3

                                     0494   204 ;WITH MANUAL LOCKING, GET 1ST RECORD, LOCKING IT

                                     0494   205 ;SECOND USER CAN'T GET IT

                                     0494   206 ;UPDATE IT SUCCESSFULLY, WHICH WILL NOT UNLOCK IT

                                     0494   207 ;SO WHEN UPDATING IT AGAIN, IT WILL SUCCEED BECAUSE IT'S STILL MANUALLY LOCKED

       FDCF CF            01     D0  0494   208 	MOVL	#1,KEY				;1ST RECORD

                                     0499   209 	$GET	RAB=R8,ERR=REPORT_ERROR	;GET W/ MANUAL LOCKING

                          FB55'  30  04A8   210 	BSBW	ERR

         1E A7            01     90  04AB   211 	MOVB	#RAB$C_KEY,RAB$B_RAC(R7)

                                     04AF   212 	$GET	RAB=R7			;TRY TO GET SAME RECORD

   000182AA 8F            50     D1  04B8   213 	CMPL	R0,#RMS$_RLK

                          20     13  04BF   214 	BEQL	RLK_OK

                                     04C1   215 	FIELD	<RMS STATUS CODE>

            5A       FB76 CF     DE  04D6   216 	MOVAL	RAB1,R10

                          FB22'  30  04DB   217 	BSBW	REPORT_ERR

                          FB1F'  30  04DE   218 	BSBW	ERR

                                     04E1   219 RLK_OK:

         04 A8   00040000 8F     CA  04E1   220 	BICL	#RAB$M_ULK,RAB$L_ROP(R8)	;SWITCH TO AUTOMATIC

                                     04E9   221 	$UPDATE	RAB=R8,ERR=REPORT_ERROR

                          FB05'  30  04F8   222 	BSBW	ERR

                                     04FB   223 	$FIND	RAB=R8,ERR=REPORT_ERROR		;GET A CURRENT RECORD

                          FAF3'  30  050A   224 	BSBW	ERR				;THIS SHOULD NOT FAIL

                                     050D   225 	$UPDATE RAB=R8,ERR=REPORT_ERROR		;THIS SHOULD SUCCEED

                          FAE1'  30  051C   226 	BSBW	ERR

                                     051F   227 	$RELEASE  RAB=R8,ERR=REPORT_ERROR	;THIS SHOULD NOT FAIL

                          FACF'  30  052E   228 	BSBW	ERR

                                     0531   229 STS_OK:

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   7

009                                                                                                                              (5)



                                     0531   231 ;TEST 4

                                     0531   232 ;ASYNCHRONOUSLY DO 2 GETS ON RECORDS IN THE SAME BUCKET

         04 A7            01     D0  0531   233 	MOVL	#RAB$M_ASY,RAB$L_ROP(R7)

         04 A8            01     D0  0535   234 	MOVL	#RAB$M_ASY,RAB$L_ROP(R8)

       FD2A CF            01     D0  0539   235 	MOVL	#1,KEY

                                     053E   236 	$GET	RAB=R7,ERR=REPORT_ERROR			;GETS 1ST RECORD

                     FD17 CF     D6  054D   237 	INCL	KEY

                                     0551   238 	$GET	RAB=R8,ERR=REPORT_ERROR		;GETS 2ND RECORD

                                     0560   239 	$WAIT	RAB=R7

                                     0569   240 	$WAIT	RAB=R8				;WAIT THEM OUT

                       04 A8     D4  0572   241 	CLRL	RAB$L_ROP(R8)			;ROP IN R7 WILL BE SET SOON

                                     0575   242 ;THAT'S IT FOR TEST 4

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   8

009                                                                                                                              (6)



                                     0575   244 ;TEST 5

                                     0575   245 ;DO THREEE TESTS,  GETTING THE SAME RECORD WITH EACH RAB

                                     0575   246 ;WITH NO LOCKING, SUPPOSEDLY.

                                     0575   247 ;1ST, SET THE NLK BIT. THEN THE RLK BIT. AND THEN LET FAC=GET

                                     0575   248 ;ALL THESE SHOULD CAUSE NO LOCKING

         04 A7   00100000 8F     D0  0575   249 	MOVL	#RAB$M_NLK,RAB$L_ROP(R7)

       FCE6 CF            01     D0  057D   250 	MOVL	#1,KEY

                          012D   30  0582   251 	BSBW	GET_TWO				;TRY TO GET THE RECORD TWICE

         04 A7   00080000 8F     D0  0585   252 	MOVL	#RAB$M_RLK,RAB$L_ROP(R7)

         04 A8   00100000 8F     D0  058D   253 	MOVL	#RAB$M_NLK,RAB$L_ROP(R8)	;CAN'T TRY TO LOCK RECORD

                     FCCF CF     D6  0595   254 	INCL	KEY

                          0116   30  0599   255 	BSBW	GET_TWO

   00018021 8F         08 A8     D1  059C   256 	CMPL	RAB$L_STS(R8),#RMS$_OK_RLK

                          15     13  05A4   257 	BEQL	RLK_OK2

                                     05A6   258 	FIELD	<RMS SUCCESS CODE>

                                     05BB   259 RLK_OK2:

         04 A7   00010000 8F     D0  05BB   260 	MOVL	#RAB$M_LOC,RAB$L_ROP(R7)	;LOCATE MODE

         04 A8   00010000 8F     D0  05C3   261 	MOVL	#RAB$M_LOC,RAB$L_ROP(R8)	;DIITO

       FA46 CF            02     90  05CB   262 	MOVB	#FAB$M_GET,FAB$B_FAC+LOCK_FAB	;ONLY GET ACCESS

                                     05D0   263 ;HAVE TO REOPEN FILE W/ FAC=GET

                                     05D0   264 	$DISCONNECT	RAB=R7,ERR=REPORT_ERROR

                          FA1E'  30  05DF   265 	BSBW	ERR

                                     05E2   266 	$DISCONNECT	RAB=R8,ERR=REPORT_ERROR

                          FA0C'  30  05F1   267 	BSBW	ERR

                                     05F4   268 	$CLOSE	FAB=LOCK_FAB,ERR=REPORT_ERROR

                          F9F8'  30  0605   269 	BSBW	ERR

                                     0608   270 	$OPEN	FAB=LOCK_FAB,ERR=REPORT_ERROR

                          F9E4'  30  0619   271 	BSBW	ERR

                                     061C   272 	$CONNECT	RAB=R7,ERR=REPORT_ERROR

                          F9D2'  30  062B   273 	BSBW	ERR

                                     062E   274 	$CONNECT	RAB=R8,ERR=REPORT_ERROR

                          F9C0'  30  063D   275 	BSBW	ERR

                     FC24 CF     D7  0640   276 	DECL	KEY

                          006B   30  0644   277 	BSBW	GET_TWO

                                     0647   278 ;

                                     0647   279 ; CLEAN UP

                                     0647   280 ;

         1E A7            00     90  0647   281 	MOVB	#RAB$C_SEQ,RAB$B_RAC(R7)

         1E A8            00     90  064B   282 	MOVB	#RAB$C_SEQ,RAB$B_RAC(R8)

                       04 A7     D4  064F   283 	CLRL	RAB$L_ROP(R7)

         04 A8   00040000 8F     D0  0652   284 	MOVL	#RAB$M_ULK,RAB$L_ROP(R8)

       F9B7 CF            01     C8  065A   285 	BISL	#FAB$M_PUT,FAB$B_FAC+LOCK_FAB

       F9B2 CF            08     C8  065F   286 	BISL	#FAB$M_UPD,FAB$B_FAC+LOCK_FAB

                                     0664   287 ;

                                     0664   288 ;	CLOSE UP

                                     0664   289 ;

                                     0664   290 	$DISCONNECT	RAB=R7,ERR=REPORT_ERROR

                          F98A'  30  0673   291 	BSBW	ERR

                                     0676   292 	$DISCONNECT	RAB=R8,ERR=REPORT_ERROR

                          F978'  30  0685   293 	BSBW	ERR

                                     0688   294 	$CLOSE	FAB=LOCK_FAB,ERR=REPORT_ERROR

                          F964'  30  0699   295 	BSBW	ERR

                                     069C   296 	FINISH	<LOCKING TESTS>

                                 05  06B1   297 	RSB

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page   9

009                                                                                                                              (7)



                                     06B2   299 GET_TWO:

                                     06B2   300 	;SUBROUTINE TO GET THE SAME RECORD W/ TWO RABS

                                     06B2   301 	;AND THEN COMPARE THE RESULTS

                                     06B2   302 	$GET	RAB=R7,ERR=REPORT_ERROR

                          F93C'  30  06C1   303 	BSBW	ERR

                                     06C4   304 	$GET	RAB=R8,ERR=REPORT_ERROR

                          F92A'  30  06D3   305 	BSBW	ERR

         22 A8         22 A7     B1  06D6   306 	CMPW	RAB$W_RSZ(R7),RAB$W_RSZ(R8)

                          15     13  06DB   307 	BEQL	RSZ_OK

                                     06DD   308 	FIELD	<RSZ>

                                     06F2   309 RSZ_OK:

         28 B7         22 A7     29  06F2   310 	CMPC3	RAB$W_RSZ(R7),@RAB$L_RBF(R7),@RAB$L_RBF(R8)

                       28 B8         06F7       

                          15     13  06F9   311 	BEQL	REC_OK

                                     06FB   312 	FIELD	<RECORDS>

                                 05  0710   313 REC_OK: RSB

                                     0711   314 .END

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (7)



$$.PSECT_EP    = 00000000            FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            

$$.TAB         = 00000094 R  D  02   FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            

$$.TABEND      = 000000D8 R  D  02   FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            

$$.TMP         = 00040000    D       FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            

$$.TMP1        = 00000002    D       FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            

$$.TMP2        = 00000058            FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            

$$.TMPX        = 000000C7 R  D  05   FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            

$$.TMPX1       = 00000007    D       FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            

$$RMSTEST      = 0000001E            FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001    D       

$$RMS_PBUGCHK  = 00000010            FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            

$$RMS_TBUGCHK  = 00000008            FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            

$$RMS_UMODE    = 00000004            FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            

BEGPUT           ********   X   02   FAB$M_GET      = 00000002    D       FAB$V_MSE      = 00000004    D       

BEG_DESCR        ********   X   02   FAB$M_INP      = 00080000            FAB$V_MXV      = 00000001            

BIT...         = 00000020    D       FAB$M_JNL      = 00400000            FAB$V_NAM      = 00000018            

BKT_OK           000003B2 R  D  02   FAB$M_KFO      = 40000000            FAB$V_NEF      = 0000000A            

ERR              ********   X   02   FAB$M_MSE      = 00000010            FAB$V_NFS      = 00000010            

FAB$B_BID        00000000            FAB$M_MXV      = 00000002            FAB$V_NIL      = 00000005            

FAB$B_BKS        0000003E    D       FAB$M_NAM      = 01000000            FAB$V_OFP      = 0000001D            

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

FAB$B_DNS        00000035    D       FAB$M_NFS      = 00010000            FAB$V_POS      = 00000008            

FAB$B_FAC        00000016    D       FAB$M_NIL      = 00000020            FAB$V_PPF      = 00000012            

FAB$B_FNS        00000034    D       FAB$M_OFP      = 20000000            FAB$V_PPF_IND  = 0000000E            

FAB$B_FSZ        0000003F    D       FAB$M_POS      = 00000100            FAB$V_PPF_RAT  = 00000006            

FAB$B_ORG        0000001D    D       FAB$M_PPF      = 00040000            FAB$V_PRN      = 00000002            

FAB$B_RAT        0000001E    D       FAB$M_PPF_IND  = 00004000            FAB$V_PUT      = 00000000    D       

FAB$B_RFM        0000001F    D       FAB$M_PPF_RAT  = 00003FC0            FAB$V_RCK      = 00000017            

FAB$B_RTV        0000001C    D       FAB$M_PRN      = 00000004            FAB$V_RWC      = 0000000B            

FAB$B_SHR        00000017    D       FAB$M_PUT      = 00000001    D       FAB$V_RWO      = 00000007            

FAB$C_BID      = 00000003    D       FAB$M_RCK      = 00800000            FAB$V_SCF      = 0000000E            

FAB$C_BLN        00000050    D       FAB$M_RWC      = 00000800            FAB$V_SHRDEL   = 00000002            

FAB$C_FIX      = 00000001            FAB$M_RWO      = 00000080            FAB$V_SHRGET   = 00000001            

FAB$C_HSH      = 00000030            FAB$M_SCF      = 00004000            FAB$V_SHRPUT   = 00000000            

FAB$C_IDX      = 00000020            FAB$M_SHRDEL   = 00000004            FAB$V_SHRUPD   = 00000003            

FAB$C_MAXRFM   = 00000003            FAB$M_SHRGET   = 00000002            FAB$V_SPL      = 0000000D            

FAB$C_REL      = 00000010            FAB$M_SHRPUT   = 00000001            FAB$V_SQO      = 00000006            

FAB$C_RFM_DFLT = 00000002            FAB$M_SHRUPD   = 00000008            FAB$V_SUP      = 00000002            

FAB$C_SEQ      = 00000000    D       FAB$M_SPL      = 00002000            FAB$V_TEF      = 0000001C            

FAB$C_UDF      = 00000000            FAB$M_SQO      = 00000040            FAB$V_TMD      = 00000004            

FAB$C_VAR      = 00000002    D       FAB$M_SUP      = 00000004            FAB$V_TMP      = 00000003            

FAB$C_VFC      = 00000003            FAB$M_TEF      = 10000000            FAB$V_TRN      = 00000004            

FAB$K_BLN        00000050            FAB$M_TMD      = 00000010            FAB$V_UFM      = 0000001A            

FAB$L_ALQ        00000010    D       FAB$M_TMP      = 00000008            FAB$V_UFO      = 00000011            

FAB$L_CTX        00000018    D       FAB$M_TRN      = 00000010            FAB$V_UPD      = 00000003    D       

FAB$L_DEV        00000040            FAB$M_UFM      = 04000000            FAB$V_UPI      = 00000006            

FAB$L_DNA        00000030    D       FAB$M_UFO      = 00020000            FAB$V_WCK      = 00000009            

FAB$L_FNA        0000002C    D       FAB$M_UPD      = 00000008    D       FAB$W_BLS        0000003C    D       

FAB$L_FOP        00000004    D       FAB$M_UPI      = 00000040            FAB$W_DEQ        00000014    D       

FAB$L_JNL        00000020    D       FAB$M_WCK      = 00000200            FAB$W_IFI        00000002            

FAB$L_MRN        00000038    D       FAB$S_ORG      = 00000004            FAB$W_MRS        00000036    D       

FAB$L_NAM        00000028    D       FAB$S_PPF_RAT  = 00000008            FINPUT           ********   X   02   

FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            FIN_DESCR        ********   X   02   

FAB$L_STS        00000008            FAB$V_BLK      = 00000003            FLDPUT           ********   X   02   

FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            FLD_DESCR        ********   X   02   

FAB$L_XAB        00000024    D       FAB$V_CBT      = 00000015            GBL...         = 00000000    D       

FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            GET_TWO          000006B2 R  D  02   

FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            KEY              00000268 R  D  02   

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (7)



LCK2BSZ        = 000000C8  G         RAB$M_PMT      = 40000000            RMS$_ABO       = 000183EC            

LCK2BUF          000001A0 RG D  02   RAB$M_PPF_IND  = 00004000            RMS$_ACC       = 0001C002            

LCKBSZ         = 000000C8  G D       RAB$M_PPF_RAT  = 00003FC0            RMS$_ACT       = 0001825A            

LCKBUF           000000D8 RG D  02   RAB$M_PTA      = 20000000            RMS$_AID       = 000183F4            

LOCK_FAB         00000000 RG D  02   RAB$M_RAH      = 00000200            RMS$_ALN       = 000183FC            

NAMBLK           ********   X   02   RAB$M_RLK      = 00080000    D       RMS$_ALQ       = 00018404            

OK_ALK           000003FE R  D  02   RAB$M_RNE      = 01000000            RMS$_ANI       = 0001840C            

OK_ALK1          00000455 R  D  02   RAB$M_RNF      = 08000000            RMS$_AOP       = 00018414            

OK_LCK           0000030B R  D  02   RAB$M_TMO      = 02000000            RMS$_ATR       = 0001C0CC            

OK_LCK1          00000373 R  D  02   RAB$M_TPT      = 00000002            RMS$_ATW       = 0001C0D4            

OK_RNL           0000048C R  D  02   RAB$M_UIF      = 00000010            RMS$_BKS       = 0001841C            

RAB$B_BID        00000000            RAB$M_ULK      = 00040000    D       RMS$_BKZ       = 00018424            

RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            RMS$_BLN       = 0001842C            

RAB$B_KRF        00000035    D       RAB$M_WBH      = 00000400            RMS$_BOF       = 00018198            

RAB$B_KSZ        00000034    D       RAB$S_PPF_RAT  = 00000008            RMS$_BUG       = 00018434            

RAB$B_MBC        00000037    D       RAB$V_ASY      = 00000000            RMS$_BUG_DAP   = 00018444            

RAB$B_MBF        00000036    D       RAB$V_BIO      = 0000000B            RMS$_BUG_DDI   = 0001843C            

RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            RMS$_BUG_XX2   = 0001844C            

RAB$B_RAC        0000001E    D       RAB$V_CVT      = 0000001A            RMS$_BUG_XX3   = 00018454            

RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            RMS$_BUG_XX4   = 0001845C            

RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            RMS$_BUG_XX5   = 00018464            

RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            RMS$_BUG_XX6   = 0001846C            

RAB$B_TMO        0000001F    D       RAB$V_KGE      = 00000015            RMS$_BUG_XX7   = 00018474            

RAB$C_BID      = 00000001    D       RAB$V_KGT      = 00000016            RMS$_BUG_XX8   = 0001847C            

RAB$C_BLN        00000044    D       RAB$V_LIM      = 0000000E            RMS$_BUG_XX9   = 00018484            

RAB$C_KEY      = 00000001    D       RAB$V_LOA      = 0000000D            RMS$_CAA       = 0001848C            

RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            RMS$_CCF       = 0001C0DC            

RAB$C_SEQ      = 00000000    D       RAB$V_MAS      = 00000005            RMS$_CCR       = 00018494            

RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            RMS$_CDA       = 0001C0E4            

RAB$L_BKT        00000038    D       RAB$V_NXR      = 00000017            RMS$_CHG       = 0001849C            

RAB$L_CTX        00000018    D       RAB$V_PMT      = 0000001E            RMS$_CHK       = 000184A4            

RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            RMS$_CHN       = 0001C0EC            

RAB$L_FAB        0000003C    D       RAB$V_PPF_RAT  = 00000006            RMS$_COD       = 000184AC            

RAB$L_KBF        00000030    D       RAB$V_PTA      = 0000001D            RMS$_CONTROLC  = 00010651            

RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            RMS$_CONTROLO  = 00010609            

RAB$L_RBF        00000028    D       RAB$V_RLK      = 00000013            RMS$_CONTROLY  = 00010611            

RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            RMS$_CRE       = 0001C00A            

RAB$L_RHB        0000002C    D       RAB$V_RNF      = 0000001B            RMS$_CREATED   = 00010619            

RAB$L_ROP        00000004    D       RAB$V_TMO      = 00000019            RMS$_CUR       = 000184B4            

RAB$L_STS        00000008    D       RAB$V_TPT      = 00000001            RMS$_DAC       = 0001C012            

RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            RMS$_DAN       = 000184BC            

RAB$L_UBF        00000024    D       RAB$V_ULK      = 00000012    D       RMS$_DEL       = 00018262            

RAB$M_ASY      = 00000001    D       RAB$V_WAT      = 00000011            RMS$_DEV       = 000184C4            

RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            RMS$_DIR       = 000184CC            

RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            RMS$_DME       = 000184D4            

RAB$M_CVT      = 04000000            RAB$W_RFA        00000010    D       RMS$_DNA       = 000184DC            

RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            RMS$_DNF       = 0001C04A            

RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022    D       RMS$_DNR       = 00018272            

RAB$M_HSH      = 00000080            RAB$W_USZ        00000020    D       RMS$_DPE       = 0001C03A            

RAB$M_KGE      = 00200000            RAB1             00000050 R  D  02   RMS$_DTP       = 000184E4            

RAB$M_KGT      = 00400000            RAB2             00000094 R  D  02   RMS$_DUP       = 000184EC            

RAB$M_LIM      = 00004000            REC_OK           00000710 R  D  02   RMS$_DVI       = 000184F4            

RAB$M_LOA      = 00002000            REPORT_ERR       ********   X   02   RMS$_ENT       = 0001C01A            

RAB$M_LOC      = 00010000    D       REPORT_ERROR     ********   X   02   RMS$_ENV       = 00018724            

RAB$M_MAS      = 00000020            RLK_OK           000004E1 R  D  02   RMS$_EOF       = 0001827A            

RAB$M_NLK      = 00100000    D       RLK_OK2          000005BB R  D  02   RMS$_ESA       = 000184FC            

RAB$M_NXR      = 00800000            RMS$V_STVSTATUS= 0000000E            RMS$_ESL       = 00018714            

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (7)



RMS$_ESS       = 00018504            RMS$_PENDING   = 00018009            RMS$_XAB       = 0001870C            

RMS$_EXP       = 000182C2            RMS$_PLG       = 0001861C            RMT$TEST_5A      0000026C RG D  02   

RMS$_EXT       = 0001C022            RMS$_PLV       = 0001872C            RSZ_OK           000006F2 R  D  02   

RMS$_FAB       = 0001850C            RMS$_POS       = 00018624            STS_OK           00000531 R  D  02   

RMS$_FAC       = 00018514            RMS$_PRM       = 0001862C            SYS$CLOSE        ********  GX   02   

RMS$_FEX       = 00018282            RMS$_PRV       = 0001829A            SYS$CONNECT      ********  GX   02   

RMS$_FLG       = 0001851C            RMS$_QUO       = 00018634            SYS$DISCONNECT   ********  GX   02   

RMS$_FLK       = 0001828A            RMS$_RAB       = 0001863C            SYS$FIND         ********  GX   02   

RMS$_FNA       = 00018524            RMS$_RAC       = 00018644            SYS$FREE         ********  GX   02   

RMS$_FND       = 0001C02A            RMS$_RAT       = 0001864C            SYS$GET          ********  GX   02   

RMS$_FNF       = 00018292            RMS$_RBF       = 00018654            SYS$OPEN         ********  GX   02   

RMS$_FNM       = 0001852C            RMS$_RER       = 0001C0F4            SYS$RELEASE      ********  GX   02   

RMS$_FOP       = 0001853C            RMS$_REX       = 000182A2            SYS$UPDATE       ********  GX   02   

RMS$_FSZ       = 00018534            RMS$_RFA       = 0001865C            SYS$WAIT         ********  GX   02   

RMS$_FUL       = 00018544            RMS$_RFM       = 00018664            T5START          00000000 RG D  02   

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

RMS$_IAN       = 00018554            RMS$_RLF       = 00018674            

RMS$_IBF       = 00018754            RMS$_RLK       = 000182AA    D       

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

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

RMS$_IFI       = 00018564            RMS$_RNL       = 000181A0    D       

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    D       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    D       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            

RMSTEST5        TEST RECORD LOCKING ;                            22-AUG-1978 03:31:43   VAX-11 MACRO X0.3-11               Page  13

PROGRAM SECTION SYNOPSIS                                                                                                         (7)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

__RMSTEST        00000711      02     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD    WRT LONG  

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

$RMSNAM          0000000F      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

__$RMSNAM        000000CE      05     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

9380. BYTES LEFT IN FREE MEMORY POOL.

1332. BYTES OF RECLAIMED MEMORY.

OBJ$:RMSTEST5,LIS$:RMSTEST5/-SP=SRC$:UETPLIBS,SRCD$:[RMSTEST]RMSTEST5

75 MLB DIR RDS - 855 GETS TO DEFINE 35 MACROS. 101 INTER. FILE WRITES. 

