RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      42  DECLARATIONS

   (1)      68  $SPACE ROUTINE

   (1)     229  $NXTVOL ROUTINE

   (1)     260  RM$REWIND_MT  -  INTERNAL ROUTINE TO REWIND MT

   (1)     290  MTFUNC  -  SUBROUTINE TO ISSUE A MAGTAPE CONTRO

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   1

008                                                                                                                              (1)



                                     0000     1 	$BEGIN	RMS0MAGTA,008,L$RMS0MAGTA,<$NXTVOL,$SPACE AND OTHER MAGTAPE CODE>

                                     0000     2 

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977, 1978

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

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

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

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

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

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

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

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

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

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

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

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

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

                                     0000    22 ;

                                     0000    23 ;++

                                     0000    24 ; FACILITY: RMS32

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:

                                     0000    27 ;	THIS MODULE PROVIDES THE $SPACE AND $NXTVOL RMS SERVICES AS WELL

                                     0000    28 ;	AS THE INTERNAL MAGTAPE REWIND FILE CODE.

                                     0000    29 ;

                                     0000    30 ; ENVIRONMENT:

                                     0000    31 ;		STAR PROCESSOR RUNNING STARLET EXEC.

                                     0000    32 ;

                                     0000    33 ; AUTHOR: L F LAVERDURE,	 CREATION DATE: 13-DEC-77

                                     0000    34 ;

                                     0000    35 ; MODIFIED BY:

                                     0000    36 ;

                                     0000    37 ;	L F LAVERDURE,   14-JUN-78  15:22

                                     0000    38 ;	J A KRYCKA,	 28-JUL-78  14:30

                                     0000    39 ; 01	- 

                                     0000    40 ;--

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   2

008             DECLARATIONS                                                                                                     (1)



                                     0000    42 	.SBTTL	DECLARATIONS

                                     0000    43 ;

                                     0000    44 ; INCLUDE FILES:

                                     0000    45 ;

                                     0000    46 

                                     0000    47 ;

                                     0000    48 ; MACROS:

                                     0000    49 ;

                                     0000    50 	$FIBDEF

                                     0000    51 	$RABDEF

                                     0000    52 	$DEVDEF

                                     0000    53 	$IFBDEF

                                     0000    54 	$IRBDEF

                                     0000    55 	$IODEF

                                     0000    56 	$RMSDEF

                                     0000    57 	.LIST MEB

                                     0000    58 

                                     0000    59 ;

                                     0000    60 ; EQUATED SYMBOLS:

                                     0000    61 ;

                                     0000    62 

                                     0000    63 ;

                                     0000    64 ; OWN STORAGE:

                                     0000    65 ;

                                     0000    66 

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   3

008             $SPACE ROUTINE                                                                                                   (1)



                                     0000    68 	.SBTTL	$SPACE ROUTINE

                                     0000    69 ;++

                                     0000    70 ; FUNCTIONAL DESCRIPTION:

                                     0000    71 ;

                                     0000    72 ;	THIS ROUTINE SPACES A MAGTAPE OR DISK FILE FORWARD OR BACKWARD

                                     0000    73 ;	A GIVEN NUMBER OF BLOCKS.  THE FILE MUST BE ACCESSED FOR BLOCK I/O.

                                     0000    74 ;

                                     0000    75 ; CALLING SEQUENCE:

                                     0000    76 ;

                                     0000    77 ;	ENTERED AS A RESULT OF USER'S CALLING SYS$SPACE

                                     0000    78 ;

                                     0000    79 ; INPUT PARAMETERS:

                                     0000    80 ;

                                     0000    81 ;	AP	USER'S ARGUMENT LIST

                                     0000    82 ;

                                     0000    83 ; IMPLICIT INPUTS:

                                     0000    84 ;

                                     0000    85 ;	THE CONTENTS OF THE RAB, IN PARTICULAR, THE BKT FIELD GIVES THE NUMBER

                                     0000    86 ;	OF BLOCKS TO SPACE, FORWARD IF POSITIVE, BACKWARD IF NEGATIVE.

                                     0000    87 ;

                                     0000    88 ; OUTPUT PARAMETERS:

                                     0000    89 ;

                                     0000    90 ;	R0	STATUS CODE

                                     0000    91 ;	R1	DESTROYED

                                     0000    92 ;

                                     0000    93 ; IMPLICIT OUTPUTS:

                                     0000    94 ;

                                     0000    95 ;	THE STS FIELD OF THE RAB

                                     0000    96 ;	THE STV FIELD OF THE RAB (SET TO # OF BLOCKS ACTUALLY SPACED, ALWAYS

                                     0000    97 ;	POSITIVE)

                                     0000    98 ;

                                     0000    99 ; COMPLETION CODES:

                                     0000   100 ;

                                     0000   101 ;	STANDARD RMS

                                     0000   102 ;

                                     0000   103 ; SIDE EFFECTS:

                                     0000   104 ;

                                     0000   105 ;	NONE

                                     0000   106 ;

                                     0000   107 ;--

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   4

008             $SPACE ROUTINE                                                                                                   (1)



                                     0000   109 ;++

                                     0000   110 ;

                                     0000   111 ; ENTRY POINT FOR $SPACE

                                     0000   112 ;

                                     0000   113 ; VERIFY OPERATION ALLOWED (ACCESSED FOR BLOCK I/O TO A MAGTAPE OR DISK)

                                     0000   114 ; AND CALL INTERNAL SPACE MAGTAPE ROUTINE UNLESS THIS IS FOR A DISK FILE.

                                     0000   115 ;

                                     0000   116 ;--

                                     0000   117 	$ENTRY	RMS$SPACE

                                 00000000       	.PSECT	L$RMS0MAGTA,GBL,NOWRT

                                     0000   118 	$TSTPT	SPACE

                 00000200'9F     D6  0000       		INCL	@#PIO$GL_FMLH+512+TPT$L_SPACE

                                     0006   119 	$RABSET	ANYFAC=1,BIO=1,CFLG=1		; SET UP STREAM

                          FFF7'  30  0006       		BSBW	RM$RSET

                                 38  0009       		.BYTE	<1 @ 5>!<1 @ 4>!<1 @ 3>!0

                                     000A   120 						; ANY FAC VALUE O.K., MUST BE ACCESSED

                                     000A   121 						; FOR BLOCK I/O, CLEAR FIND LAST

            6A            3E     E0  000A   122 	BBS	#IFB$V_DAP,(R10),NTSPACE	; BRANCH IF NETWORK OPERATION

                          21         000D       

            6A            0E     E1  000E   123 	BBC	#DEV$V_FOD,IFB$L_PRIM_DEV(R10),ERRIOP	; BRANCH IF NOT DISK OR MT

                          58         0011       

                          FFEB'  30  0012   124 	BSBW	RM$FLUSH			; WRITE ALL DIRTY BLOCKS

            14            50     E9  0015   125 	BLBC	R0,EXIT				; GET OUT ON ERROR

                       20 A9     D4  0018   126 	CLRL	IRB$L_CURBDB(R9)		; SAY NO CURRENT BDB

                       30 A9     B4  001B   127 	CLRW	IRB$W_NRP_OFF(R9)		; START AT BEGINNING NEXT BLOCK

            56         38 A8     D0  001E   128 	MOVL	RAB$L_BKT(R8),R6		; PICK UP SPACE COUNT

            6A            05     E1  0022   129 	BBC	#DEV$V_SQD,IFB$L_PRIM_DEV(R10),SPDISK	; BRANCH IF NOT MAGTAPE

                          0C         0025       

                          0D     10  0026   130 	BSBB	RM$SPACE_MT			; SPACE THE MAGTAPE

         0C A8            56     D0  0028   131 SPEXIT:	MOVL	R6,RAB$L_STV(R8)		; SET STV FROM BLOCK COUNT

                          FFD1'  31  002C   132 EXIT:	BRW	RM$EXRMS			; BACK TO USER

                                     002F   133 ;++

                                     002F   134 ;

                                     002F   135 ;  PERFORM NETWORK SPACE FUNCTION

                                     002F   136 ;

                                     002F   137 ;--

                                     002F   138 NTSPACE:$PSECT_BR	NF$NETWORK

                          FFCE'  31  002F       		BRW	NF$NETWORK0

                                     0032       		.SAVE

                                 00000000       		.PSECT	NF$NETWORK,GBL,NOWRT

                                     0000       NF$NETWORK0:

            56         38 A8     D0  0000   139 	MOVL	RAB$L_BKT(R8),R6		; GET # BLOCKS TO SPACE

                          FFF9'  30  0004   140 	BSBW	NT$SPACE			; SPACE THE FILE

            03            50     E9  0007   141 	BLBC	R0,10$				; BRANCH ON ERROR

                          001B'  31  000A   142 	BRW	SPEXIT				; REJOIN MAINLINE

                          FFF0'  31  000D   143 10$:	BRW	RM$EXRMS			; RETURN TO CALLER

                                     0010   144 	$PSECT_RESTORE

                                 00000032       		.RESTORE

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   5

008             $SPACE ROUTINE                                                                                                   (1)



                                     0032   146 ;

                                     0032   147 ;  $SPACE FOR DISK FILE.

                                     0032   148 ;

                                     0032   149 ;  UPDATE NBP CHECKING FOR BEGINNING AND END OF FILE CONDITIONS

                                     0032   150 ;

                                     0032   151 SPDISK:	$PSECT_BR	L$RMS0

                          FFCB'  31  0032       		BRW	L$RMS01

                                     0035       		.SAVE

                                 00000000       		.PSECT	L$RMS0,GBL,NOWRT

                                     0000       L$RMS01:

                          2F     19  0000   152 	BLSS	20$				; BRANCH IF BACKSPACE

         2C A9            56     C0  0002   153 	ADDL2	R6,IRB$L_NRP_VBN(R9)		; BUMP NRP BY SPACE COUNT

         2C A9         44 AA     C3  0006   154 	SUBL3	IFB$L_EBK(R10),IRB$L_NRP_VBN(R9),R1	; PAST EOF?

                          51         000B       

                          3F     1B  000C   155 	BLEQU	30$				; BRANCH IF NOT

            01            51     D1  000E   156 	CMPL	R1,#1				; EXACTLY 1 BLOCK PAST?

                          05     12  0011   157 	BNEQ	10$				; BRANCH IF NOT

                       48 AA     B5  0013   158 	TSTW	IFB$W_FFB(R10)			; SOMETHING IN LAST BLOCK?

                          35     12  0016   159 	BNEQ	30$				; BRANCH IF YES (O.K.)

                                     0018   160 ;

                                     0018   161 ;  ATTEMPT TO MOVE PAST EOF BLOCK (+1 IF FFB NOT = 0).

                                     0018   162 ;  POSITION TO EOF BLOCK (+1 IF FFB NOT = 0) AND RETURN AN ERROR.

                                     0018   163 ;

         2C A9         44 AA     D0  0018   164 10$:	MOVL	IFB$L_EBK(R10),IRB$L_NRP_VBN(R9); SET TO EOF BLOCK

                       48 AA     B5  001D   165 	TSTW	IFB$W_FFB(R10)			; BLOCK EMPTY?

                          05     13  0020   166 	BEQL	15$				; BRANCH IF YES

                       2C A9     D6  0022   167 	INCL	IRB$L_NRP_VBN(R9)		; BUMP PAST PARTIAL BLK

                          51     D7  0025   168 	DECL	R1				; ADJUST DIFFERENCE COUNT

            56            51     C2  0027   169 15$:	SUBL2	R1,R6				; ADJUST SPACE COUNT

                                     002A   170 						; = (# WANTED) - (# LACKING)

                                     002A   171 	RMSERR	EOF				; INDICATE NOT ALL SPACED

            50       827A 8F     3C  002A       		MOVZWL	#<RMS$_EOF&^XFFFF>,R0

                          1C     11  002F   172 	BRB	30$				; CONTINUE

                                     0031   173 ;

                                     0031   174 ;  SPACE BACKWARD FOR DISK FILE.

                                     0031   175 ;

                                     0031   176 ;  CHECK FOR BEGINNING OF FILE.

                                     0031   177 ;

            56            56     CE  0031   178 20$:	MNEGL	R6,R6				; GET # BLKS TO BACKSPACE

         2C A9            56     D1  0034   179 	CMPL	R6,IRB$L_NRP_VBN(R9)		; CAN WE DO ENTIRE BACKSPACE?

                          0F     1F  0038   180 	BLSSU	25$				; BRANCH IF YES

                                     003A   181 	RMSERR	BOF				; NO - CHANGE STATUS CODE

            50       8198 8F     3C  003A       		MOVZWL	#<RMS$_BOF&^XFFFF>,R0

            56         2C A9     D0  003F   182 	MOVL	IRB$L_NRP_VBN(R9),R6		; & ADJUST ACTUAL SPACE COUNT

            6A            18     E0  0043   183 	BBS	#DEV$V_FOR,IFB$L_PRIM_DEV(R10),25$	; BRANCH IF MOUNTED FOREIGN

                          02         0046       

                          56     D7  0047   184 	DECL	R6				; LEAVE NBP = 1

         2C A9            56     C2  0049   185 25$:	SUBL2	R6,IRB$L_NRP_VBN(R9)		; ADJUST NBP BY SPACE COUNT

                          FFD8'  31  004D   186 30$:	BRW	SPEXIT				; GO FINISH UP

                                     0050   187 	$PSECT_RESTORE

                                 00000035       		.RESTORE

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   6

008             $SPACE ROUTINE                                                                                                   (1)



                                     0035   189 ;++

                                     0035   190 ;

                                     0035   191 ;  SPACE FILE BLOCKS ROUTINE FOR MAGTAPE.

                                     0035   192 ;

                                     0035   193 ;  INPUTS:

                                     0035   194 ;

                                     0035   195 ;	R6	# OF BLOCKS TO SPACE (FORWARD IF POSTIVE, BACKWARD IF NEGATIVE)

                                     0035   196 ;	R8	RAB/FAB ADDRESS

                                     0035   197 ;	R9	IRAB/IFAB ADDRESS

                                     0035   198 ;	R10	IFAB ADDRESS

                                     0035   199 ;	R11	IMPURE AREA ADDRESS

                                     0035   200 ;

                                     0035   201 ;  OUTPUTS:

                                     0035   202 ;

                                     0035   203 ;	R0	STATUS CODE

                                     0035   204 ;	R6	# BLOCKS ACTUALLY SPACED

                                     0035   205 ;	R1-R5,AP	DESTROYED

                                     0035   206 ;

                                     0035   207 ;--

                                     0035   208 RM$SPACE_MT::

            6A            18     E0  0035   209 	BBS	#DEV$V_FOR,IFB$L_PRIM_DEV(R10),20$	; BRANCH IF MOUNTED FOREIGN

                          0A         0038       

            55            04     9A  0039   210 	MOVZBL	#FIB$C_SPACE,R5			; MAGTAPE CONTROL FUNCTION CODE

                          42     10  003C   211 	BSBB	MTFNC1				; DO THE SPACE

            56         0E A9     3C  003E   212 10$:	MOVZWL	IRB$L_IOS+2(R9),R6		; GET # OF BLOCKS SPACED

                                 05  0042   213 	RSB					; AND RETURN TO CALLER

                                     0043   214 ;

                                     0043   215 ;  DO SPACE LOGICAL BLOCKS FOR NON-FILES-11 MAGTAPE

                                     0043   216 ;

            50            26     3C  0043   217 20$:	MOVZWL	#IO$_SKIPRECORD,R0		; LGOGICAL SPACE FUNCTION CODE

                          31     10  0046   218 	BSBB	MTFUNC_FOR			; DO THE SPACE

                          F4     11  0048   219 	BRB	10$

                                     004A   220 ;++

                                     004A   221 ;

                                     004A   222 ;  WRITE AN EOF MARK FOR CLOSE OF OUTPUT FOREIGN MAGTAPE (OR MAILBOX)

                                     004A   223 ;

                                     004A   224 ;--

                                     004A   225 RM$WRITEOF::

            50            28     3C  004A   226 	MOVZWL	#IO$_WRITEOF,R0

                          28     11  004D   227 	BRB	MTFUNC_FOR1

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   7

008             $NXTVOL ROUTINE                                                                                                  (1)



                                     004F   229 	.SBTTL	$NXTVOL ROUTINE

                                     004F   230 ;++

                                     004F   231 ;

                                     004F   232 ;  ENTRY POINT FOR $NXTVOL.

                                     004F   233 ;

                                     004F   234 ;  CHECK THAT THIS IS FOR A MAGTAPE AND, IF SO, DO A $FLUSH FOLLOWED BY

                                     004F   235 ;  CALL TO THE MAGTAPE PRIMITIVE TO DO THE NEXT VOLUME PROCESSING.

                                     004F   236 ;

                                     004F   237 ;--

                                     004F   238 	$ENTRY	RMS$NXTVOL

                                 0000004F       	.PSECT	L$RMS0MAGTA,GBL,NOWRT

                                     004F   239 	$TSTPT	NXTVOL

                 00000200'9F     D6  004F       		INCL	@#PIO$GL_FMLH+512+TPT$L_NXTVOL

                                     0055   240 	$RABSET					; SET UP STREAM

                          FFA8'  30  0055       		BSBW	RM$RSET

                                 00  0058       		.BYTE	<0 @ 5>!<0 @ 4>!<0 @ 3>!0

            6A            05     E1  0059   241 	BBC	#DEV$V_SQD,IFB$L_PRIM_DEV(R10),ERRIOP	;BRANCH IF NOT MAGTAPE

                          0D         005C       

                          FFA0'  30  005D   242 	BSBW	RM$FLUSH			; WRITE ANY DIRTY BLOCKS

            C9            50     E9  0060   243 	BLBC	R0,EXIT				; GET OUT ON ERROR

            55            03     9A  0063   244 	MOVZBL	#FIB$C_NEXTVOL,R5		; SET MAGTAPE CONTROL FUNCTION CODE

                          16     10  0066   245 	BSBB	MTFUNC				; DO THE NEXTVOL CALL

                          C2     11  0068   246 	BRB	EXIT				; AND RETURN TO USER

                                     006A   247 

                                     006A   248 

                                     006A   249 

                                     006A   250 ;++

                                     006A   251 ;

                                     006A   252 ;  HANDLE INVALID DEVICE ERROR.

                                     006A   253 ;

                                     006A   254 ;--

                                     006A   255 ERRIOP:	$PSECT_BR	L$RMS0

                          FFE3'  31  006A       		BRW	L$RMS02

                                     006D       		.SAVE

                                 00000050       		.PSECT	L$RMS0,GBL,NOWRT

                                     0050       L$RMS02:

                                     0050   256 	RMSERR	IOP

            50       8574 8F     3C  0050       		MOVZWL	#<RMS$_IOP&^XFFFF>,R0

                          FFA8'  31  0055   257 	BRW	RM$EXRMS			; GET OUT

                                     0058   258 	$PSECT_RESTORE

                                 0000006D       		.RESTORE

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   8

008             RM$REWIND_MT  -  INTERNAL ROUTINE TO REWIND MT                                                                   (1)



                                     006D   260 	.SBTTL	RM$REWIND_MT  -  INTERNAL ROUTINE TO REWIND MT

                                     006D   261 ;++

                                     006D   262 ;

                                     006D   263 ;  REWIND MAGTAPE TO BEGINNING OF FILE

                                     006D   264 ;

                                     006D   265 ;

                                     006D   266 ;  INPUTS:

                                     006D   267 ;

                                     006D   268 ;	R8	RAB/FAB ADDRESS

                                     006D   269 ;	R9	IRAB/IFAB ADDRESS

                                     006D   270 ;	R10	IFAB ADDRESS

                                     006D   271 ;	R11	IMPURE AREA ADDRESS

                                     006D   272 ;

                                     006D   273 ;  OUTPUTS:

                                     006D   274 ;

                                     006D   275 ;	R0	STATUS CODE

                                     006D   276 ;	R1-R6,AP	DESTROYED

                                     006D   277 ;

                                     006D   278 ;--

                                     006D   279 RM$REWIND_MT::

            55            06     3C  006D   280 	MOVZWL	#FIB$C_REWINDFIL,R5		; SET MT CONTROL FUNCTION CODE

            6A            18     E1  0070   281 	BBC	#DEV$V_FOR,IFB$L_PRIM_DEV(R10),MTFUNC	; BRANCH IF NOT MOUNTED FOREIGN

                          0A         0073       

            50            24     3C  0074   282 	MOVZWL	#IO$_REWIND,R0			; REWIND TAPE I/O FUNCTION

                                     0077   283 MTFUNC_FOR1:

                          56     D4  0077   284 	CLRL	R6				; ZERO QIO P1 PARAMETER

                                     0079   285 	

                                     0079   286 MTFUNC_FOR:

                          FF84'  30  0079   287 	BSBW	RM$FORFNC			; DO THE FOREIGN TAPE FUNCTION

                          26     11  007C   288 	BRB	MTSTS

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page   9

008             MTFUNC  -  SUBROUTINE TO ISSUE A MAGTAPE CONTRO                                                                  (1)



                                     007E   290 	.SBTTL	MTFUNC  -  SUBROUTINE TO ISSUE A MAGTAPE CONTROL QIO

                                     007E   291 

                                     007E   292 ;++

                                     007E   293 ;  MTFUNC SUBROUTINE TO ISSUE USER MAGTAPE CONTROL FUNCTIONS TO THE

                                     007E   294 ;  MAGTAPE PRIMITIVE.

                                     007E   295 ;

                                     007E   296 ;  ENTRY AT MTFNC1 IF R6 CONTAINS A MAGTAPE CONTROL VALUE.

                                     007E   297 ;

                                     007E   298 ;  INPUTS:

                                     007E   299 ;

                                     007E   300 ;	R5	MAGTAPE CONTROL FUNCTION CODE

                                     007E   301 ;	R6	MAGTAPE CONTROL VALUE (NOT AN INPUT FOR ENTRY AT MTFUNC)

                                     007E   302 ;	R8	RAB/FAB ADDRESS

                                     007E   303 ;	R9	IRAB/IFAB ADDRESS

                                     007E   304 ;	R10	IFAB ADDRESS

                                     007E   305 ;	R11	IMPURE AREA ADDRESS

                                     007E   306 ;

                                     007E   307 ;  OUTPUTS:

                                     007E   308 ;

                                     007E   309 ;	R0	STATUS CODE

                                     007E   310 ;	R6	ZEROED IF ENTRY AT MTFUNC, ELSE UNCHANGED

                                     007E   311 ;	R1-R5,AP	DESTROYED

                                     007E   312 ;

                                     007E   313 ;  NOTE: RM$FLUSH MUST ALREADY HAVE BEEN CALLED FOR FILE

                                     007E   314 ;

                                     007E   315 ;--

                          56     D4  007E   316 MTFUNC:	CLRL	R6				; ZERO CONTROL VALUE PARAM

                                     0080   317 MTFNC1:						; ENTRY POINT WITH R6 = CONTROL VALUE

            52            1C     D0  0080   318 	MOVL	#FIB$C_MTALEN,R2		; SET SIZE OF FIB

                          FF7A'  30  0083   319 	BSBW	RM$GETSPC1			; ALLOCATE FIB

            1E            50     E9  0086   320 	BLBC	R0,MTXIT				; BRANCH ON ERROR

                                     0089   321 						; BUILD DESCRIPTOR FOR FIB ON STACK

                          51     DD  0089   322 	PUSHL	R1				; ADDR OF FIB

                          1C     DD  008B   323 	PUSHL	#FIB$C_MTALEN			; LENGTH OF FIB

         16 A1            55     B0  008D   324 	MOVW	R5,FIB$W_CNTRLFUNC(R1)		; SET CONTROL FUNCTION CODE

         18 A1            56     D0  0091   325 	MOVL	R6,FIB$L_CNTRLVAL(R1)		;  AND VALUE

            50            38     3C  0095   326 	MOVZWL	#IO$_ACPCONTROL,R0		; SET I/O FUNCTION CODE

                          FF65'  30  0098   327 	BSBW	RM$FCPFNC_ALT1			; DO THE CONTROL FUNCTION

                          14     BA  009B   328 	POPR	#^M<R2,R4>			; CLEAN STACK & GET FIB LEN & ADDR

                          50     DD  009D   329 	PUSHL	R0				; SAVE STATUS CODE

                          FF5E'  30  009F   330 	BSBW	RM$RETSPC1			; DEALLOCATE FIB

                          01     BA  00A2   331 	POPR	#^M<R0>				; RESTORE STATUS

            01            50     E9  00A4   332 MTSTS:	BLBC	R0,MTERR			; BRANCH ON ERROR

                                 05  00A7   333 MTXIT:	RSB					; RETURN TO CALLER

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page  10

008             MTFUNC  -  SUBROUTINE TO ISSUE A MAGTAPE CONTRO                                                                  (1)



                                     00A8   335 ;

                                     00A8   336 ;  HAD AN ERROR.  MAP TO RMS VERSION OF STATUS CODE.

                                     00A8   337 ;

       0000'8F            50     B1  00A8   338 MTERR:	CMPW	R0,#SS$_ENDOFFILE		; DID WE GET END OF FILE ERROR?

                          06     12  00AD   339 	BNEQ	25$				; BRANCH IF NOT

                                     00AF   340 	RMSERR	EOF				; YES - CHANGE TO RMS VERSION

            50       827A 8F     3C  00AF       		MOVZWL	#<RMS$_EOF&^XFFFF>,R0

                                 05  00B4   341 	RSB

       0000'8F            50     B1  00B5   342 25$:	CMPW	R0,#SS$_BEGOFFILE		; WAS IT BEGINNING OF FILE?

                          06     12  00BA   343 	BNEQ	30$				; BRANCH IF NOT

                                     00BC   344 	RMSERR	BOF				; YES - CHANGE TO RMS VERSION

            50       8198 8F     3C  00BC       		MOVZWL	#<RMS$_BOF&^XFFFF>,R0

                                 05  00C1   345 	RSB

                                     00C2   346 30$:	$PSECT_BR	L$RMS0

                          FF93'  31  00C2       		BRW	L$RMS03

                                     00C5       		.SAVE

                                 00000058       		.PSECT	L$RMS0,GBL,NOWRT

                                     0058       L$RMS03:

                                     0058   347 	RMSERR	DPE,R1				; DEFAULT ERROR CODE

            51       C03A 8F     3C  0058       		MOVZWL	#<RMS$_DPE&^XFFFF>,R1

                          FFA0'  31  005D   348 	BRW	RM$MAPERR			; MAP ERROR TO RMS & RETURN

                                     0060   349 	$PSECT_RESTORE

                                 000000C5       		.RESTORE

                                     00C5   350 

                                     00C5   351 

                                     00C5   352 	.END

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



$$.PSECT_EP    = 00000004            EXIT             0000002C R     02   FIB$M_NOTRUNC  = 00000800            

$$RMSTEST      = 0000001A            FIB$B_ALALIGN    00000021            FIB$M_NOWRITE  = 00000001            

$$RMS_PBUGCHK  = 00000010            FIB$B_ALOPTS     00000020            FIB$M_ONCYL    = 00000002            

$$RMS_TBUGCHK  = 00000008            FIB$B_DID_NMX    0000000F            FIB$M_PRSRV_ATR= 00020000            

$$RMS_UMODE    = 00000004            FIB$B_DID_RVN    0000000E            FIB$M_READCK   = 00000200            

BIT...         = 0001C134            FIB$B_FID_NMX    00000009            FIB$M_REWIND   = 00000008            

DEV$M_ALL      = 00800000            FIB$B_FID_RVN    00000008            FIB$M_SEQONLY  = 00000040            

DEV$M_AVL      = 00040000            FIB$B_LOC_NMX    00000027            FIB$M_SPOOL    = 00000010            

DEV$M_CCL      = 00000002            FIB$B_LOC_RVN    00000026            FIB$M_SUPERSEDE= 00000400            

DEV$M_DIR      = 00000008            FIB$B_WSIZE      00000003            FIB$M_TRUNC    = 00000100            

DEV$M_DMT      = 00200000            FIB$C_ACCDATA    0000000A            FIB$M_UPDATE   = 00000040            

DEV$M_ELG      = 00400000            FIB$C_ALCDATA    0000002C            FIB$M_WILD     = 00000100            

DEV$M_FOD      = 00004000            FIB$C_CYL      = 00000001            FIB$M_WRITE    = 00000100            

DEV$M_FOR      = 01000000            FIB$C_DIRDATA    00000016            FIB$M_WRITECK  = 00000020            

DEV$M_GEN      = 00020000            FIB$C_EXTDATA    00000020            FIB$V_ALCON    = 00000000            

DEV$M_IDV      = 04000000            FIB$C_ILLEGAL  = 00000005            FIB$V_ALCONB   = 00000001            

DEV$M_MBX      = 00100000            FIB$C_LBN      = 00000002            FIB$V_ALDEF    = 00000003            

DEV$M_MNT      = 00080000            FIB$C_LENGTH     0000002C            FIB$V_ALLNAM   = 00000005            

DEV$M_NET      = 00002000            FIB$C_MTALEN     0000001C            FIB$V_ALLTYP   = 00000004            

DEV$M_ODV      = 08000000            FIB$C_NEXTVOL  = 00000003            FIB$V_ALLVER   = 00000003            

DEV$M_RCK      = 40000000            FIB$C_POSEND   = 00000002            FIB$V_CURPOS   = 00000004            

DEV$M_REC      = 00000001            FIB$C_REWINDFIL= 00000006            FIB$V_DLOCK    = 00000001            

DEV$M_RND      = 10000000            FIB$C_REWINDVOL= 00000001            FIB$V_EXACT    = 00000000            

DEV$M_RTM      = 20000000            FIB$C_RFI      = 00000004            FIB$V_EXECUTE  = 00000010            

DEV$M_SDI      = 00000010            FIB$C_SPACE    = 00000004            FIB$V_EXTEND   = 00000007            

DEV$M_SHR      = 00010000            FIB$C_VBN      = 00000003            FIB$V_FILCON   = 00000002            

DEV$M_SPL      = 00000040            FIB$K_ACCDATA    0000000A            FIB$V_FINDFID  = 0000000B            

DEV$M_SQD      = 00000020            FIB$K_ALCDATA    0000002C            FIB$V_HIGHVER  = 0000000F            

DEV$M_SWL      = 02000000            FIB$K_DIRDATA    00000016            FIB$V_LOWVER   = 0000000E            

DEV$M_TRM      = 00000004            FIB$K_EXTDATA    00000020            FIB$V_MARKBAD  = 0000000A            

DEV$M_WCK      = 80000000            FIB$K_LENGTH     0000002C            FIB$V_NEWVER   = 00000009            

DEV$V_ALL      = 00000017            FIB$K_MTALEN     0000001C            FIB$V_NOHDREXT = 00000009            

DEV$V_AVL      = 00000012            FIB$L_ACCTL      00000000            FIB$V_NOREAD   = 0000000A            

DEV$V_CCL      = 00000001            FIB$L_CNTRLVAL   00000018            FIB$V_NOTRUNC  = 0000000B            

DEV$V_DIR      = 00000003            FIB$L_EXSZ       00000018            FIB$V_NOWRITE  = 00000000            

DEV$V_DMT      = 00000015            FIB$L_EXVBN      0000001C            FIB$V_ONCYL    = 00000001            

DEV$V_ELG      = 00000016            FIB$L_LOC_ADDR   00000028            FIB$V_PRSRV_ATR= 00000011            

DEV$V_FOD      = 0000000E            FIB$L_WCC        00000010            FIB$V_READCK   = 00000009            

DEV$V_FOR      = 00000018            FIB$M_ALCON    = 00000001            FIB$V_REWIND   = 00000003            

DEV$V_GEN      = 00000011            FIB$M_ALCONB   = 00000002            FIB$V_SEQONLY  = 00000006            

DEV$V_IDV      = 0000001A            FIB$M_ALDEF    = 00000008            FIB$V_SPOOL    = 00000004            

DEV$V_MBX      = 00000014            FIB$M_ALLNAM   = 00000020            FIB$V_SUPERSEDE= 0000000A            

DEV$V_MNT      = 00000013            FIB$M_ALLTYP   = 00000010            FIB$V_TRUNC    = 00000008            

DEV$V_NET      = 0000000D            FIB$M_ALLVER   = 00000008            FIB$V_UPDATE   = 00000006            

DEV$V_ODV      = 0000001B            FIB$M_CURPOS   = 00000010            FIB$V_WILD     = 00000008            

DEV$V_RCK      = 0000001E            FIB$M_DLOCK    = 00000002            FIB$V_WRITE    = 00000008            

DEV$V_REC      = 00000000            FIB$M_EXACT    = 00000001            FIB$V_WRITECK  = 00000005            

DEV$V_RND      = 0000001C            FIB$M_EXECUTE  = 00010000            FIB$W_ALLOC      00000022            

DEV$V_RTM      = 0000001D            FIB$M_EXTEND   = 00000080            FIB$W_CNTRLFUNC  00000016            

DEV$V_SDI      = 00000004            FIB$M_FILCON   = 00000004            FIB$W_DID        0000000A            

DEV$V_SHR      = 00000010            FIB$M_FINDFID  = 00000800            FIB$W_DID_NUM    0000000A            

DEV$V_SPL      = 00000006            FIB$M_HIGHVER  = 00008000            FIB$W_DID_RVN    0000000E            

DEV$V_SQD      = 00000005            FIB$M_LOWVER   = 00004000            FIB$W_DID_SEQ    0000000C            

DEV$V_SWL      = 00000019            FIB$M_MARKBAD  = 00000400            FIB$W_EXCTL      00000016            

DEV$V_TRM      = 00000002            FIB$M_NEWVER   = 00000200            FIB$W_FID        00000004            

DEV$V_WCK      = 0000001F            FIB$M_NOHDREXT = 00000200            FIB$W_FID_NUM    00000004            

ERRIOP           0000006A R     02   FIB$M_NOREAD   = 00000400            FIB$W_FID_RVN    00000008            

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (1)



FIB$W_FID_SEQ    00000006            IFB$L_MRN        00000054            IFB$W_DEVBUFSIZ  00000038            

FIB$W_LOC_FID    00000022            IFB$L_NRP_LNK    00000050            IFB$W_EBK0       00000044            

FIB$W_LOC_NUM    00000022            IFB$L_NWA_PTR    00000028            IFB$W_EBK2       00000046            

FIB$W_LOC_RVN    00000026            IFB$L_PRIM_DEV   00000000            IFB$W_FFB        00000048            

FIB$W_LOC_SEQ    00000024            IFB$L_RLB_LNK    0000002C            IFB$W_IOS2       0000000E            

FIB$W_NMCTL      00000014            IFB$L_RNS_LEN    00000050            IFB$W_LRL        0000003E            

GBL...         = 00000000            IFB$M_BIO      = 00000020            IFB$W_MRS        0000004C            

IFB$B_AMAX       00000059            IFB$M_BRO      = 00000040            IFB$W_RTDEQ      0000003A            

IFB$B_AVBN       00000058            IFB$M_DEL      = 00000004            IO$M_ABORT     = 00000100            

IFB$B_BID        00000008            IFB$M_EXE      = 00000080            IO$M_ACCESS    = 00000040            

IFB$B_BKS        0000004A            IFB$M_GET      = 00000002            IO$M_ATTNAST   = 00000100            

IFB$B_BLN        00000009            IFB$M_PUT      = 00000001            IO$M_BINARY    = 00000040            

IFB$B_EFN        0000000B            IFB$M_TRN      = 00000010            IO$M_CANCTRLO  = 00000040            

IFB$B_EXTRABUF   0000005D            IFB$M_UPD      = 00000008            IO$M_COMMOD    = 00000040            

IFB$B_FAC        00000022            IFB$S_ORG      = 00000004            IO$M_CREATE    = 00000080            

IFB$B_FSZ        0000004B            IFB$S_RFM      = 00000004            IO$M_CTRLCAST  = 00000100            

IFB$B_KBUFSZ     0000005C            IFB$V_ACCESSED = 00000025            IO$M_CTRLYAST  = 00000080            

IFB$B_MODE       0000000A            IFB$V_ANSI_D   = 00000026            IO$M_CVTLOW    = 00000100            

IFB$B_NUM_KEYS   0000005A            IFB$V_ASYNC    = 00000023            IO$M_DATACHECK = 00004000            

IFB$B_ORGCASE    00000023            IFB$V_ASYNCWAIT= 00000024            IO$M_DELETE    = 00000100            

IFB$B_RAT        0000003D            IFB$V_BIO      = 00000005            IO$M_DMOUNT    = 00000400            

IFB$B_RFMORG     0000003C            IFB$V_BRO      = 00000006            IO$M_DSABLMBX  = 00000400            

IFB$B_UBUFSZ     0000005B            IFB$V_BUSY     = 00000020            IO$M_ENABLMBX  = 00000080            

IFB$C_BID      = 0000000B            IFB$V_CREATE   = 00000032            IO$M_FCODE     = 0000003F            

IFB$C_BLN        00000060            IFB$V_DAP      = 0000003E            IO$M_HANGUP    = 00000200            

IFB$C_BLN_IDX    00000060            IFB$V_DAP_OPEN = 0000003D            IO$M_INHERLOG  = 00000800            

IFB$C_BLN_REL    00000060            IFB$V_DEL      = 00000002            IO$M_INHEXTGAP = 00001000            

IFB$C_BLN_SEQ    0000005C            IFB$V_DFW      = 0000002C            IO$M_INHRETRY  = 00008000            

IFB$C_DIR      = 00000003            IFB$V_DLT      = 0000002B            IO$M_INHSEEK   = 00001000            

IFB$C_FHAEND     00000050            IFB$V_DMO      = 00000028            IO$M_INTERRUPT = 00000040            

IFB$C_IDX      = 00000002            IFB$V_EOF      = 00000021            IO$M_INTSKIP   = 00000100            

IFB$C_MAXORG   = 00000002            IFB$V_EXE      = 00000007            IO$M_MOUNT     = 00000200            

IFB$C_REL      = 00000001            IFB$V_GET      = 00000001            IO$M_NOECHO    = 00000040            

IFB$C_SEQ      = 00000000            IFB$V_MSE      = 00000031            IO$M_NOFILTR   = 00000200            

IFB$K_BLN        00000060            IFB$V_NORECLK  = 00000033            IO$M_NOFORMAT  = 00000100            

IFB$K_BLN_IDX    00000060            IFB$V_NSP      = 0000003F            IO$M_NOW       = 00000040            

IFB$K_BLN_REL    00000060            IFB$V_NWA      = 0000003C            IO$M_NOWAIT    = 00000080            

IFB$K_BLN_SEQ    0000005C            IFB$V_ORG      = 00000004            IO$M_PACKED    = 00000080            

IFB$K_FHAEND     00000050            IFB$V_PPF_IMAGE= 00000022            IO$M_PURGE     = 00000800            

IFB$L_ARGLST     00000018            IFB$V_PPF_INPUT= 0000002E            IO$M_READATTN  = 00000080            

IFB$L_ASBADDR    00000014            IFB$V_PUT      = 00000000            IO$M_REVERSE   = 00000040            

IFB$L_AS_DEV     00000054            IFB$V_RFM      = 00000000            IO$M_SHUTDOWN  = 00000080            

IFB$L_BDB_BLNK   00000034            IFB$V_RWC      = 00000027            IO$M_STARTUP   = 00000040            

IFB$L_BDB_FLNK   00000030            IFB$V_RW_ATTR  = 00000034            IO$M_SYNCH     = 00000200            

IFB$L_BKPBITS    00000004            IFB$V_SCF      = 0000002A            IO$M_TIMED     = 00000080            

IFB$L_BWB        0000000C            IFB$V_SPL      = 00000029            IO$M_TRMNOECHO = 00001000            

IFB$L_DVBN       00000058            IFB$V_SQO      = 0000002D            IO$M_WRTATTN   = 00000100            

IFB$L_EBK        00000044            IFB$V_TEF      = 00000036            IO$S_FCODE     = 00000006            

IFB$L_FRB_PTR    00000028            IFB$V_TMP      = 00000035            IO$V_ABORT     = 00000008            

IFB$L_FWA_BDB    00000050            IFB$V_TRN      = 00000004            IO$V_ACCESS    = 00000006            

IFB$L_HBK        00000040            IFB$V_UPD      = 00000003            IO$V_ATTNAST   = 00000008            

IFB$L_IDX_PTR    00000054            IFB$V_WRTACC   = 00000030            IO$V_BINARY    = 00000006            

IFB$L_IOS        0000000C            IFB$W_ASDEVBSIZ  0000005A            IO$V_CANCTRLO  = 00000006            

IFB$L_IOS4       00000010            IFB$W_BKS_BYTES  0000005C            IO$V_COMMOD    = 00000006            

IFB$L_IRAB_LNK   0000001C            IFB$W_BKS_RECS   0000005E            IO$V_CREATE    = 00000007            

IFB$L_LAST_FAB   00000024            IFB$W_CHNL       00000020            IO$V_CTRLCAST  = 00000008            

IFB$L_LOCK_BDB   00000050            IFB$W_DEQ        0000004E            IO$V_CTRLYAST  = 00000007            

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



IO$V_CVTLOW    = 00000008            IO$_SEARCH     = 00000009            IRB$L_IRAB_LNK   0000001C            

IO$V_DATACHECK = 0000000E            IO$_SEEK       = 00000002            IRB$L_KEYBUF     00000048            

IO$V_DELETE    = 00000008            IO$_SENSECHAR  = 0000001B            IRB$L_LAST_RAB   00000024            

IO$V_DMOUNT    = 0000000A            IO$_SENSEMODE  = 00000027            IRB$L_LOCK_BDB   0000005C            

IO$V_DSABLMBX  = 0000000A            IO$_SETCHAR    = 0000001A            IRB$L_NRP        0000002C            

IO$V_ENABLMBX  = 00000007            IO$_SETMODE    = 00000023            IRB$L_NRP_OFF    00000030            

IO$V_FCODE     = 00000000            IO$_SKIPFILE   = 00000025            IRB$L_NRP_VBN    0000002C            

IO$V_HANGUP    = 00000009            IO$_SKIPRECORD = 00000026            IRB$L_NXTBDB     00000028            

IO$V_INHERLOG  = 0000000B            IO$_SPACEFILE  = 00000002            IRB$L_OWNER_ID   0000003C            

IO$V_INHEXTGAP = 0000000C            IO$_SPACERECORD= 00000009            IRB$L_RFA_VBN    00000054            

IO$V_INHRETRY  = 0000000F            IO$_STARTSPNDL = 00000019            IRB$L_RLB_ADDR   00000044            

IO$V_INHSEEK   = 0000000C            IO$_UNLOAD     = 00000001            IRB$L_RP         00000034            

IO$V_INTERRUPT = 00000006            IO$_VIRTUAL    = 0000003F            IRB$L_RP_OFF     00000038            

IO$V_INTSKIP   = 00000008            IO$_WRITECHECK = 0000000A            IRB$L_RP_VBN     00000034            

IO$V_MOUNT     = 00000009            IO$_WRITECHECKH= 00000018            IRB$L_RRV_VBN    0000004C            

IO$V_NOECHO    = 00000006            IO$_WRITEHEAD  = 0000000D            IRB$L_TEMP0      00000044            

IO$V_NOFILTR   = 00000009            IO$_WRITELBLK  = 00000020            IRB$L_TEMP1      00000048            

IO$V_NOFORMAT  = 00000008            IO$_WRITEMARK  = 0000001C            IRB$V_ASYNC    = 00000023            

IO$V_NOW       = 00000006            IO$_WRITEOF    = 00000028            IRB$V_ASYNCWAIT= 00000024            

IO$V_NOWAIT    = 00000007            IO$_WRITEPBLK  = 0000000B            IRB$V_BIO_LAST = 00000027            

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IO$_RECAL      = 00000003            IRB$L_CURBDB     00000020            L$RMS01          00000000 R     05   

IO$_RELEASE    = 00000005            IRB$L_CURVBN     00000030            L$RMS02          00000050 R     05   

IO$_RETCENTER  = 00000007            IRB$L_IFAB_LNK   00000000            L$RMS03          00000058 R     05   

IO$_REWIND     = 00000024            IRB$L_IOS        0000000C            MTERR            000000A8 R     02   

IO$_REWINDOFF  = 00000022            IRB$L_IOS4       00000010            MTFNC1           00000080 R     02   

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (1)



MTFUNC           0000007E R     02   RAB$M_PPF_RAT  = 00003FC0            RM$WRITEOF       0000004A RG    02   

MTFUNC_FOR       00000079 R     02   RAB$M_PTA      = 20000000            RMS$NXTVOL     = 0000004D RG    02   

MTFUNC_FOR1      00000077 R     02   RAB$M_RAH      = 00000200            RMS$SPACE      = FFFFFFFE RG    02   

MTSTS            000000A4 R     02   RAB$M_RLK      = 00080000            RMS$V_STVSTATUS= 0000000E            

MTXIT            000000A7 R     02   RAB$M_RNE      = 01000000            RMS$_ABO       = 000183EC            

NF$NETWORK0      00000000 R     04   RAB$M_RNF      = 08000000            RMS$_ACC       = 0001C002            

NT$SPACE         ********   X   04   RAB$M_TMO      = 02000000            RMS$_ACT       = 0001825A            

NTSPACE          0000002F R     02   RAB$M_TPT      = 00000002            RMS$_AID       = 000183F4            

PIO$GL_FMLH      ********   X   02   RAB$M_UIF      = 00000010            RMS$_ALN       = 000183FC            

RAB$B_BID        00000000            RAB$M_ULK      = 00040000            RMS$_ALQ       = 00018404            

RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            RMS$_ANI       = 0001840C            

RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            RMS$_AOP       = 00018414            

RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            RMS$_ATR       = 0001C0CC            

RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            RMS$_ATW       = 0001C0D4            

RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            RMS$_BKS       = 0001841C            

RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            RMS$_BKZ       = 00018424            

RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            RMS$_BLN       = 0001842C            

RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            RMS$_BOF       = 00018198            

RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            RMS$_BUG       = 00018434            

RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            RMS$_BUG_DAP   = 00018444            

RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            RMS$_BUG_DDI   = 0001843C            

RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            RMS$_BUG_XX2   = 0001844C            

RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            RMS$_BUG_XX3   = 00018454            

RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            RMS$_BUG_XX4   = 0001845C            

RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            RMS$_BUG_XX5   = 00018464            

RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            RMS$_BUG_XX6   = 0001846C            

RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            RMS$_BUG_XX7   = 00018474            

RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            RMS$_BUG_XX8   = 0001847C            

RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            RMS$_BUG_XX9   = 00018484            

RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            RMS$_CAA       = 0001848C            

RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            RMS$_CCF       = 0001C0DC            

RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            RMS$_CCR       = 00018494            

RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            RMS$_CDA       = 0001C0E4            

RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            RMS$_CHG       = 0001849C            

RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            RMS$_CHK       = 000184A4            

RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            RMS$_CHN       = 0001C0EC            

RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            RMS$_COD       = 000184AC            

RAB$L_STS        00000008            RAB$V_TPT      = 00000001            RMS$_CONTROLC  = 00010651            

RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            RMS$_CONTROLO  = 00010609            

RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            RMS$_CONTROLY  = 00010611            

RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            RMS$_CRE       = 0001C00A            

RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            RMS$_CREATED   = 00010619            

RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            RMS$_CUR       = 000184B4            

RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            RMS$_DAC       = 0001C012            

RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            RMS$_DAN       = 000184BC            

RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            RMS$_DEL       = 00018262            

RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            RMS$_DEV       = 000184C4            

RAB$M_KGE      = 00200000            RM$EXRMS         ********   X   02   RMS$_DIR       = 000184CC            

RAB$M_KGT      = 00400000            RM$FCPFNC_ALT1   ********   X   02   RMS$_DME       = 000184D4            

RAB$M_LIM      = 00004000            RM$FLUSH         ********   X   02   RMS$_DNA       = 000184DC            

RAB$M_LOA      = 00002000            RM$FORFNC        ********   X   02   RMS$_DNF       = 0001C04A            

RAB$M_LOC      = 00010000            RM$GETSPC1       ********   X   02   RMS$_DNR       = 00018272            

RAB$M_MAS      = 00000020            RM$MAPERR        ********   X   05   RMS$_DPE       = 0001C03A            

RAB$M_NLK      = 00100000            RM$RETSPC1       ********   X   02   RMS$_DTP       = 000184E4            

RAB$M_NXR      = 00800000            RM$REWIND_MT     0000006D RG    02   RMS$_DUP       = 000184EC            

RAB$M_PMT      = 40000000            RM$RSET          ********   X   02   RMS$_DVI       = 000184F4            

RAB$M_PPF_IND  = 00004000            RM$SPACE_MT      00000035 RG    02   RMS$_ENT       = 0001C01A            

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page  15

SYMBOL TABLE                                                                                                                     (1)



RMS$_ENV       = 00018724            RMS$_OK_RRV    = 00018029            RMS$_WLD       = 00018744            

RMS$_EOF       = 0001827A            RMS$_ORD       = 00018604            RMS$_WLK       = 000182BA            

RMS$_ESA       = 000184FC            RMS$_ORG       = 0001860C            RMS$_WPL       = 0001C11C            

RMS$_ESL       = 00018714            RMS$_PBF       = 00018614            RMS$_WSF       = 0001871C            

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

RMS$_EXP       = 000182C2            RMS$_PLG       = 0001861C            SPDISK           00000032 R     02   

RMS$_EXT       = 0001C022            RMS$_PLV       = 0001872C            SPEXIT           00000028 R     02   

RMS$_FAB       = 0001850C            RMS$_POS       = 00018624            SS$_BEGOFFILE    ********   X   02   

RMS$_FAC       = 00018514            RMS$_PRM       = 0001862C            SS$_ENDOFFILE    ********   X   02   

RMS$_FEX       = 00018282            RMS$_PRV       = 0001829A            TPT$L_NXTVOL     ********   X   02   

RMS$_FLG       = 0001851C            RMS$_QUO       = 00018634            TPT$L_SPACE      ********   X   02   

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            

RMS0MAGTA       $NXTVOL,$SPACE AND OTHER MAGTAPE CODE            21-AUG-1978 22:04:29   VAX-11 MACRO X0.3-11               Page  16

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  

L$RMS0MAGTA      000000C5      02     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

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

NF$NETWORK       00000010      04     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

L$RMS0           00000060      05     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

5620. BYTES LEFT IN FREE MEMORY POOL.

2372. BYTES OF RECLAIMED MEMORY.

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

28 MLB DIR RDS - 1216 GETS TO DEFINE 25 MACROS. 101 INTER. FILE WRITES. 

