MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 0 Table of contents (1) 5 IMAGE HEADER (1) 68 SYSTEM AND CAMAC DATA DEFINITIONS (1) 85 MOUNT IMAGE DATA BASE (1) 172 MCAM_MAIN, MOUNT IMAGE MAIN PROCEDURE (1) 239 MCAM_PRIVS, VERIFY PROCESS HAS SUFFICIEN (1) 267 MCAM_KMXHAND, KERNEL MODE EXCEPTION HAND (1) 323 MCAM_KMCALL, KERNEL MODE ROOT PROCEDURE (1) 345 MCAM_KMMOUNT, KERNEL MODE MOUNT PROCEDUR (1) 440 LOCATE_UCB, FIND UCB ADDRESS USING VMS C (1) 466 ALLOCATE_AQB, ALLOCATE ACP CONTROL BLOCK (1) 505 ALLOCATE_VCB, ALLOCATE VOLUME CONTROL BL (1) 542 LINK_AQB, LINK AQB INTO SYSTEM AQB QUEUE (1) 582 MOUNT_UNIT, ISSUE MOUNT REQUEST FOR UNIT (1) 652 UNLINK_AQB, REMOVE AQB FROM SYSTEM CHAIN (1) 695 DEALLOCATE_VCB, DEALLOCATE VOLUME CONTRO (1) 721 DEALLOCATE_AQB, DEALLOCATE ACP CONTROL B MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 1 V01-000 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0000 1 .TITLE MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 0000 2 .IDENT 'V01-000' 0000 3 .LIBRARY /SYS$LIBRARY:LIB/ ; SYSTEM MACRO LIBRARY 0000 4 .LIBRARY /CAMDEF/ ; CAMAC MACRO LIBRARY 0000 5 .SBTTL IMAGE HEADER 0000 6 0000 7 ;+++ 0000 8 ; 0000 9 ; FACILITY 0000 10 ; OAK RIDGE NATIONAL LABORATORY 0000 11 ; FUSION ENERGY DIVISION 0000 12 ; TOKAMAK SECTION 0000 13 ; 0000 14 ; ABSTRACT 0000 15 ; 0000 16 ; This program is the MOUNT image for the CAMAC ACP used in 0000 17 ; conjunction with the ORNL Fusion Energy Division's VAX 0000 18 ; CAMAC package. This program performs the following functions: 0000 19 ; 0000 20 ; Translate the logical name 'MCAM_UNIT' to get the CAMAC 0000 21 ; Highway Support Unit(HSU) to be mounted. 0000 22 ; Use the HSU name to generate the ACP process name. 0000 23 ; From kernel mode, allocate the necessary VMS data structures 0000 24 ; from nonpaged pool to enable the CAMAC device driver 0000 25 ; to communicate with the CAMAC ACP then, 0000 26 ; Create the CAMAC ACP process then, 0000 27 ; Issue a 'MOUNT' QIO request to the CAMAC ACP then, 0000 28 ; Perform 'MOUNT' interlock checks to validate that 0000 29 ; the CAMAC ACP has mounted correctly and if 0000 30 ; not, delete the CAMAC ACP and relenquish all 0000 31 ; allocated system resources. 0000 32 ; From user mode, release I/O channel assignment and terminate 0000 33 ; image. 0000 34 ; 0000 35 ; OPERATIONAL 0000 36 ; 1. This program requires the following privileges to execute 0000 37 ; successfully:(CMKRNL,DETACH,MOUNT,ALTPRI,WORLD,BUGCHK). 0000 38 ; 2. The process logical name table must contain the name 0000 39 ; 'MCAM_UNIT' defined to translate to the CAMAC HSU to be 0000 40 ; mounted. 0000 41 ; 3. This program requires MACRO definitions from the following 0000 42 ; libraries: SYS$LIBRARY:LIB.MLB and SYS$LIBRARY:CAMDEF.MLB. 0000 43 ; 0000 44 ; 0000 45 ; AUTHOR 0000 46 ; E.T. Blair 0000 47 ; 0000 48 ; REVISION HISTORY 0000 49 ; V00-001, E.T. Blair, 28-SEP-1982 0000 50 ; Included the ON_ERROR/ON_SUCCESS MACRO's to test for system service 0000 51 ; return status. Modified logic to signal termination status only if 0000 52 ; it represents a failure condition. 0000 53 ; 0000 54 ; V00-002, E.T. Blair, 26-OCT-1982 0000 55 ; Added JPI item to sample current process privileges and a verification 0000 56 ; procedure 'MCAM_PRIVS' to verify that the process has sufficient 0000 57 ; privileges to execute the mount image. MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 2 V01-000 IMAGE HEADER 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0000 58 ; 0000 59 ; V01-000, E.T. Blair, 8-DEC-1982. 0000 60 ; Modularize the design of the mount image to utilize procedure calls 0000 61 ; developed to support the ACP mount and dismount images. Also, corrects 0000 62 ; a major mount image design oversight. If the ACP process is aborted 0000 63 ; before it can process the MOUNT I/O request, the mount image will never 0000 64 ; be able to complete rundown unless it explicitly inserts all pending 0000 65 ; IRP's from the AQB into the I/O post-processing queue. 0000 66 ;--- MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 3 V01-000 SYSTEM AND CAMAC DATA DEFINITIONS 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0000 68 .SBTTL SYSTEM AND CAMAC DATA DEFINITIONS 0000 69 $DYNDEF ; DATA STRUC TYPES 0000 70 $IRPDEF ; I/O REQUEST PACKET DEFINITION 0000 71 $IPLDEF ; PROCESSOR IPL'S 0000 72 $SSDEF ; SYSTEM STATUS CODES 0000 73 $CCBDEF ; CHANNEL CONTROL BLOCK 0000 74 $UCBDEF ; UCB DEFINITION 0000 75 $PRDEF ; PROCESSOR REGISTERS 0000 76 $PSLDEF ; PROCESSOR STATUS 0000 77 $PRCDEF ; PROCESS FLAG DEFINITIONS 0000 78 $PRVDEF ; PROCESS PRIVILEGE DEFINITIONS 0000 79 $JPIDEF ; JPI CODES 0000 80 $IODEF ; IO FUNCTION CODES 0000 81 $PQLDEF ; 0000 82 $AQBDEF ; ACP CONTROL BLOCK 0000 83 $VCBDEF ; VOLUME CONTROL BLOCK MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 4 V01-000 MOUNT IMAGE DATA BASE 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0000 85 .SBTTL MOUNT IMAGE DATA BASE 00000000 86 .PSECT $DATA,NOSHR,NOEXE 0000 87 ; 0000 88 ; CAMAC ACP PARAMETERS 0000 89 ; 000000C8 0000 90 MCAM_ACPTYPE = 200 ; CAMAC ACP TYPE=200 00000008 0000 91 MCAM_K_ULEN = 8 ; CAMAC UNIT NAME LENGTH 00000040 0000 92 MCAM_K_ILEN = 64 ; CAMAC ACP IMAGE FILE SPEC LENGTH 00000008 0000 93 MCAM_K_PLEN = 8 ; ACP PROCESS NAME LENGTH 0000 94 ; 0000 95 ; ACP UIC 0000 96 ; 0000 97 MCAM_UIC: 0001 0000 98 .WORD ^O01 ; UIC MEMBER=1 0001 0002 99 .WORD ^O01 ; UIC GROUP=1 0004 100 ; 0004 101 ; ACP IMAGE LOG NAME 0004 102 ; 0004 103 MCAM_IMAGE: 49 24 4D 41 43 4D 0000000C'010E0000' 0004 104 .ASCID /MCAM$IMAGE/ ; IMAGE FILE NAME 45 47 41 4D 0012 0016 105 ; 0016 106 ; ACP MOUNT UNIT LOGICAL NAME 0016 107 ; 0016 108 MCAM_UNIT: 55 24 4D 41 43 4D 0000001E'010E0000' 0016 109 .ASCID /MCAM$UNIT/ ; MOUNT UNIT 54 49 4E 0024 0027 110 ; 0027 111 ; ACP SYS$OUTPUT ASSIGNMENT 0027 112 ; 0027 113 MCAM_ACPOUT: 3A 4C 4E 5F 0000002F'010E0000' 0027 114 .ASCID /_NL:/ ; CAMAC ACP OUTPUT 0033 115 ; 0033 116 ; ACP PROCESS EXTENSION 0033 117 ; 0033 118 MCAM_ACPEXT: 50 43 41 0000003B'010E0000' 0033 119 .ASCID /ACP/ ; ACP PROCESS NAME EXTENSION 003E 120 ; 003E 121 ; ACP QUOTA LIST 003E 122 ; 003E 123 MCAM_QLIST: 01 003E 124 .BYTE PQL$_ASTLM ; AST QUOTA 00000080 003F 125 .LONG 128 05 0043 126 .BYTE PQL$_DIOLM ; DIRECT I/O 00001000 0044 127 .LONG 4096 02 0048 128 .BYTE PQL$_BIOLM ; BUFFERED I/O 00001000 0049 129 .LONG 4096 00 004D 130 .BYTE PQL$_LISTEND ; END QUOTA DEFS 004E 131 ; 004E 132 ; MOUNT IMAGE STORAGE FOR ACP RELATED DATA 004E 133 ; 004E 134 MCAM_ACPPID: 00000000 004E 135 .LONG 0 ; CAMAC ACP PID 0052 136 MCAM_ACPCAMU: 0052 137 ASCID MCAM_K_ULEN ; CAMAC UNIT FOR ACP 0062 138 MCAM_ACPIMAGE: 0062 139 ASCID MCAM_K_ILEN ; CAMAC ACP IMAGE NAME MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 5 V01-000 MOUNT IMAGE DATA BASE 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 00AA 140 MCAM_ACPNAMID: 00AA 141 ASCID MCAM_K_PLEN ; CAMAC ACP PROCESS NAME 00BA 142 ; 00BA 143 ; MOUNT IMAGE PARAMETERS/DATA 00BA 144 ; 00BA 145 MCAM_ARG_KMOUNT: 00000001 00BA 146 .LONG 1 ; ARG COUNT 000001EB' 00BE 147 .ADDRESS MCAM_KMMOUNT ; PROCEDURE ADDRESS 00C2 148 MCAM_JPILST: 00C2 149 JPI_ITEM - ; MOUNT PROCESS NAME 00C2 150 16,JPI$_PRCNAM,MCAM_PRCNAM,MCAM_PRCNID 00CE 151 JPI_ITEM - ; MOUNT PROCESS CUR PRIVS 00CE 152 8,JPI$_CURPRIV,MCAM_CURPRIV 00DA 153 JPI_ITEM ; END OF LIST 00DE 154 MCAM_CURPRIV: 00000000 00000000 00DE 155 .QUAD 0 ; CURRENT PRIVILEGE MASK 00E6 156 MCAM_PRCNID: 00000000 00E6 157 .LONG 0 ; LENGTH 000000EE' 00EA 158 .ADDRESS MCAM_PRCNAM 00EE 159 MCAM_PRCNAM: 000000FE 00EE 160 .BLKB 16 ; MOUNT PROCESS NAME BUFFER 00FE 161 MCAM_WAIT: FFFFFFFF FD050F80 00FE 162 .LONG -10*1000*1000*5,-1 ; 5 SEC WAIT TIME 0106 163 MCAM_UCB: 00000000 0106 164 .LONG 0 ; UCB ADDRESS 010A 165 MCAM_AQB: 00000000 010A 166 .LONG 0 ; AQB ADDRESS 010E 167 MCAM_VCB: 00000000 010E 168 .LONG 0 ; VCB ADDRESS 0112 169 MCAM_CHAN: 0000 0112 170 .WORD 0 ; VMS I/O CHANNEL MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 6 V01-000 MCAM_MAIN, MOUNT IMAGE MAIN PROCEDURE 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0114 172 .SBTTL MCAM_MAIN, MOUNT IMAGE MAIN PROCEDURE 00000000 173 .PSECT $CODE,PIC,SHR,NOWRT 0000 174 .ENABL LSB 0000 175 MCAM_MAIN: 003C 0000 176 .WORD ^M 0002 177 $GETJPI_S - ; GET MOUNT PROCESS NAME 0002 178 ITMLST=MCAM_JPILST 0019 179 ON_ERROR 90$ ; IF FAILURE, ABORT HERE 001F 180 CALL MCAM_PRIVS,MCAM_CURPRIV ; VERIFY SUFFICIENT PRIVILEGE 002C 181 ON_ERROR 90$ ; IF NOT, ABORT HERE 0032 182 ; 0032 183 ; TRANSLATE ACP IMAGE LOGICAL NAME TO IMAGE FILE SPEC 0032 184 ; 0032 185 $TRNLOG_S - ; TRANSLATE ACP IMAGE NAME 0032 186 LOGNAM=MCAM_IMAGE,- ; ACP IMAGE LOG NAME 0032 187 RSLLEN=MCAM_ACPIMAGE,- ; TRANSLATE LENGTH 0032 188 RSLBUF=MCAM_ACPIMAGE,- ; RESULT NAME BUFFER 0032 189 DSBMSK=#^B11 ; DISABLE SYSTEM+GROUP 0051 190 ON_ERROR 90$ ; IF FAILURE, ABORT HERE 01 50 D1 0057 191 CMPL R0,#SS$_NORMAL ; ALSO IF TRANSLATE FAILS 08 13 005A 192 BEQL 60$ ; ABORT 50 007C 8F 3C 005C 193 MOVZWL #SS$_DEVNOTMOUNT,R0 ; INDICATE FAILURE 00AC 31 0061 194 BRW 90$ ; ABORT HERE 0064 195 ; 0064 196 ; TRANSLATE MOUNT LOG UNIT TO PHYSICAL CAMAC UNIT 0064 197 ; 0064 198 60$: 0064 199 $TRNLOG_S - ; TRANSLATE LOG MOUNT UNIT 0064 200 LOGNAM=MCAM_UNIT,- ; MOUNT LOG UNIT 0064 201 RSLLEN=MCAM_ACPCAMU,- ; TRANSLATE LENGTH 0064 202 RSLBUF=MCAM_ACPCAMU,- ; RESULT NAME BUFFER 0064 203 DSBMSK=#^B11 ; DISABLE SYSTEM+GROUP 0083 204 ON_ERROR 90$ ; IF FAILURE, ABORT HERE 01 50 D1 0089 205 CMPL R0,#SS$_NORMAL ; ALSO IF TRANSLATE FAILS 08 13 008C 206 BEQL 40$ ; ABORT 50 007C 8F 3C 008E 207 MOVZWL #SS$_DEVNOTMOUNT,R0 ; INDICATE FAILURE 007A 31 0093 208 BRW 90$ ; ABORT HERE 0096 209 ; 0096 210 ; BUILD ACP PROCESS NAME FROM CAMAC MOUNT UNIT 0096 211 ; 0096 212 40$: 00000052'EF 3A 3A 0096 213 LOCC #^A/:/,MCAM_ACPCAMU,- ; LOCATE ':' DELIMITER IN UNIT 00000056'FF 009D 214 @MCAM_ACPCAMU+4 ; NAME STRING 09 12 00A2 215 BNEQ 20$ ; IF FOUND, CONTINUE 50 00000144 8F D0 00A4 216 MOVL #SS$_IVDEVNAM,R0 ; INVALID DEVICE NAME 63 11 00AB 217 BRB 90$ ; ABORT HERE 00AD 218 20$: 000000AA'EF 00000052'EF 50 A3 00AD 219 SUBW3 R0,MCAM_ACPCAMU,MCAM_ACPNAMID ; LENGTH OF UNIT TO MOVE 00000056'FF 000000AA'EF 28 00B9 220 MOVC3 MCAM_ACPNAMID,@MCAM_ACPCAMU+4,- ; MOVE UNIT LESS ':' TO PROCESS 000000AE'FF 00C4 221 @MCAM_ACPNAMID+4 ; NAME BUFFER 00000037'FF 00000033'EF 28 00C9 222 MOVC3 MCAM_ACPEXT,@MCAM_ACPEXT+4,- ; ADD ON PROCESS NAME EXTENSION 63 00D4 223 (R3) 000000AA'EF 00000033'EF A0 00D5 224 ADDW MCAM_ACPEXT,MCAM_ACPNAMID ; ADD IN EXTENSION LENGTH 00E0 225 ; 00E0 226 ; ASSIGN CHANNEL TO MOUNT UNIT 00E0 227 ; 00E0 228 $ASSIGN_S - ; ASSIGN TO MOUNT UNIT MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 7 V01-000 MCAM_MAIN, MOUNT IMAGE MAIN PROCEDURE 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 00E0 229 DEVNAM=MCAM_ACPCAMU,- ; UNIT NAME, 00E0 230 CHAN=MCAM_CHAN,- ; CHANNEL, 00E0 231 ACMODE=#PSL$C_USER ; USER MODE ACCESS 00F7 232 ON_ERROR 90$ ; IF FAILURE, ABORT 00FD 233 $CMKRNL_S MCAM_KMCALL,- ; CALL KERNEL MODE ROOT 00FD 234 MCAM_ARG_KMOUNT ; TO DISPATCH MOUNT PROCEDURE 0110 235 90$: 0110 236 $EXIT_S CODE=R0 ; RETURN TO IMAGE ACTIVATOR 0119 237 .DSABL LSB MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 8 V01-000 MCAM_PRIVS, VERIFY PROCESS HAS SUFFICIEN 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0119 239 .SBTTL MCAM_PRIVS, VERIFY PROCESS HAS SUFFICIENT PRIVILEGE 0119 240 .ENABL LSB 0119 241 ;++ 0119 242 ; 0119 243 ; Procedure: 0119 244 ; MCAM_PRIVS(CUR_PRIV_MASK) 0119 245 ; 0119 246 ;-- 0119 247 0119 248 ; 0119 249 ; PROCEDURE LOCAL DATA 0119 250 ; 00000004 0119 251 PMASK = 4 ; PRIVILEGE MASK PARAMETER 0119 252 0119 253 MCAM_PRIVS: 0000 0119 254 .WORD ^M<> 50 24 3C 011B 255 MOVZWL #SS$_NOPRIV,R0 ; ASSUME FAILURE 1C 04 BC 00 E1 011E 256 BBC #PRV$V_CMKRNL,@PMASK(AP),90$ ; CHANGE MODE KERNEL? 17 04 BC 05 E1 0123 257 BBC #PRV$V_DETACH,@PMASK(AP),90$ ; CREATE DETACHED PROCESS? 12 04 BC 11 E1 0128 258 BBC #PRV$V_MOUNT,@PMASK(AP),90$ ; ISSUE MOUNT REQUEST? 0D 04 BC 10 E1 012D 259 BBC #PRV$V_WORLD,@PMASK(AP),90$ ; CONTROL OTHER PROCESSES? 08 04 BC 0D E1 0132 260 BBC #PRV$V_ALTPRI,@PMASK(AP),90$ ; ALTER BASE PRIORITY? 03 04 BC 17 E1 0137 261 BBC #PRV$V_BUGCHK,@PMASK(AP),90$ ; MAKE ERROR FILE ENTRIES? 50 01 9A 013C 262 MOVZBL #SS$_NORMAL,R0 ; CHANGE TO SUCCESS 013F 263 90$: 04 013F 264 RET ; RETURN TO CALLER 0140 265 .DSABL LSB MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 9 V01-000 MCAM_KMXHAND, KERNEL MODE EXCEPTION HAND 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0140 267 .SBTTL MCAM_KMXHAND, KERNEL MODE EXCEPTION HANDLER 0140 268 .ENABL LSB 0140 269 0140 270 ;++ 0140 271 ; 0140 272 ; Procedure: 0140 273 ; MCAM_KMXHAND 0140 274 ; 0140 275 ; Description: 0140 276 ; 0140 277 ; Inputs: 0140 278 ; 0140 279 ;-- 0140 280 0140 281 MCAM_SIGLCTS: 23 21 3A 53 41 21 00000148'010E0000' 0140 282 .ASCID /!AS:!#(10XL)/ 29 4C 58 30 31 28 014E 0154 283 MCAM_KMXHAND: 001C 0154 284 .WORD ^M 52 0000'CC D0 0156 285 MOVL CHF$L_SIGARGLST(AP),R2 ; GET SIG LIST ADDR 0000'C2 D1 015B 286 CMPL CHF$L_SIG_NAME(R2),- ; UNWIND CALL? 00000920 8F 015F 287 #SS$_UNWIND 75 13 0164 288 BEQL 10$ ; IF SO, IGNORE 50 0000'C2 D0 0166 289 MOVL CHF$L_SIG_ARGS(R2),R0 ; GET ARG LIST COUNT 51 04 A240 DE 016B 290 MOVAL 4(R2)[R0],R1 ; LOCATE END OF LIST+4 0170 291 20$: 7E 71 D0 0170 292 MOVL -(R1),-(SP) ; COPY SIG LIST FOR FAO FA 50 F4 0173 293 SOBGEQ R0,20$ ; LOOP UNTIL DONE 000000E6'EF DF 0176 294 PUSHAL MCAM_PRCNID ; PROCESS NAME LAST PARM 54 5E D0 017C 295 MOVL SP,R4 ; SAVE PARAMETER LIST ADDR 0000'C2 0A C5 017F 296 MULL3 #10,CHF$L_SIG_ARGS(R2),- 51 0184 297 R1 ; SPACE REQUIRED FOR FAO 50 000000E6'EF 3C 0185 298 MOVZWL MCAM_PRCNID,R0 ; PLUS PROCESS NAME 51 50 C0 018C 299 ADDL R0,R1 ; PLUS DESCRIPTOR+STRING CHARS 51 0D C0 018F 300 ADDL #<12+1>,R1 5E 51 C2 0192 301 SUBL R1,SP ; ALLOCATE STACK SPACE 53 5E D0 0195 302 MOVL SP,R3 ; SAVE BASE IN R3 04 A3 51 0C C3 0198 303 SUBL3 #12,R1,4(R3) ; INITIALIZE DESCR LENGTH 08 A3 0C A3 9E 019D 304 MOVAB 12(R3),8(R3) ; AND ADDRESS PNTR 01A2 305 $FAOL_S - ; FORMAT SIG LIST 01A2 306 CTRSTR=MCAM_SIGLCTS,- ; CONTROL STRING 01A2 307 OUTLEN=(R3),- ; ACTUAL CONVERSION LENGTH 01A2 308 OUTBUF=4(R3),- ; OUTPUT DESCR 01A2 309 PRMLST=(R4) ; AND FAO PARM LIST 01B3 310 ON_ERROR 30$ ; IF FAILURE, RESIGNAL 04 A3 63 3C 01B9 311 MOVZWL (R3),4(R3) ; INSERT ACTUAL LENGTH 01BD 312 $SNDERR_S - ; SEND ERROR MESSAGE 01BD 313 MSGBUF=4(R3) ; MSG BFR DESCR 01C7 314 ON_ERROR 30$ ; IF FAILURE, RESIGNAL 01CD 315 $UNWIND_S ; UNWIND TO ROOT 50 01 D0 01D8 316 MOVL #SS$_CONTINUE,R0 ; CONTINUE FROM CONDITION 01DB 317 10$: 04 01DB 318 RET 01DC 319 30$: 50 00000918 8F D0 01DC 320 MOVL #SS$_RESIGNAL,R0 ; RESIGNAL CONTITION 04 01E3 321 RET 01E4 322 .DSABL LSB MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 10 V01-000 MCAM_KMCALL, KERNEL MODE ROOT PROCEDURE 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 01E4 323 .SBTTL MCAM_KMCALL, KERNEL MODE ROOT PROCEDURE 01E4 324 .ENABL LSB 01E4 325 01E4 326 ;++ 01E4 327 ; 01E4 328 ; Procedure: 01E4 329 ; MCAM_KMCALL 01E4 330 ; 01E4 331 ; DESCRIPTION: 01E4 332 ; 01E4 333 ; Inputs: 01E4 334 ; 0(AP) - argument count, 01E4 335 ; 4(AP) - procedure to call. 01E4 336 ; 01E4 337 ;-- 01E4 338 01E4 339 MCAM_KMCALL: 0000 01E4 340 .WORD ^M<> 04 BC 00 FB 01E6 341 CALLS #0,@4(AP) ; CALL INDICATED PROCEDURE 04 01EA 342 RET ; RETURN TO CALLER 01EB 343 .DSABL LSB MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 11 V01-000 MCAM_KMMOUNT, KERNEL MODE MOUNT PROCEDUR 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 01EB 345 .SBTTL MCAM_KMMOUNT, KERNEL MODE MOUNT PROCEDURE 01EB 346 .ENABL LSB 01EB 347 MCAM_KMMOUNT: 007C 01EB 348 .WORD ^M 6D FF63 CF 9E 01ED 349 MOVAB MCAM_KMXHAND,0(FP) ; SET CONDITION HANDLER 01F2 350 CALL LOCATE_UCB,- ; GET UCB ADDRESS FOR HSU 01F2 351 MCAM_CHAN,- ; VMS CHANNEL, 01F2 352 MCAM_UCB ; UCB ADDRESS 0205 353 ON_SUCCESS 20$ ; IF SUCCESS, CONTINUE 04 020B 354 RET ; ELSE, RETURN HERE 020C 355 20$: 55 00000106'EF D0 020C 356 MOVL MCAM_UCB,R5 ; GET UCB ADDRESS IN R5 00000000'8F E0 0213 357 BBS #DEV$V_MNT,- ; ACP MOUNTED? 09 34 A5 0219 358 UCB$L_DEVCHAR(R5),30$ ; IF SO, ABORT 00000000'8F E1 021C 359 BBC #DEV$V_DMT,- ; MARKED FOR DISMOUNT? 06 34 A5 0222 360 UCB$L_DEVCHAR(R5),40$ ; IF NOT, CONTINUE 0225 361 30$: 50 006C 8F 3C 0225 362 MOVZWL #SS$_DEVMOUNT,R0 ; RETURN MOUNTED STATUS 04 022A 363 RET ; RETURN TO MAIN 022B 364 40$: 022B 365 ; 022B 366 ; ALLOCATE AQB 022B 367 ; 022B 368 CALL ALLOCATE_AQB,- ; ALLOCATE ACP CONTROL BLOCK 022B 369 .#MCAM_ACPTYPE,- ; ACP TYPE CODE 022B 370 MCAM_AQB ; RETURN AQB ADDRESS 023E 371 ON_SUCCESS 50$ ; IF SUCCESSFUL, CONTINUE 04 0244 372 RET ; RETURN IF NOT 0245 373 50$: 0245 374 ; 0245 375 ; ALLOCATE AND INITIALIZE VCB 0245 376 ; 0245 377 CALL ALLOCATE_VCB,- ; ALLOCATE AND INITIALIZE VCB 0245 378 MCAM_UCB,- ; HSU UCB ADDRESS, 0245 379 MCAM_AQB,- ; AQB ADDRESS, 0245 380 MCAM_VCB ; RETURN VCB ADDRESS 025E 381 ON_ERROR 100$ ; IF FAILURE, GO DELETE AQB 0264 382 ; 0264 383 ; START ACP AS DETACHED PROCESS. ACP WILL HAVE SAME 0264 384 ; PRIVILEGES AS MOUNT IMAGE. 0264 385 ; 0264 386 $CREPRC_S - ; CREATE ACP PROCESS 0264 387 PIDADR=MCAM_ACPPID,- ; ACP PID, 0264 388 IMAGE=MCAM_ACPIMAGE,- ; CAMAC ACP IMAGE NAME 0264 389 INPUT=MCAM_ACPCAMU,- ; INPUT DEVICE, 0264 390 OUTPUT=MCAM_ACPOUT,- ; AND OUTPUT DEVICE, 0264 391 QUOTA=MCAM_QLIST,- ; ACP QUOTAS, 0264 392 BASPRI=#8,- ; BASE PRIORITY, 0264 393 PRCNAM=MCAM_ACPNAMID,- ; PROCESS NAME, 0264 394 STSFLG=#PRC$M_HIBER,- ; START IN HIBERNATE 0264 395 UIC=MCAM_UIC ; DETACHED PROCESS 02A0 396 ON_ERROR 130$ ; IF ERROR, ABORT 02A6 397 ; 02A6 398 ; LINK AQB INTO SYSTEM AQB LIST. 02A6 399 ; 02A6 400 CALL LINK_AQB,- ; INSERT AQB INTO AQB LIST 02A6 401 MCAM_AQB,- ; AQB ADDRESS MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 12 V01-000 MCAM_KMMOUNT, KERNEL MODE MOUNT PROCEDUR 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 02A6 402 MCAM_ACPPID ; ACP PROCESS ID 02B9 403 02B9 404 ; 02B9 405 ; ISSUE MOUNT QIO REQUEST TO WAKE ACP 02B9 406 ; 02B9 407 CALL MOUNT_UNIT,- ; ISSUE MOUNT REQUEST TO ACP 02B9 408 .#1,- ; QIO EVENT FLAG, 02B9 409 .#2,- ; TIMER EVENT FLAG, 02B9 410 MCAM_UCB,- ; UCB ADDRESS, 02B9 411 MCAM_CHAN,- ; VMS CHANNEL AND 02B9 412 MCAM_WAIT ; DELAY TIME 02D6 413 02D6 414 ON_SUCCESS 90$ ; IF SUCCESSFUL, RETURN 02DC 415 ; 02DC 416 ; DELETE CAMAC ACP PROCESS 02DC 417 ; 02DC 418 $DELPRC_S - ; DELETE PROCESS 02DC 419 PIDADR=MCAM_ACPPID ; PROCESS ID 02EB 420 ; 02EB 421 ; REMOVE AQB FROM SYSTEM AQB QUEUE 02EB 422 ; 02EB 423 CALL UNLINK_AQB,- ; REMOVE AQB FROM CHAIN 02EB 424 MCAM_AQB ; AQB ADDRESS 02F8 425 ; 02F8 426 ; DEALLOCATE VCB AND AQB STRUCTURES 02F8 427 ; 02F8 428 130$: 02F8 429 CALL DEALLOCATE_VCB,- ; RELEASE VCB BACK TO NPP 02F8 430 MCAM_UCB ; UCB ADDRESS 0305 431 100$: 0305 432 CALL DEALLOCATE_AQB,- ; RELEASE AQB BACK TO NPP 0305 433 MCAM_AQB ; AQB ADDRESS 0312 434 50 007C 8F 3C 0312 435 MOVZWL #SS$_DEVNOTMOUNT,R0 ; SET ERROR STATUS 0317 436 90$: 04 0317 437 RET ; RETURN TO CALLER 0318 438 .DSABL LSB MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 13 V01-000 LOCATE_UCB, FIND UCB ADDRESS USING VMS C 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0318 440 .SBTTL LOCATE_UCB, FIND UCB ADDRESS USING VMS CHANNEL NUMBER. 0318 441 .ENABL LSB 0318 442 ;+++ 0318 443 ; 0318 444 ; Procedure: 0318 445 ; LOCATE_UCB(CHAN_NO,UCB_ADDR) 0318 446 ; 0318 447 ;--- 0318 448 0318 449 ; 0318 450 ; LOCAL DATA 0318 451 ; 00000004 0318 452 LUB_CHAN = 4 ; CHANNEL ARGUMENT 00000008 0318 453 LUB_UCBADDR = 8 ; UCB ADDRESS ARGUMENT 0318 454 0318 455 LOCATE_UCB: 003C 0318 456 .WORD ^M 50 04 BC 3C 031A 457 MOVZWL @LUB_CHAN(AP),R0 ; GET VMS CHANNEL 00000000'GF 16 031E 458 JSB G^IOC$VERIFYCHAN ; LOCATE CCB 0324 459 ON_SUCCESS 10$ ; IF SUCCESS, CONTINUE 04 032A 460 RET ; RETURN TO MAIN 032B 461 10$: 61 D0 032B 462 MOVL CCB$L_UCB(R1),- 08 BC 032D 463 @LUB_UCBADDR(AP) ; SAVE UCB ADDRESS 04 032F 464 RET ; RETURN TO CALLER 0330 465 .DSABL LSB 0330 466 .SBTTL ALLOCATE_AQB, ALLOCATE ACP CONTROL BLOCK 0330 467 .ENABL LSB 0330 468 ;+++ 0330 469 ; 0330 470 ; Procedure: 0330 471 ; ALLOCATE_AQB (ACP_TYPE, AQB_ADDR) 0330 472 ; 0330 473 ;--- 0330 474 0330 475 ; 0330 476 ; LOCAL DATA 0330 477 ; 00000004 0330 478 ALQ_ACPTYPE = 4 ; ACP TUPE CODE(BY VALUE) 00000008 0330 479 ALQ_AQBADDR = 8 ; AQB ADDRESS(BY REF) 0330 480 0330 481 ALLOCATE_AQB: 003C 0330 482 .WORD ^M 0332 483 51 18 9A 0332 484 MOVZBL #AQB$K_LENGTH,R1 ; GET AQB LENGTH 00000000'GF 16 0335 485 JSB G^EXE$ALONONPAGED ; ALLOCATE FROM NPP 033B 486 ON_SUCCESS 10$ ; IF SUCCESS, CONTINUE 50 0124 8F 3C 0341 487 MOVZWL #SS$_INSFMEM,R0 ; NOT ENOUGH NPP TO ALLOC 04 0346 488 RET ; RETURN TO MAIN 0347 489 10$: 08 BC 52 D0 0347 490 MOVL R2,@ALQ_AQBADDR(AP) ; SAVE AQB ADDRESS 08 A2 51 B0 034B 491 MOVW R1,AQB$W_SIZE(R2) ; SAVE SIZE ALLOCATED 03 90 034F 492 MOVB #DYN$C_AQB,- ; SET TYPE=AQB 0A A2 0351 493 AQB$B_TYPE(R2) 62 9E 0353 494 MOVAB AQB$L_ACPQFL(R2),- ; INITIALIZE IRP QUEUE 62 0355 495 AQB$L_ACPQFL(R2) 62 9E 0356 496 MOVAB AQB$L_ACPQFL(R2),- ; BOTH FL AND BL MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 14 V01-000 ALLOCATE_AQB, ALLOCATE ACP CONTROL BLOCK 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 04 A2 0358 497 AQB$L_ACPQBL(R2) 0B A2 01 90 035A 498 MOVB #1,AQB$B_MNTCNT(R2) ; MOUNT COUNT=1 04 AC 90 035E 499 MOVB ALQ_ACPTYPE(AP),- ; SET TYPE TO SPECIFIED TYPE CODE 15 A2 0361 500 AQB$B_ACPTYPE(R2) 09 88 0363 501 BISB #AQB$M_CREATING!AQB$M_UNIQUE,- 14 A2 0365 502 AQB$B_STATUS(R2) ; AQB STATUS=CREATING 04 0367 503 RET ; RETURN TO CALLER 0368 504 .DSABL LSB 0368 505 .SBTTL ALLOCATE_VCB, ALLOCATE VOLUME CONTROL BLOCK 0368 506 .ENABL LSB 0368 507 0368 508 ;+++ 0368 509 ; 0368 510 ; Procedure: 0368 511 ; ALLOCATE_VCB (UCB_ADDR, AQB_ADDR, VCB_ADDR) 0368 512 ; 0368 513 ;--- 0368 514 0368 515 ; 0368 516 ; LOCAL DATA 0368 517 ; 00000004 0368 518 ALV_UCBADDR = 4 ; UCB ADDR(BY REF) 00000008 0368 519 ALV_AQBADDR = 8 ; AQB ADDR(BY REF) 0000000C 0368 520 ALV_VCBADDR = 12 ; VCB ADDR(BY REF) 0368 521 0368 522 ALLOCATE_VCB: 003C 0368 523 .WORD ^M 036A 524 51 78 8F 9A 036A 525 MOVZBL #VCB$K_LENGTH,R1 ; GET VCB LENGTH 56 0124 8F 3C 036E 526 MOVZWL #SS$_INSFMEM,R6 ; ASSUME FAILURE 00000000'GF 16 0373 527 JSB G^EXE$ALONONPAGED ; ALLOCATE NPP FOR VCB 0379 528 ON_SUCCESS 10$ ; IF SUCCESS, CONTINUE 04 037F 529 RET ; IF NOT, RETURN 0380 530 10$: 0C BC 52 D0 0380 531 MOVL R2,@ALV_VCBADDR(AP) ; SAVE VCB ADDRESS 08 A2 51 B0 0384 532 MOVW R1,VCB$W_SIZE(R2) ; SAVE REAL VCB SIZE 11 90 0388 533 MOVB #DYN$C_VCB,- ; AND SET TYPE=VCB 0A A2 038A 534 VCB$B_TYPE(R2) 0C A2 01 B0 038C 535 MOVW #1,VCB$W_TRANS(R2) ; INIT TRANS COUNT 08 BC D0 0390 536 MOVL @ALV_AQBADDR(AP),- ; LINK AQB TO VCB 10 A2 0393 537 VCB$L_AQB(R2) 55 04 BC D0 0395 538 MOVL @ALV_UCBADDR(AP),R5 ; GET UCB ADDRESS 30 A5 52 D0 0399 539 MOVL R2,UCB$L_VCB(R5) ; LINK VCB TO UCB 04 039D 540 RET ; RETURN TO CALLER 039E 541 .DSABL LSB 039E 542 .SBTTL LINK_AQB, LINK AQB INTO SYSTEM AQB QUEUE 039E 543 .ENABL LSB 039E 544 ;+++ 039E 545 ; 039E 546 ; Procedure: 039E 547 ; LINK_AQB (AQB_ADDR, ACP_PID) 039E 548 ; 039E 549 ;--- 039E 550 039E 551 ; 039E 552 ; LOCAL DATA 039E 553 ; MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 15 V01-000 LINK_AQB, LINK AQB INTO SYSTEM AQB QUEUE 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 00000004 039E 554 LQB_AQBADDR = 4 ; AQB ADDR(BY REF) 00000008 039E 555 LQB_ACPPID = 8 ; ACP PID(BY REF) 039E 556 039E 557 LINK_AQB: 003C 039E 558 .WORD ^M 03A0 559 03A0 560 ; 03A0 561 ; SAVE CAMAC ACP PID IN AQB 03A0 562 ; 52 04 BC D0 03A0 563 MOVL @LQB_AQBADDR(AP),R2 ; GET AQB ADDRESS 08 BC D0 03A4 564 MOVL @LQB_ACPPID(AP),- ; SAVE PID TO AQB 0C A2 03A7 565 AQB$L_ACPPID(R2) 03A9 566 ; 03A9 567 ; LOCK I/O DATA BASE 03A9 568 ; 03A9 569 LOCKIOW ; LOCK I/O DATA BASE(WRITE) 03BD 570 ; R2-R5 ARE DESTROYED 51 00000000'GF 9E 03BD 571 MOVAB G^IOC$GL_AQBLIST,R1 ; LOCATE AQB LISTHEAD 52 04 BC D0 03C4 572 MOVL @LQB_AQBADDR(AP),R2 ; GET AQB ADDRESS 10 A2 61 D0 03C8 573 MOVL (R1),AQB$L_LINK(R2) ; LINK IN AT HEAD OF LIST 61 52 D0 03CC 574 MOVL R2,(R1) 03CF 575 ; 03CF 576 ; I/O DATA BASE MODIFICATION COMPLETE 03CF 577 ; 03CF 578 UNLOCKIO ; RELEASE I/O DATA BASE 50 01 9A 03E6 579 MOVZBL #SS$_NORMAL,R0 ; SET NORMAL STATUS 04 03E9 580 RET ; RETURN TO CALLER 03EA 581 .DSABL LSB 03EA 582 .SBTTL MOUNT_UNIT, ISSUE MOUNT REQUEST FOR UNIT 03EA 583 .ENABL LSB 03EA 584 ;+++ 03EA 585 ; 03EA 586 ; Procedure: 03EA 587 ; MOUNT_UNIT (QIO_EFN, TIMER_EFN, UCB_ADDR, CHAN_NO) 03EA 588 ; 03EA 589 ;--- 03EA 590 03EA 591 ; 03EA 592 ; LOCAL DATA 03EA 593 ; 00000004 03EA 594 MNU_QIOEFN = 4 ; QIO EFN(BY VALUE) 00000008 03EA 595 MNU_TMREFN = 8 ; TIMER EFN(BY VALUE) 0000000C 03EA 596 MNU_UCBADDR = 12 ; UCB ADDRESS(BY REF) 00000010 03EA 597 MNU_CHAN = 16 ; UNIT CHANNEL(BY REF) 00000014 03EA 598 MNU_DELAY = 20 ; DELAY TIME(BY REF) 03EA 599 03EA 600 MOUNT_UNIT: 003C 03EA 601 .WORD ^M 03EC 602 53 D4 03EC 603 CLRL R3 ; GENERATE 'OR' OF EVENTS MASK 51 04 AC 9A 03EE 604 MOVZBL MNU_QIOEFN(AP),R1 ; GET QIO EFN 52 51 FB 8F 78 03F2 605 ASHL #-5,R1,R2 ; BASE EFN FOR CLUSTER 52 52 05 78 03F7 606 ASHL #5,R2,R2 51 52 82 03FB 607 SUBB R2,R1 ; QIO BIT IN CLUSTER 00 53 51 E2 03FE 608 BBSS R1,R3,20$ ; SET QIO BIT IN MASK 0402 609 20$: 51 08 AC 52 83 0402 610 SUBB3 R2,MNU_TMREFN(AP),R1 ; TIMER BIT POS IN CLUSTER MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 16 V01-000 MOUNT_UNIT, ISSUE MOUNT REQUEST FOR UNIT 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 1F 51 91 0407 611 CMPB R1,#31 ; TIMER BIT IN SAME CLUSTER?? 06 1B 040A 612 BLEQU 40$ ; IF SO, CONTINUE 50 007C 8F 3C 040C 613 MOVZWL #SS$_DEVNOTMOUNT,R0 ; SET ERROR STATUS 04 0411 614 RET ; ABORT CALL HERE 0412 615 40$: 00 53 51 E2 0412 616 BBSS R1,R3,30$ ; SET TIMER BIT IN MASK 0416 617 30$: 55 0C BC D0 0416 618 MOVL @MNU_UCBADDR(AP),R5 ; GET UCB ADDRESS 0200 8F A8 041A 619 BISW #UCB$M_MOUNTING,- ; INDICATE MOUNT IN PROGRESS 58 A5 041E 620 UCB$W_STS(R5) 0420 621 $QIO_S - ; QIO TO UNIT 0420 622 EFN=MNU_QIOEFN(AP),- ; QIO EFN, 0420 623 CHAN=@MNU_CHAN(AP),- ; SPECIFY CHANNEL, 0420 624 FUNC=#IO$_MOUNT ; MOUNT FUNCTION 043D 625 ON_ERROR 90$ ; IF QIO FAILURE, ABORT 0443 626 ; 0443 627 ; WAIT FOR TIMEOUT OR I/O COMPLETE 0443 628 ; 0443 629 $SETIMR_S - ; GO TO SLEEP WHILE ACP WORKS 0443 630 EFN=MNU_TMREFN(AP),- ; TIMER EVENT FLAG 0443 631 DAYTIM=@MNU_DELAY(AP) ; DELTA TIME VALUE 0454 632 ON_ERROR 90$ ; IF ERROR, ABORT 045A 633 045A 634 $WFLOR_S - ; WAIT FOR 'OR' OF EVENTS 045A 635 EFN=R2,MASK=R3 ; EITHER QIO DONE OR TIMEOUT 0465 636 ; 0465 637 ; DETERMINE WHICH EVENT AWAKENED MOUNT IMAGE 0465 638 ; 50 007C 8F 3C 0465 639 MOVZWL #SS$_DEVNOTMOUNT,R0 ; ASSUME FAILURE 52 30 A5 D0 046A 640 MOVL UCB$L_VCB(R5),R2 ; LOCATE VCB FROM UCB 52 10 A2 D0 046E 641 MOVL VCB$L_AQB(R2),R2 ; LOCATE AQB FROM VCB 03 E4 0472 642 BBSC #AQB$V_CREATING,- ; CREATING INTERLOCK CLEAR? 11 14 A2 0474 643 AQB$B_STATUS(R2),90$ ; IF SET, ERROR 09 E4 0477 644 BBSC #UCB$V_MOUNTING,- ; MOUNT IN PROGRESS? 0C 58 A5 0479 645 UCB$W_STS(R5),90$ ; IF STILL SET, ERROR 00000000'8F E1 047C 646 BBC #DEV$V_MNT,- ; MOUNT POSTED? 03 34 A5 0482 647 UCB$L_DEVCHAR(R5),90$ ; IF NOT, ERROR 50 01 9A 0485 648 MOVZBL #SS$_NORMAL,R0 ; SET NORMAL STATUS 0488 649 90$: 04 0488 650 RET ; RETURN TO MAIN 0489 651 .DSABL LSB 0489 652 .SBTTL UNLINK_AQB, REMOVE AQB FROM SYSTEM CHAIN 0489 653 .ENABL LSB 0489 654 ;+++ 0489 655 ; 0489 656 ; Procedure: 0489 657 ; UNLINK_AQB (AQB_ADDR) 0489 658 ; 0489 659 ;--- 0489 660 0489 661 ; 0489 662 ; LOCAL DATA 0489 663 ; 00000004 0489 664 ULQ_AQBADDR = 4 ; AQB ADDRES(BY REF) 0489 665 0489 666 UNLINK_AQB: 003C 0489 667 .WORD ^M MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 17 V01-000 UNLINK_AQB, REMOVE AQB FROM SYSTEM CHAIN 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 048B 668 048B 669 ; 048B 670 ; LOCK I/O DATA BASE TO UNHOOK THE AQB 048B 671 ; 048B 672 LOCKIOW ; LOCK I/O DATA BASE(WRITE) 52 04 BC D0 049F 673 MOVL @ULQ_AQBADDR(AP),R2 ; GET AQB ADDRESS 51 00000000'GF 9E 04A3 674 MOVAB G^IOC$GL_AQBLIST,R1 ; LOCATE AQB LISTHEAD 50 61 D0 04AA 675 MOVL (R1),R0 ; GET ADDRESS OF FIRST 50 52 D1 04AD 676 CMPL R2,R0 ; FOUND RIGHT AQB? 0A 12 04B0 677 BNEQ 70$ ; IF NOT, START SCAN 61 10 A2 D0 04B2 678 MOVL AQB$L_LINK(R2),(R1) ; CLOSE LIST 0F 11 04B6 679 BRB 110$ ; AND CONTINUE 04B8 680 120$: 50 10 A0 D0 04B8 681 MOVL AQB$L_LINK(R0),R0 ; ADVANCE TO NEXT AQB 04BC 682 70$: 52 10 A0 D1 04BC 683 CMPL AQB$L_LINK(R0),R2 ; FOUND OUR AQB? F6 12 04C0 684 BNEQ 120$ ; NO, GO TO NEXT ENTRY 10 A2 D0 04C2 685 MOVL AQB$L_LINK(R2),- ; CLOSE LIST 10 A0 04C5 686 AQB$L_LINK(R0) 04C7 687 110$: 04C7 688 ; 04C7 689 ; UNLOCK THE I/O DATA BASE 04C7 690 ; 04C7 691 UNLOCKIO ; RELEASE I/O DATA BASE LOCK 50 01 9A 04DE 692 MOVZBL #SS$_NORMAL,R0 ; RETURN NORMAL STATUS 04 04E1 693 RET ; RETURN TO CALLER 04E2 694 .DSABL LSB 04E2 695 .SBTTL DEALLOCATE_VCB, DEALLOCATE VOLUME CONTROL BLOCK 04E2 696 .ENABL LSB 04E2 697 ;+++ 04E2 698 ; 04E2 699 ; Procedure: 04E2 700 ; DEALLOCATE_VCB (UCB_ADDR) 04E2 701 ; 04E2 702 ;--- 04E2 703 04E2 704 ; 04E2 705 ; LOCAL DATA 04E2 706 ; 00000004 04E2 707 DLV_UCBADDR = 4 ; UCB ADDRESS(BY REF) 00000008 04E2 708 DLV_VCBADDR = 8 ; VCB ADDRESS(BY REF) 04E2 709 04E2 710 DEALLOCATE_VCB: 003C 04E2 711 .WORD ^M 04E4 712 55 04 BC D0 04E4 713 MOVL @DLV_UCBADDR(AP),R5 ; GET UCB ADDRESS 50 30 A5 D0 04E8 714 MOVL UCB$L_VCB(R5),R0 ; STRUC ADDRESS IN R0 00000000'GF 16 04EC 715 JSB G^EXE$DEANONPAGED ; DEALLOCATE VCB 30 A5 D4 04F2 716 CLRL UCB$L_VCB(R5) ; RESET VCB LINK 0200 8F AA 04F5 717 BICW #UCB$M_MOUNTING,- ; RESET MOUNT IN PROGRESS 58 A5 04F9 718 UCB$W_STS(R5) 04 04FB 719 RET ; RETURN TO CALLER 04FC 720 .DSABL LSB 04FC 721 .SBTTL DEALLOCATE_AQB, DEALLOCATE ACP CONTROL BLOCK 04FC 722 .ENABL LSB 04FC 723 ;+++ 04FC 724 ; MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 18 V01-000 DEALLOCATE_AQB, DEALLOCATE ACP CONTROL B 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 04FC 725 ; Procedure: 04FC 726 ; DEALLOCATE_AQB (AQB_ADDR) 04FC 727 ; 04FC 728 ;--- 04FC 729 04FC 730 ; 04FC 731 ; LOCAL DATA 04FC 732 ; 00000004 04FC 733 DLQ_AQBADDR = 4 ; AQB ADDRESS(BY REF) 04FC 734 04FC 735 DEALLOCATE_AQB: 003C 04FC 736 .WORD ^M 04FE 737 54 04 BC D0 04FE 738 MOVL @DLQ_AQBADDR(AP),R4 ; AQB ADDRESS IN R4 0502 739 10$: 53 00 B4 0F 0502 740 REMQUE @AQB$L_ACPQFL(R4),R3 ; IRP IN ACP QUEUE? 0C 1D 0506 741 BVS 20$ ; IF NONE, DEALLOCATE AQB 55 1C A3 D0 0508 742 MOVL IRP$L_UCB(R3),R5 ; GET UCB ADDRESS FROM IRP 00000000'GF 16 050C 743 JSB G^COM$POST ; POST IRP FOR COMPLETION PROCESSING EE 11 0512 744 BRB 10$ ; CHECK FOR ANOTHER??? 0514 745 20$: 50 54 D0 0514 746 MOVL R4,R0 ; GET AQB ADDR IN R0 00000000'GF 16 0517 747 JSB G^EXE$DEANONPAGED ; DEALLOCATE AQB 04 051D 748 RET ; RETURN TO MAIN 051E 749 .DSABL LSB 051E 750 .END MCAM_MAIN MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 19 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) $$T1 = 00000001 DLV_UCBADDR = 00000004 DYN$C_PHVEC = 00000002 ...ALEN = 00000008 DLV_VCBADDR = 00000008 DYN$C_PIB = 00000022 ...ARGC = 00000002 DYN$C_ACB = 00000002 DYN$C_PQB = 0000000D ALLOCATE_AQB 00000330 R 04 DYN$C_ADP = 00000001 DYN$C_PRCMAP = 00000005 ALLOCATE_VCB 00000368 R 04 DYN$C_AQB = 00000003 DYN$C_PTR = 00000025 ALQ_ACPTYPE = 00000004 DYN$C_BCB = 00000033 DYN$C_RBM = 00000031 ALQ_AQBADDR = 00000008 DYN$C_BOOTCB = 00000006 DYN$C_RSB = 00000038 ALV_AQBADDR = 00000008 DYN$C_BRDCST = 0000001A DYN$C_RSHT = 0000003A ALV_UCBADDR = 00000004 DYN$C_BUFIO = 00000013 DYN$C_RUL = 0000003C ALV_VCBADDR = 0000000C DYN$C_CDB = 00000034 DYN$C_RVT = 0000000E AQB$B_ACPTYPE 00000015 DYN$C_CDRP = 0000003B DYN$C_RVX = 00000027 AQB$B_CLASS 00000016 DYN$C_CD_BBRPG = 00000002 DYN$C_SCS = 00000060 AQB$B_MNTCNT 0000000B DYN$C_CD_CDDB = 00000001 DYN$C_SCS_CDL = 00000001 AQB$B_STATUS 00000014 DYN$C_CEB = 00000004 DYN$C_SCS_CDT = 00000002 AQB$B_TYPE 0000000A DYN$C_CI = 00000061 DYN$C_SCS_DIR = 00000003 AQB$C_LENGTH 00000018 DYN$C_CIDG = 0000003E DYN$C_SCS_PB = 00000004 AQB$K_F11V1 = 00000001 DYN$C_CIMSG = 0000003F DYN$C_SCS_PDT = 00000005 AQB$K_F11V2 = 00000002 DYN$C_CI_BDT = 00000001 DYN$C_SCS_RDT = 00000006 AQB$K_JNL = 00000006 DYN$C_CI_FQDT = 00000002 DYN$C_SCS_SB = 00000007 AQB$K_LENGTH 00000018 DYN$C_CLASSDRV = 00000064 DYN$C_SHB = 0000002A AQB$K_MTA = 00000003 DYN$C_CONF = 00000007 DYN$C_SHMCEB = 0000002E AQB$K_NET = 00000004 DYN$C_CRB = 00000005 DYN$C_SHMGSD = 00000029 AQB$K_REM = 00000005 DYN$C_CXB = 0000001B DYN$C_SHRBUFIO = 00000080 AQB$K_UNDEFINED= 00000000 DYN$C_DDB = 00000006 DYN$C_SLAVCEB = 0000002D AQB$L_ACPPID 0000000C DYN$C_DPT = 0000001E DYN$C_SPECIAL = 00000080 AQB$L_ACPQBL 00000004 DYN$C_ERP = 0000003D DYN$C_SSB = 0000001D AQB$L_ACPQFL 00000000 DYN$C_EXTGSD = 00000028 DYN$C_SUBTYPE = 00000060 AQB$L_LINK 00000010 DYN$C_FCB = 00000007 DYN$C_SWPMAP = 00000003 AQB$M_CREATING = 00000008 DYN$C_FRK = 00000008 DYN$C_TQE = 0000000F AQB$M_DEFCLASS = 00000002 DYN$C_GSD = 00000015 DYN$C_TWP = 00000030 AQB$M_DEFSYS = 00000004 DYN$C_IDB = 00000009 DYN$C_TYPAHD = 00000014 AQB$M_UNIQUE = 00000001 DYN$C_INIT = 00000063 DYN$C_UCB = 00000010 AQB$V_CREATING = 00000003 DYN$C_IRP = 0000000A DYN$C_UNUSED = 00000024 AQB$V_DEFCLASS = 00000001 DYN$C_IRPE = 0000002C DYN$C_VCA = 00000032 AQB$V_DEFSYS = 00000002 DYN$C_JIB = 0000002F DYN$C_VCB = 00000011 AQB$V_UNIQUE = 00000000 DYN$C_JMT = 00000036 DYN$C_WCB = 00000012 AQB$W_SIZE 00000008 DYN$C_JPB = 0000001F EXE$ALONONPAGED ******** X 04 BIT... = 00000103 DYN$C_KFH = 00000026 EXE$DEANONPAGED ******** X 04 CCB$B_AMOD 00000009 DYN$C_KFI = 00000018 IO$K_LOOPTEST = 0000E000 CCB$B_STS 00000008 DYN$C_LC_MP = 00000001 IO$K_PTPBSC = 00002000 CCB$C_LENGTH 00000010 DYN$C_LC_SCS = 00000002 IO$K_SRRUNOUT = 00000000 CCB$K_LENGTH 00000010 DYN$C_LKB = 00000037 IO$M_ABORT = 00000100 CCB$L_DIRP 0000000C DYN$C_LKID = 00000039 IO$M_ACCEPT = 00000080 CCB$L_UCB 00000000 DYN$C_LOADCODE = 00000062 IO$M_ACCESS = 00000040 CCB$L_WIND 00000004 DYN$C_LOG = 0000000B IO$M_ATTNAST = 00000100 CCB$M_AMB = 00000001 DYN$C_LPD = 00000035 IO$M_BINARY = 00000040 CCB$V_AMB = 00000000 DYN$C_MBX = 0000002B IO$M_CANCTRLO = 00000040 CCB$W_IOC 0000000A DYN$C_MPWMAP = 00000004 IO$M_CECYL = 00000400 CHF$L_SIGARGLST ******** X 04 DYN$C_MTL = 00000019 IO$M_CLEAR = 00001000 CHF$L_SIG_ARGS ******** X 04 DYN$C_MVL = 00000016 IO$M_CLR_COUNT = 00000400 CHF$L_SIG_NAME ******** X 04 DYN$C_NDB = 0000001C IO$M_CNTRLENTRY= 00000080 COM$POST ******** X 04 DYN$C_NET = 00000017 IO$M_COMMOD = 00000040 DEALLOCATE_AQB 000004FC R 04 DYN$C_PBH = 00000020 IO$M_CREATE = 00000080 DEALLOCATE_VCB 000004E2 R 04 DYN$C_PCB = 0000000C IO$M_CTRL = 00000200 DEV$V_DMT ******** X 04 DYN$C_PCBVEC = 00000001 IO$M_CTRLCAST = 00000100 DEV$V_MNT ******** X 04 DYN$C_PDB = 00000021 IO$M_CTRLYAST = 00000080 DLQ_AQBADDR = 00000004 DYN$C_PFL = 00000023 IO$M_CVTLOW = 00000100 MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 20 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) IO$M_CYCLE = 00001000 IO$M_RESET = 00000800 IO$V_INHEXTGAP = 0000000C IO$M_DATACHECK = 00004000 IO$M_REVERSE = 00000040 IO$V_INHRETRY = 0000000F IO$M_DATAPATH = 00000400 IO$M_SETBSIZE = 00000200 IO$V_INHSEEK = 0000000C IO$M_DELDATA = 00000040 IO$M_SETCUADR = 00000100 IO$V_INTCLOCK = 0000000C IO$M_DELETE = 00000100 IO$M_SETENQCNT = 00000800 IO$V_INTERRUPT = 00000006 IO$M_DIAGNOSTIC= 00000100 IO$M_SETEVF = 00000040 IO$V_INTSKIP = 00000008 IO$M_DMOUNT = 00000400 IO$M_SETFNCT = 00000200 IO$V_LASTBLOCK = 0000000A IO$M_DSABLMBX = 00000400 IO$M_SETPOOLSZ = 00000400 IO$V_LINE_OFF = 00000009 IO$M_DSABL_ALT = 00001000 IO$M_SETPROT = 00000200 IO$V_LINE_ON = 0000000B IO$M_ENABLMBX = 00000080 IO$M_SET_MODEM = 00000400 IO$V_LOOP = 00000007 IO$M_ENABL_ALT = 00000800 IO$M_SHUTDOWN = 00000080 IO$V_LOOP_EXT = 0000000C IO$M_ESCAPE = 00004000 IO$M_SKPSECINH = 00000200 IO$V_LPBEXT = 0000000D IO$M_EXTEND = 00008000 IO$M_SLAVLOOP = 00000080 IO$V_LPBINT = 0000000E IO$M_FCODE = 0000003F IO$M_STARTUP = 00000040 IO$V_MAINT = 00000006 IO$M_FORCE = 00000040 IO$M_SWAP = 00000400 IO$V_MAINTLOOP = 00000009 IO$M_HANGUP = 00000200 IO$M_SYNCH = 00000200 IO$V_MORE = 00000006 IO$M_INCLUDE = 00000800 IO$M_TIMED = 00000080 IO$V_MOUNT = 00000009 IO$M_INHERLOG = 00000800 IO$M_TRMNOECHO = 00001000 IO$V_MOVETRACKD= 00000007 IO$M_INHEXTGAP = 00001000 IO$M_TYPEAHDCNT= 00000040 IO$V_MULTIPLE = 00000008 IO$M_INHRETRY = 00008000 IO$M_UNLOOP = 00000100 IO$V_NOCTSWAIT = 00000006 IO$M_INHSEEK = 00001000 IO$M_WORD = 00000040 IO$V_NODSRWAIT = 00000008 IO$M_INTCLOCK = 00001000 IO$M_WRTATTN = 00000100 IO$V_NOECHO = 00000006 IO$M_INTERRUPT = 00000040 IO$S_FCODE = 00000006 IO$V_NOFILTR = 00000009 IO$M_INTSKIP = 00000100 IO$V_ABORT = 00000008 IO$V_NOFORMAT = 00000008 IO$M_LASTBLOCK = 00000400 IO$V_ACCEPT = 00000007 IO$V_NOMRSP = 00000006 IO$M_LINE_OFF = 00000200 IO$V_ACCESS = 00000006 IO$V_NOW = 00000006 IO$M_LINE_ON = 00000800 IO$V_ATTNAST = 00000008 IO$V_NOWAIT = 00000007 IO$M_LOOP = 00000080 IO$V_BINARY = 00000006 IO$V_OPPOSITE = 00000009 IO$M_LOOP_EXT = 00001000 IO$V_CANCTRLO = 00000006 IO$V_OUTBAND = 0000000A IO$M_LPBEXT = 00002000 IO$V_CECYL = 0000000A IO$V_PACKED = 00000007 IO$M_LPBINT = 00004000 IO$V_CLEAR = 0000000C IO$V_PURGE = 0000000B IO$M_MAINT = 00000040 IO$V_CLR_COUNT = 0000000A IO$V_QUALIFIED = 00000007 IO$M_MAINTLOOP = 00000200 IO$V_CNTRLENTRY= 00000007 IO$V_RD_COUNT = 00000008 IO$M_MORE = 00000040 IO$V_COMMOD = 00000006 IO$V_RD_MEM = 00000006 IO$M_MOUNT = 00000200 IO$V_CREATE = 00000007 IO$V_RD_MODEM = 00000007 IO$M_MOVETRACKD= 00000080 IO$V_CTRL = 00000009 IO$V_READATTN = 00000007 IO$M_MULTIPLE = 00000100 IO$V_CTRLCAST = 00000008 IO$V_READCSR = 0000000F IO$M_NOCTSWAIT = 00000040 IO$V_CTRLYAST = 00000007 IO$V_REDIRECT = 00000006 IO$M_NODSRWAIT = 00000100 IO$V_CVTLOW = 00000008 IO$V_REFRESH = 0000000D IO$M_NOECHO = 00000040 IO$V_CYCLE = 0000000C IO$V_RESET = 0000000B IO$M_NOFILTR = 00000200 IO$V_DATACHECK = 0000000E IO$V_REVERSE = 00000006 IO$M_NOFORMAT = 00000100 IO$V_DATAPATH = 0000000A IO$V_SETBSIZE = 00000009 IO$M_NOMRSP = 00000040 IO$V_DELDATA = 00000006 IO$V_SETCUADR = 00000008 IO$M_NOW = 00000040 IO$V_DELETE = 00000008 IO$V_SETENQCNT = 0000000B IO$M_NOWAIT = 00000080 IO$V_DIAGNOSTIC= 00000008 IO$V_SETEVF = 00000006 IO$M_OPPOSITE = 00000200 IO$V_DMOUNT = 0000000A IO$V_SETFNCT = 00000009 IO$M_OUTBAND = 00000400 IO$V_DSABLMBX = 0000000A IO$V_SETPOOLSZ = 0000000A IO$M_PACKED = 00000080 IO$V_DSABL_ALT = 0000000C IO$V_SETPROT = 00000009 IO$M_PURGE = 00000800 IO$V_ENABLMBX = 00000007 IO$V_SET_MODEM = 0000000A IO$M_QUALIFIED = 00000080 IO$V_ENABL_ALT = 0000000B IO$V_SHUTDOWN = 00000007 IO$M_RD_COUNT = 00000100 IO$V_ESCAPE = 0000000E IO$V_SKPSECINH = 00000009 IO$M_RD_MEM = 00000040 IO$V_EXTEND = 0000000F IO$V_SLAVLOOP = 00000007 IO$M_RD_MODEM = 00000080 IO$V_FCODE = 00000000 IO$V_STARTUP = 00000006 IO$M_READATTN = 00000080 IO$V_FORCE = 00000006 IO$V_SWAP = 0000000A IO$M_READCSR = 00008000 IO$V_HANGUP = 00000009 IO$V_SYNCH = 00000009 IO$M_REDIRECT = 00000040 IO$V_INCLUDE = 0000000B IO$V_TIMED = 00000007 IO$M_REFRESH = 00002000 IO$V_INHERLOG = 0000000B IO$V_TRMNOECHO = 0000000C MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 21 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) IO$V_TYPEAHDCNT= 00000006 IO$_SKIPRECORD = 00000026 IRP$L_DIAGBUF 0000004C IO$V_UNLOOP = 00000008 IO$_SPACEFILE = 00000002 IRP$L_EXTEND 00000054 IO$V_WORD = 00000006 IO$_SPACERECORD= 00000009 IRP$L_FPC 00000068 IO$V_WRTATTN = 00000008 IO$_STARTDATA = 00000038 IRP$L_FQBL 00000060 IO$_ACCESS = 00000032 IO$_STARTDATAP = 00000006 IRP$L_FQFL 0000005C IO$_ACPCONTROL = 00000038 IO$_STARTMPROC = 00000002 IRP$L_FR3 0000006C IO$_AVAILABLE = 00000011 IO$_STARTSPNDL = 00000019 IRP$L_FR4 00000070 IO$_CLEAN = 0000001E IO$_STOP = 00000003 IRP$L_IOQBL 00000004 IO$_CONINTREAD = 0000003C IO$_TTYREADALL = 0000003A IRP$L_IOQFL 00000000 IO$_CONINTWRITE= 0000003D IO$_TTYREADPALL= 0000003B IRP$L_IOSB 00000024 IO$_CREATE = 00000033 IO$_UNLOAD = 00000001 IRP$L_IOST1 00000038 IO$_DEACCESS = 00000034 IO$_VIRTUAL = 0000003F IRP$L_IOST2 0000003C IO$_DELETE = 00000035 IO$_WRITECHECK = 0000000A IRP$L_JNL_SEQNO 00000048 IO$_DIAGNOSE = 0000001D IO$_WRITECHECKH= 00000018 IRP$L_LBOFF 0000008C IO$_DRVCLR = 00000004 IO$_WRITEHEAD = 0000000D IRP$L_LBUFH_AD 00000088 IO$_DSE = 00000015 IO$_WRITELBLK = 00000020 IRP$L_MEDIA 00000038 IO$_ENDRU1 = 0000003A IO$_WRITEMARK = 0000001C IRP$L_MSG_BUF 00000078 IO$_ENDRU2 = 0000003B IO$_WRITEOF = 00000028 IRP$L_OBCNT 00000044 IO$_ERASETAPE = 00000006 IO$_WRITEPBLK = 0000000B IRP$L_PID 0000000C IO$_FORCE = 00000037 IO$_WRITERET = 00000018 IRP$L_RBOFF 00000094 IO$_FORMAT = 0000001E IO$_WRITETRACKD= 0000000F IRP$L_RBUFH_AD 00000090 IO$_INITIALIZE = 00000004 IO$_WRITEVBLK = 00000030 IRP$L_RSPID 0000007C IO$_LOADMCODE = 00000001 IO$_WRTTMKR = 0000001D IRP$L_RWCPTR 00000084 IO$_LOGICAL = 0000002F IOC$GL_AQBLIST ******** X 04 IRP$L_SAVD_RTN 00000074 IO$_MODIFY = 00000036 IOC$GL_MUTEX ******** X 04 IRP$L_SEGVBN 00000048 IO$_MOUNT = 00000039 IOC$VERIFYCHAN ******** X 04 IRP$L_SEQNUM 00000050 IO$_NETCONTROL = 00000036 IPL$_ASTDEL = 00000002 IRP$L_SVAPTE 0000002C IO$_NOP = 00000000 IPL$_HWCLK = 00000018 IRP$L_TT_TERM 0000003C IO$_OFFSET = 00000006 IPL$_IOPOST = 00000004 IRP$L_UBARSRCE 00000098 IO$_PACKACK = 00000008 IPL$_MAILBOX = 0000000B IRP$L_UCB 0000001C IO$_PHYSICAL = 0000001F IPL$_POWER = 0000001F IRP$L_WIND 00000018 IO$_QSTOP = 00000007 IPL$_QUEUEAST = 00000006 IRP$L_XCT_LEN 00000098 IO$_RDSTATS = 0000000D IPL$_SCHED = 00000003 IRP$M_BUFIO = 00000001 IO$_READHEAD = 0000000E IPL$_SCS = 00000008 IRP$M_CHAINED = 00000020 IO$_READINIT = 0000003C IPL$_SYNCH = 00000007 IRP$M_COMPLX = 00000008 IO$_READLBLK = 00000021 IPL$_TIMER = 00000007 IRP$M_DIAGBUF = 00000080 IO$_READPBLK = 0000000C IRP$B_CARCON 0000003C IRP$M_EXTEND = 00000800 IO$_READPRESET = 00000019 IRP$B_CD_TYPE 00000066 IRP$M_FCODE = 0000003F IO$_READPROMPT = 00000037 IRP$B_EFN 00000022 IRP$M_FILACP = 00001000 IO$_READTRACKD = 00000010 IRP$B_FIPL 00000067 IRP$M_FUNC = 00000002 IO$_READVBLK = 00000031 IRP$B_PRI 00000023 IRP$M_MBXIO = 00000400 IO$_RECAL = 00000003 IRP$B_RMOD 0000000B IRP$M_MVIRP = 00002000 IO$_RELEASE = 00000005 IRP$B_TYPE 0000000A IRP$M_PAGIO = 00000004 IO$_REREADN = 00000016 IRP$C_BT_LEN 0000009C IRP$M_PHYSIO = 00000100 IO$_REREADP = 00000017 IRP$C_CDRP 0000005C IRP$M_SWAPIO = 00000040 IO$_RETCENTER = 00000007 IRP$C_CD_LEN 0000009C IRP$M_TERMIO = 00000200 IO$_REWIND = 00000024 IRP$C_LENGTH 0000009C IRP$M_VIRTUAL = 00000010 IO$_REWINDOFF = 00000022 IRP$K_BT_LEN 0000009C IRP$Q_NT_PRVMSK 00000040 IO$_SEARCH = 00000009 IRP$K_CDRP 0000005C IRP$Q_TT_STATE 00000040 IO$_SEEK = 00000002 IRP$K_CD_LEN 0000009C IRP$S_FCODE = 00000006 IO$_SENSECHAR = 0000001B IRP$K_LENGTH 0000009C IRP$S_FMOD = 0000000A IO$_SENSEMODE = 00000027 IRP$L_ABCNT 00000040 IRP$S_LBUFHNDL = 0000000C IO$_SETCHAR = 0000001A IRP$L_ARB 00000058 IRP$S_MODE = 00000002 IO$_SETCLOCK = 00000037 IRP$L_AST 00000010 IRP$S_NT_PRVMSK= 00000008 IO$_SETCLOCKP = 00000005 IRP$L_ASTPRM 00000014 IRP$S_TT_STATE = 00000008 IO$_SETMODE = 00000023 IRP$L_BCNT 00000032 IRP$T_LBUFHNDL 0000008C IO$_SKIPFILE = 00000025 IRP$L_CDT 00000080 IRP$V_BUFIO = 00000000 MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 22 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) IRP$V_CHAINED = 00000005 JPI$_EXCVEC = 00000100 MCAM_ACPEXT 00000033 R 03 IRP$V_COMPLX = 00000003 JPI$_FILCNT = 00000314 MCAM_ACPIMAGE 00000062 R 03 IRP$V_DIAGBUF = 00000007 JPI$_FILLM = 0000040F MCAM_ACPNAMID 000000AA R 03 IRP$V_EXTEND = 0000000B JPI$_FINALEXC = 00000101 MCAM_ACPOUT 00000027 R 03 IRP$V_FCODE = 00000000 JPI$_FREP0VA = 00000404 MCAM_ACPPID 0000004E R 03 IRP$V_FILACP = 0000000C JPI$_FREP1VA = 00000405 MCAM_ACPTYPE = 000000C8 IRP$V_FMOD = 00000006 JPI$_FREPTECNT = 00000415 MCAM_AQB 0000010A R 03 IRP$V_FUNC = 00000001 JPI$_GPGCNT = 0000030C MCAM_ARG_KMOUNT 000000BA R 03 IRP$V_MBXIO = 0000000A JPI$_GRP = 00000308 MCAM_CHAN 00000112 R 03 IRP$V_MODE = 00000000 JPI$_IMAGECOUNT= 0000041A MCAM_CURPRIV 000000DE R 03 IRP$V_MVIRP = 0000000D JPI$_IMAGNAME = 00000207 MCAM_IMAGE 00000004 R 03 IRP$V_PAGIO = 00000002 JPI$_IMAGPRIV = 00000413 MCAM_JPILST 000000C2 R 03 IRP$V_PHYSIO = 00000008 JPI$_JOBPRCCNT = 0000031E MCAM_KMCALL 000001E4 R 04 IRP$V_SWAPIO = 00000006 JPI$_LASTADR = 00000102 MCAM_KMMOUNT 000001EB R 04 IRP$V_TERMIO = 00000009 JPI$_LASTCTL = 00000209 MCAM_KMXHAND 00000154 R 04 IRP$V_VIRTUAL = 00000004 JPI$_LASTPCB = 00000322 MCAM_K_ILEN = 00000040 IRP$W_ABCNT 00000040 JPI$_LASTPHD = 0000041B MCAM_K_PLEN = 00000008 IRP$W_BCNT 00000032 JPI$_LOGINTIM = 00000206 MCAM_K_ULEN = 00000008 IRP$W_BOFF 00000030 JPI$_MEM = 00000307 MCAM_MAIN 00000000 R 04 IRP$W_CDRPSIZE 00000064 JPI$_OWNER = 00000303 MCAM_PRCNAM 000000EE R 03 IRP$W_CHAN 00000028 JPI$_PAGEFLTS = 0000040A MCAM_PRCNID 000000E6 R 03 IRP$W_FUNC 00000020 JPI$_PAGFILCNT = 00000414 MCAM_PRIVS 00000119 R 04 IRP$W_OBCNT 00000044 JPI$_PAGFILLOC = 00000419 MCAM_QLIST 0000003E R 03 IRP$W_SIZE 00000008 JPI$_PGFLQUOTA = 0000040E MCAM_SIGLCTS 00000140 R 04 IRP$W_STS 0000002A JPI$_PID = 00000319 MCAM_UCB 00000106 R 03 IRP$W_TT_PRMPT 0000004C JPI$_PPGCNT = 0000030D MCAM_UIC 00000000 R 03 JPI$C_ADRTYPE = 00000001 JPI$_PRCCNT = 0000031B MCAM_UNIT 00000016 R 03 JPI$C_CTLTYPE = 00000002 JPI$_PRCLM = 00000408 MCAM_VCB 0000010E R 03 JPI$C_LISTEND = 00000000 JPI$_PRCNAM = 0000031C MCAM_WAIT 000000FE R 03 JPI$C_PCBTYPE = 00000003 JPI$_PRI = 00000302 MNU_CHAN = 00000010 JPI$C_PHDTYPE = 00000004 JPI$_PRIB = 00000309 MNU_DELAY = 00000014 JPI$_ACCOUNT = 00000203 JPI$_PROCPRIV = 00000204 MNU_QIOEFN = 00000004 JPI$_APTCNT = 0000030A JPI$_SITESPEC = 00000208 MNU_TMREFN = 00000008 JPI$_ASTACT = 00000300 JPI$_STATE = 00000306 MNU_UCBADDR = 0000000C JPI$_ASTCNT = 0000030E JPI$_STS = 00000305 MOUNT_UNIT 000003EA R 04 JPI$_ASTEN = 00000301 JPI$_SWPFILLOC = 00000321 PMASK = 00000004 JPI$_ASTLM = 00000409 JPI$_TERMINAL = 0000031D PQL$_ASTLM = 00000001 JPI$_AUTHPRI = 00000418 JPI$_TMBU = 0000030B PQL$_BIOLM = 00000002 JPI$_AUTHPRIV = 00000412 JPI$_TQCNT = 00000315 PQL$_BYTLM = 00000003 JPI$_BIOCNT = 0000030F JPI$_TQLM = 00000410 PQL$_CPULM = 00000004 JPI$_BIOLM = 00000310 JPI$_UIC = 00000304 PQL$_DIOLM = 00000005 JPI$_BUFIO = 0000040C JPI$_USERNAME = 00000202 PQL$_ENQLM = 0000000C JPI$_BYTCNT = 00000311 JPI$_VIRTPEAK = 00000200 PQL$_FILLM = 00000006 JPI$_BYTLM = 0000031A JPI$_VOLUMES = 00000205 PQL$_LENGTH = 0000000E JPI$_CPULIM = 0000040D JPI$_WSAUTH = 00000401 PQL$_LISTEND = 00000000 JPI$_CPUTIM = 00000407 JPI$_WSAUTHEXT = 00000417 PQL$_PGFLQUOTA = 00000007 JPI$_CURPRIV = 00000400 JPI$_WSEXTENT = 00000416 PQL$_PRCLM = 00000008 JPI$_DFPFC = 00000406 JPI$_WSPEAK = 00000201 PQL$_TQELM = 00000009 JPI$_DFWSCNT = 00000403 JPI$_WSQUOTA = 00000402 PQL$_WSDEFAULT = 0000000B JPI$_DIOCNT = 00000312 JPI$_WSSIZE = 00000411 PQL$_WSEXTENT = 0000000D JPI$_DIOLM = 00000313 LINK_AQB 0000039E R 04 PQL$_WSQUOTA = 0000000A JPI$_DIRIO = 0000040B LOCATE_UCB 00000318 R 04 PR$S_SID_ECO = 00000009 JPI$_EFCS = 00000317 LQB_ACPPID = 00000008 PR$S_SID_PL = 00000003 JPI$_EFCU = 00000318 LQB_AQBADDR = 00000004 PR$S_SID_SN = 0000000C JPI$_EFWM = 00000316 LUB_CHAN = 00000004 PR$S_SID_TYPE = 00000008 JPI$_ENQCNT = 0000031F LUB_UCBADDR = 00000008 PR$V_SID_ECO = 0000000F JPI$_ENQLM = 00000320 MCAM_ACPCAMU 00000052 R 03 PR$V_SID_PL = 0000000C MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 23 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) PR$V_SID_SN = 00000000 PR$_SISR = 00000015 PRV$V_SHMEM = 0000001B PR$V_SID_TYPE = 00000018 PR$_SLR = 0000000D PRV$V_SYSGBL = 00000019 PR$_ACCR = 00000029 PR$_SSP = 00000002 PRV$V_SYSLCK = 0000001E PR$_ACCS = 00000028 PR$_TBCHK = 0000003F PRV$V_SYSNAM = 00000002 PR$_ASTLVL = 00000013 PR$_TBDR = 00000024 PRV$V_SYSPRV = 0000001C PR$_CADR = 00000025 PR$_TBIA = 00000039 PRV$V_TMPMBX = 0000000F PR$_CAER = 00000027 PR$_TBIS = 0000003A PRV$V_VOLPRO = 00000015 PR$_CMIERR = 00000017 PR$_TODR = 0000001B PRV$V_WORLD = 00000010 PR$_CRBT = 00000043 PR$_TXCS = 00000022 PSL$C_EXEC = 00000001 PR$_CSRD = 0000001D PR$_TXDB = 00000023 PSL$C_KERNEL = 00000000 PR$_CSRS = 0000001C PR$_UBRESET = 00000037 PSL$C_SUPER = 00000002 PR$_CSTD = 0000001F PR$_USP = 00000003 PSL$C_USER = 00000003 PR$_CSTS = 0000001E PR$_WCSA = 0000002C PSL$M_C = 00000001 PR$_CSWP = 00000042 PR$_WCSD = 0000002D PSL$M_CM = 80000000 PR$_ESP = 00000001 PRC$M_BATCH = 00000010 PSL$M_CURMOD = 03000000 PR$_ICCS = 00000018 PRC$M_DISAWS = 00000100 PSL$M_DV = 00000080 PR$_ICR = 0000001A PRC$M_HIBER = 00000020 PSL$M_FPD = 08000000 PR$_IPL = 00000012 PRC$M_LOGIN = 00000040 PSL$M_FU = 00000040 PR$_ISP = 00000004 PRC$M_NETWRK = 00000080 PSL$M_IPL = 001F0000 PR$_KSP = 00000000 PRC$M_NOACNT = 00000008 PSL$M_IS = 04000000 PR$_MAPEN = 00000038 PRC$M_PSWAPM = 00000004 PSL$M_IV = 00000020 PR$_MCESR = 00000026 PRC$M_SSFEXCU = 00000002 PSL$M_N = 00000008 PR$_MCTL1 = 00000044 PRC$M_SSRWAIT = 00000001 PSL$M_PRVMOD = 00C00000 PR$_MCTL2 = 00000045 PRC$V_BATCH = 00000004 PSL$M_SAFBITS = 000037FF PR$_MDCR1 = 00000049 PRC$V_DISAWS = 00000008 PSL$M_TBIT = 00000010 PR$_MEAR = 00000048 PRC$V_HIBER = 00000005 PSL$M_TP = 40000000 PR$_MECCR = 0000004B PRC$V_LOGIN = 00000006 PSL$M_V = 00000002 PR$_MEDR = 0000004A PRC$V_NETWRK = 00000007 PSL$M_Z = 00000004 PR$_MGEN = 00000046 PRC$V_NOACNT = 00000003 PSL$S_CURMOD = 00000002 PR$_MTBER = 00000047 PRC$V_PSWAPM = 00000002 PSL$S_IPL = 00000005 PR$_NICR = 00000019 PRC$V_SSFEXCU = 00000001 PSL$S_PRVMOD = 00000002 PR$_P0BR = 00000008 PRC$V_SSRWAIT = 00000000 PSL$V_C = 00000000 PR$_P0LR = 00000009 PRV$V_ACNT = 00000009 PSL$V_CM = 0000001F PR$_P1BR = 0000000A PRV$V_ALLSPOOL = 00000004 PSL$V_CURMOD = 00000018 PR$_P1LR = 0000000B PRV$V_ALTPRI = 0000000D PSL$V_DV = 00000007 PR$_PAMACC = 00000040 PRV$V_BUGCHK = 00000017 PSL$V_FPD = 0000001B PR$_PAMLOC = 00000041 PRV$V_BYPASS = 0000001D PSL$V_FU = 00000006 PR$_PCBB = 00000010 PRV$V_CMEXEC = 00000001 PSL$V_IPL = 00000010 PR$_PME = 0000003D PRV$V_CMKRNL = 00000000 PSL$V_IS = 0000001A PR$_RXCS = 00000020 PRV$V_DETACH = 00000005 PSL$V_IV = 00000005 PR$_RXDB = 00000021 PRV$V_DIAGNOSE = 00000006 PSL$V_N = 00000003 PR$_SBIER = 00000034 PRV$V_EXQUOTA = 00000013 PSL$V_PRVMOD = 00000016 PR$_SBIFS = 00000030 PRV$V_GROUP = 00000008 PSL$V_TBIT = 00000004 PR$_SBIMT = 00000033 PRV$V_GRPNAM = 00000003 PSL$V_TP = 0000001E PR$_SBIQC = 00000036 PRV$V_LOG_IO = 00000007 PSL$V_V = 00000001 PR$_SBIS = 00000031 PRV$V_MOUNT = 00000011 PSL$V_Z = 00000002 PR$_SBISC = 00000032 PRV$V_NETMBX = 00000014 SCH$GL_CURPCB ******** X 04 PR$_SBITA = 00000035 PRV$V_NOACNT = 00000009 SCH$LOCKW ******** X 04 PR$_SBR = 0000000C PRV$V_OPER = 00000012 SCH$UNLOCK ******** X 04 PR$_SCBB = 00000011 PRV$V_PFNMAP = 0000001A SS$_ABORT = 0000002C PR$_SID = 0000003E PRV$V_PHY_IO = 00000016 SS$_ACCONFLICT = 00000800 PR$_SID_TYP730 = 00000003 PRV$V_PRMCEB = 0000000A SS$_ACCVIO = 0000000C PR$_SID_TYP750 = 00000002 PRV$V_PRMGBL = 00000018 SS$_ACPVAFUL = 000002FC PR$_SID_TYP780 = 00000001 PRV$V_PRMMBX = 0000000B SS$_ALRDYCLOSED= 000006A9 PR$_SID_TYP7VV = 00000004 PRV$V_PSWAPM = 0000000C SS$_ARTRES = 00000474 PR$_SID_TYPMAX = 00000004 PRV$V_SETPRI = 0000000D SS$_ASTFLT = 0000040C PR$_SIRR = 00000014 PRV$V_SETPRV = 0000000E SS$_BADATTRIB = 00000034 MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 24 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) SS$_BADCHKSUM = 00000808 SS$_DEVNOTMOUNT= 0000007C SS$_FLTUND_F = 000004C4 SS$_BADESCAPE = 0000003C SS$_DEVOFFLINE = 00000084 SS$_FORCEDERROR= 00002144 SS$_BADFILEHDR = 00000810 SS$_DEVREQERR = 00000334 SS$_FORCEDEXIT = 0000217C SS$_BADFILENAME= 00000818 SS$_DGQINCOMP = 000009C0 SS$_FORMAT = 000000BC SS$_BADFILEVER = 00000820 SS$_DIRALLOC = 000009C8 SS$_GPTFULL = 000000C4 SS$_BADIMGHDR = 00000044 SS$_DIRFULL = 00000860 SS$_GSDFULL = 000000CC SS$_BADIRECTORY= 00000828 SS$_DIRNOTEMPTY= 00002174 SS$_HANGUP = 000002CC SS$_BADISD = 00002004 SS$_DISCONNECT = 0000204C SS$_HEADERFULL = 000008C8 SS$_BADPARAM = 00000014 SS$_DRVERR = 0000008C SS$_IDMISMATCH = 000003F4 SS$_BADQFILE = 000003BC SS$_DUPDSKQUOTA= 000003DC SS$_IDXFILEFULL= 000008D0 SS$_BADQUEUEHDR= 00000394 SS$_DUPFILENAME= 00000868 SS$_ILLBLKNUM = 000000DC SS$_BADRCT = 0000216C SS$_DUPLNAM = 00000094 SS$_ILLCDTST = 00002154 SS$_BADSTACK = 000002B4 SS$_DUPUNIT = 000021C4 SS$_ILLCNTRFUNC= 000000E4 SS$_BADVEC = 00002064 SS$_ENDOFFILE = 00000870 SS$_ILLEFC = 000000EC SS$_BEGOFFILE = 00000938 SS$_ENDOFTAPE = 00000878 SS$_ILLIOFUNC = 000000F4 SS$_BLOCKCNTERR= 00000940 SS$_ENDOFUSRLBL= 00000970 SS$_ILLLBLAST = 00000968 SS$_BREAK = 00000414 SS$_ENDOFVOLUME= 000009A0 SS$_ILLPAGCNT = 000000FC SS$_BUFBYTALI = 0000030C SS$_EOTIN = 00000C03 SS$_ILLSELF = 0000214C SS$_BUFFEROVF = 00000601 SS$_EXASTLM = 00002A04 SS$_ILLSEQOP = 000002DC SS$_BUFNOTALIGN= 00000324 SS$_EXBIOLM = 00002A0C SS$_ILLSER = 00000104 SS$_BUGCHECK = 000002A4 SS$_EXBYTLM = 00002A14 SS$_ILLUSRLBLRD= 00000958 SS$_CANCEL = 00000830 SS$_EXCPUTIM = 000020AC SS$_ILLUSRLBLWT= 00000960 SS$_CHAINW = 00000C0B SS$_EXDEPTH = 00000E1A SS$_INCOMPAT = 00000699 SS$_CHANINTLK = 0000004C SS$_EXDIOLM = 00002A1C SS$_INCVOLLABEL= 0000010C SS$_CLEARED = 00002104 SS$_EXDISKQUOTA= 000003EC SS$_INHCHME = 000004D4 SS$_CLIFRCEXT = 00000980 SS$_EXENQLM = 00002A44 SS$_INHCHMK = 000004CC SS$_CMODSUPR = 0000041C SS$_EXFILLM = 00002A24 SS$_INSFARG = 00000114 SS$_CMODUSER = 00000424 SS$_EXGBLPAGFIL= 00002164 SS$_INSFBUFDP = 0000033C SS$_COMMHARD = 000020C4 SS$_EXPGFLQUOTA= 00002A2C SS$_INSFCDT = 000021AC SS$_COMPAT = 0000042C SS$_EXPORTQUOTA= 000003AC SS$_INSFMAPREG = 00000344 SS$_CONCEALED = 00000691 SS$_EXPRCLM = 00002A34 SS$_INSFMEM = 00000124 SS$_CONNECFAIL = 000020DC SS$_EXQUOTA = 0000001C SS$_INSFRAME = 0000012C SS$_CONTINUE = 00000001 SS$_EXQUOTAEND = 00002AFF SS$_INSFSPTS = 00002044 SS$_CONTROLC = 00000651 SS$_EXQUOTASTRT= 00002A00 SS$_INSFWSL = 0000011C SS$_CONTROLO = 00000609 SS$_EXTIDXFILE = 00000880 SS$_INTDIV = 00000484 SS$_CONTROLY = 00000611 SS$_EXTQELM = 00002A3C SS$_INTERLOCK = 0000038C SS$_CREATED = 00000619 SS$_FACILITY = 00000000 SS$_INTOVF = 0000047C SS$_CTRLERR = 00000054 SS$_FCPREADERR = 00000888 SS$_INVLOGIN = 0000209C SS$_CVTUNGRANT = 0000213C SS$_FCPREPSTN = 00000988 SS$_IVADDR = 00000134 SS$_DATACHECK = 0000005C SS$_FCPREWNDERR= 00000890 SS$_IVBUFLEN = 0000034C SS$_DATAOVERUN = 00000838 SS$_FCPSPACERR = 00000898 SS$_IVCHAN = 0000013C SS$_DBGOPCREQ = 000006A1 SS$_FCPWRITERR = 000008A0 SS$_IVCHAR = 000020CC SS$_DEADLOCK = 00000E0A SS$_FILACCERR = 0000009C SS$_IVCHNLSEC = 0000026C SS$_DEBUG = 0000046C SS$_FILALRACC = 000000A4 SS$_IVDEVNAM = 00000144 SS$_DECOVF = 000004A4 SS$_FILELOCKED = 000008A8 SS$_IVGSDNAM = 0000014C SS$_DEVACTIVE = 000002C4 SS$_FILENUMCHK = 000008B0 SS$_IVLOCKID = 00002124 SS$_DEVALLOC = 00000840 SS$_FILEPURGED = 00000679 SS$_IVLOGNAM = 00000154 SS$_DEVALRALLOC= 00000641 SS$_FILESEQCHK = 000008B8 SS$_IVLOGTAB = 0000015C SS$_DEVASSIGN = 00000848 SS$_FILESTRUCT = 000008C0 SS$_IVLVEC = 0000203C SS$_DEVCMDERR = 0000032C SS$_FILNOTACC = 000000AC SS$_IVMODE = 00000354 SS$_DEVFOREIGN = 00000064 SS$_FILNOTCNTG = 000002AC SS$_IVPROTECT = 000002F4 SS$_DEVICEFULL = 00000850 SS$_FILNOTEXP = 000000B4 SS$_IVQUOTAL = 00000164 SS$_DEVINACT = 000020D4 SS$_FLTDIV = 00000494 SS$_IVSECFLG = 0000016C SS$_DEVMOUNT = 0000006C SS$_FLTDIV_F = 000004BC SS$_IVSECIDCTL = 000002E4 SS$_DEVNOTALLOC= 00000858 SS$_FLTOVF = 0000048C SS$_IVSSRQ = 00000174 SS$_DEVNOTDISM = 000021B4 SS$_FLTOVF_F = 000004B4 SS$_IVSTSFLG = 0000017C SS$_DEVNOTMBX = 00000074 SS$_FLTUND = 0000049C SS$_IVTIME = 00000184 MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 25 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) SS$_JBCERROR = 0000218C SS$_NOPRMCEB = 00002854 SS$_PROTINSTALL= 0000205C SS$_LCKPAGFUL = 000000D4 SS$_NOPRMGBL = 000028C4 SS$_PROTOCOL = 00002074 SS$_LENVIO = 0000018C SS$_NOPRMMBX = 0000285C SS$_PSTFULL = 0000020C SS$_LINEABRT = 00000E02 SS$_NOPSWAPM = 00002864 SS$_QFACTIVE = 000003CC SS$_LINKABORT = 000020E4 SS$_NOQFILE = 000003C4 SS$_QFNOTACT = 000003D4 SS$_LINKDISCON = 000020EC SS$_NORMAL = 00000001 SS$_RADRMOD = 0000044C SS$_LINKEXIT = 000020F4 SS$_NOSETPRV = 00002874 SS$_RDDELDATA = 00000661 SS$_LKWSETFUL = 00000194 SS$_NOSHMBLOCK = 000003B4 SS$_REJECT = 00000294 SS$_MBFULL = 000008D8 SS$_NOSHMEM = 000028DC SS$_RELINK = 0000200C SS$_MBTOOSML = 0000019C SS$_NOSHRIMG = 000021BC SS$_REMOTE = 00000649 SS$_MCHECK = 000002BC SS$_NOSIGNAL = 00000900 SS$_REMRSRC = 0000206C SS$_MCNOTVALID = 0000035C SS$_NOSLOT = 0000039C SS$_RESET = 0000210C SS$_MEDOFL = 000001A4 SS$_NOSOLICIT = 00000284 SS$_RESIGNAL = 00000918 SS$_MSGNOTFND = 00000621 SS$_NOSUCHDEV = 00000908 SS$_RESULTOVF = 00000214 SS$_MTLBLLONG = 00000304 SS$_NOSUCHFILE = 00000910 SS$_ROPRAND = 00000454 SS$_MULTRMS = 0000202C SS$_NOSUCHNODE = 0000028C SS$_SECTBLFUL = 0000021C SS$_MUSTCLOSEFL= 00000948 SS$_NOSUCHOBJ = 000020A4 SS$_SHARTOOBIG = 0000201C SS$_NOACNT = 0000284C SS$_NOSUCHSEC = 00000978 SS$_SHMGSNOTMAP= 0000036C SS$_NOALLSPOOL = 00002824 SS$_NOSUCHUSER = 00002084 SS$_SHMNOTCNCT = 0000037C SS$_NOALTPRI = 0000286C SS$_NOSYSGBL = 000028CC SS$_SHRIDMISMAT= 000020BC SS$_NOAQB = 00000314 SS$_NOSYSLCK = 000028F4 SS$_SHUT = 0000208C SS$_NOBUGCHK = 000028BC SS$_NOSYSNAM = 00002814 SS$_SSFAIL = 0000045C SS$_NOBYPASS = 000028EC SS$_NOSYSPRV = 000028E4 SS$_SUBLOCKS = 0000212C SS$_NOCMEXEC = 0000280C SS$_NOTALLPRIV = 00000681 SS$_SUBRNG = 000004AC SS$_NOCMKRNL = 00002804 SS$_NOTAPEOP = 00000264 SS$_SUPERSEDE = 00000631 SS$_NODATA = 000001AC SS$_NOTCREATOR = 00000384 SS$_SUSPENDED = 000003A4 SS$_NODETACH = 0000282C SS$_NOTFILEDEV = 000001CC SS$_SYNCH = 00000689 SS$_NODEVAVL = 000009B0 SS$_NOTINSTALL = 00002014 SS$_SYSVERDIF = 00000671 SS$_NODIAGNOSE = 00002834 SS$_NOTINTBLSZ = 000001D4 SS$_TAPEPOSLOST= 00000224 SS$_NODISKQUOTA= 000003E4 SS$_NOTLABELMT = 000001DC SS$_TBIT = 00000464 SS$_NOEXQUOTA = 0000289C SS$_NOTMODIFIED= 00000659 SS$_THIRDPARTY = 0000207C SS$_NOGROUP = 00002844 SS$_NOTMPMBX = 0000287C SS$_TIMEOUT = 0000022C SS$_NOGRPNAM = 0000281C SS$_NOTNETDEV = 000002EC SS$_TOOMANYLNAM= 00000374 SS$_NOHANDLER = 000008F8 SS$_NOTPRINTED = 00002184 SS$_TOOMANYREDS= 0000211C SS$_NOHOMEBLK = 000008E0 SS$_NOTQUEUED = 000009B8 SS$_TOOMANYVER = 00000990 SS$_NOIOCHAN = 000001B4 SS$_NOTRAN = 00000629 SS$_TOOMUCHDATA= 0000029C SS$_NOLICENSE = 00002194 SS$_NOTSQDEV = 000001E4 SS$_UNASEFC = 00000234 SS$_NOLINKS = 0000027C SS$_NOTVOLSET = 00000998 SS$_UNREACHABLE= 00002094 SS$_NOLISTENER = 0000215C SS$_NOVOLPRO = 000028AC SS$_UNSAFE = 0000023C SS$_NOLOCKID = 00000E12 SS$_NOWORLD = 00002884 SS$_UNSOLICIT = 00002114 SS$_NOLOGNAM = 000001BC SS$_NOWRT = 000003FC SS$_UNWIND = 00000920 SS$_NOLOG_IO = 0000283C SS$_OPCCUS = 00000434 SS$_UNWINDING = 00000928 SS$_NOMBX = 00000274 SS$_OPCDEC = 0000043C SS$_VASFULL = 00000244 SS$_NOMOREFILES= 00000930 SS$_OPINCOMPL = 000002D4 SS$_VCBROKEN = 0000219C SS$_NOMOREPROC = 000009A8 SS$_OPRABORT = 000020B4 SS$_VCCLOSED = 000021A4 SS$_NOMOUNT = 0000288C SS$_OVRDSKQUOTA= 00000669 SS$_VECFULL = 00002034 SS$_NONETMBX = 000028A4 SS$_PAGOWNVIO = 000001EC SS$_VECINUSE = 0000024C SS$_NONEXDRV = 000001C4 SS$_PAGRDERR = 00000444 SS$_VOLINV = 00000254 SS$_NONEXPR = 000008E8 SS$_PARITY = 000001F4 SS$_WAITUSRLBL = 00000950 SS$_NONLOCAL = 000008F0 SS$_PARNOTGRANT= 00002134 SS$_WASCLR = 00000001 SS$_NOOPER = 00002894 SS$_PARTESCAPE = 000001FC SS$_WASECC = 00000639 SS$_NOP1VA = 00002024 SS$_PARTMAPPED = 00000E22 SS$_WASSET = 00000009 SS$_NOPFNMAP = 000028D4 SS$_PATHLOST = 000020FC SS$_WRITLCK = 0000025C SS$_NOPHY_IO = 000028B4 SS$_PFMBSY = 00000204 SS$_WRONGACP = 0000031C SS$_NOPRIV = 00000024 SS$_PLHLDR = 00000404 SYS$ASSIGN ******** GX 04 SS$_NOPRIVEND = 000029FF SS$_POWERFAIL = 00000364 SYS$CMKRNL ******** GX 04 SS$_NOPRIVSTRT = 00002800 SS$_PRIVINSTALL= 00002054 SYS$CREPRC ******** GX 04 MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 26 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) SYS$DELPRC ******** GX 04 UCB$L_FIRST 00000014 UCB$M_NT_NAME = 00000010 SYS$EXIT ******** GX 04 UCB$L_FPC 0000000C UCB$M_ONLINE = 00000010 SYS$FAOL ******** GX 04 UCB$L_FQBL 00000004 UCB$M_PERM_JNL = 00000010 SYS$GETJPI ******** GX 04 UCB$L_FQFL 00000000 UCB$M_POWER = 00000020 SYS$QIO ******** GX 04 UCB$L_FR3 00000010 UCB$M_PRMMBX = 00000001 SYS$SETIMR ******** GX 04 UCB$L_FR4 00000014 UCB$M_SHMMBX = 00000008 SYS$SNDERR ******** GX 04 UCB$L_IOQBL 00000044 UCB$M_TEMPLATE = 00002000 SYS$TRNLOG ******** GX 04 UCB$L_IOQFL 00000040 UCB$M_TIM = 00000001 SYS$UNWIND ******** GX 04 UCB$L_IRP 0000004C UCB$M_TIMOUT = 00000040 SYS$WFLOR ******** GX 04 UCB$L_JNL_BCB 00000084 UCB$M_TT_HANGUP= 00000008 UCB$B_AMOD 00000053 UCB$L_JNL_FQBL 00000098 UCB$M_TT_NOTIF = 00000004 UCB$B_CEX 00000087 UCB$L_JNL_FQFL 00000094 UCB$M_TT_TIMO = 00000002 UCB$B_CM1 0000004A UCB$L_JNL_QUOT 000000A8 UCB$M_UNLOAD = 00001000 UCB$B_CM2 0000004B UCB$L_JNL_RUL 00000088 UCB$M_VALID = 00000800 UCB$B_DEVCLASS 00000038 UCB$L_JNL_SEQNO 0000003C UCB$M_WRONGVOL = 00008000 UCB$B_DEVTYPE 00000039 UCB$L_JNL_WQBL 00000090 UCB$S_JNL_NAM = 0000000C UCB$B_DIPL 00000052 UCB$L_JNL_WQFL 0000008C UCB$S_LNKPRI = 00000002 UCB$B_DX_SCTCNT 000000B6 UCB$L_LINK 0000002C UCB$S_LTYPE = 00000002 UCB$B_ERTCNT 00000070 UCB$L_LOGADR 00000064 UCB$T_PARTNER 0000000C UCB$B_ERTMAX 00000071 UCB$L_MAXBLOCK 00000094 UCB$V_BACKP = 00000005 UCB$B_FEX 00000086 UCB$L_MB_MBX 0000008C UCB$V_BSY = 00000008 UCB$B_FIPL 0000000B UCB$L_MB_PORT 0000009C UCB$V_CANCEL = 00000003 UCB$B_JNL_NAM 0000009C UCB$L_MB_RAST 00000088 UCB$V_DEADMO = 0000000A UCB$B_LOCSRV 0000003C UCB$L_MB_SHB 00000090 UCB$V_DELMBX = 00000001 UCB$B_OFFNDX 000000A4 UCB$L_MB_WAST 00000084 UCB$V_DIAGBUF = 00000001 UCB$B_OFFRTC 000000A5 UCB$L_MB_WIOQBL 00000098 UCB$V_DX_WRITE = 00000003 UCB$B_REMSRV 0000003D UCB$L_MB_WIOQFL 00000094 UCB$V_ECC = 00000000 UCB$B_SECTORS 0000003C UCB$L_MEDIA 0000009C UCB$V_ERLOGIP = 00000002 UCB$B_SLAVE 00000084 UCB$L_NT_DATSSB 00000084 UCB$V_INT = 00000001 UCB$B_SPR 00000085 UCB$L_NT_INTSSB 00000088 UCB$V_INTTYPE = 00000007 UCB$B_STATE 00000052 UCB$L_OPCNT 00000060 UCB$V_JOB = 00000000 UCB$B_TRACKS 0000003D UCB$L_OWNUIC 0000001C UCB$V_LNKPRI = 00000006 UCB$B_TYPE 0000000A UCB$L_PDT 00000074 UCB$V_LTYPE = 00000000 UCB$B_VERTSZ 0000003F UCB$L_PID 00000028 UCB$V_MNTVERIP = 0000000E UCB$C_JNL_LEN 000000AE UCB$L_RQBL 00000004 UCB$V_MOUNTING = 00000009 UCB$C_LENGTH 00000084 UCB$L_RQFL 00000000 UCB$V_MSGACK = 00000004 UCB$C_LOGLNK = 00000001 UCB$L_SVAPTE 00000068 UCB$V_MSGFLO = 00000003 UCB$C_MB_LENGTH 000000A0 UCB$L_SVPN 00000064 UCB$V_NOCNVRT = 00000002 UCB$K_JNL_LEN 000000AE UCB$L_TT_DEVDP1 00000080 UCB$V_NT_BFROVF= 00000002 UCB$K_LENGTH 00000084 UCB$L_VCB 00000030 UCB$V_NT_BREAK = 00000005 UCB$K_MB_LENGTH 000000A0 UCB$M_BACKP = 00000020 UCB$V_NT_NAME = 00000004 UCB$L_AMB 00000054 UCB$M_BSY = 00000100 UCB$V_ONLINE = 00000004 UCB$L_ASTQBL 00000010 UCB$M_CANCEL = 00000008 UCB$V_PERM_JNL = 00000004 UCB$L_ASTQFL 0000000C UCB$M_DEADMO = 00000400 UCB$V_POWER = 00000005 UCB$L_CPID 0000005C UCB$M_DELMBX = 00000002 UCB$V_PRMMBX = 00000000 UCB$L_CRB 00000020 UCB$M_DIAGBUF = 00000002 UCB$V_SEGFLO = 00000002 UCB$L_DDB 00000024 UCB$M_DX_WRITE = 00000008 UCB$V_SHMMBX = 00000003 UCB$L_DDT 00000078 UCB$M_ECC = 00000001 UCB$V_TEMPLATE = 0000000D UCB$L_DEVCHAR 00000034 UCB$M_ERLOGIP = 00000004 UCB$V_TEMPL_BSY= 00000005 UCB$L_DEVDEPEND 0000003C UCB$M_INT = 00000002 UCB$V_TIM = 00000000 UCB$L_DEVDEPND2 00000080 UCB$M_INTTYPE = 00000080 UCB$V_TIMOUT = 00000006 UCB$L_DPC 00000090 UCB$M_JOB = 00000001 UCB$V_TT_HANGUP= 00000003 UCB$L_DUETIM 0000005C UCB$M_MNTVERIP = 00004000 UCB$V_TT_NOTIF = 00000002 UCB$L_DX_BFPNT 000000AC UCB$M_MOUNTING = 00000200 UCB$V_TT_TIMO = 00000001 UCB$L_DX_BUF 000000A8 UCB$M_NOCNVRT = 00000004 UCB$V_UNLOAD = 0000000C UCB$L_DX_RXDB 000000B0 UCB$M_NT_BFROVF= 00000004 UCB$V_VALID = 0000000B UCB$L_EMB 00000088 UCB$M_NT_BREAK = 00000020 UCB$V_WRONGVOL = 0000000F MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 27 Symbol table 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) UCB$W_BCNT 0000006E VCB$L_AQB 00000010 VCB$V_LOGICEOVS= 00000001 UCB$W_BCR 000000A6 VCB$L_BLOCKBL 00000004 VCB$V_MOUNTVER = 00000002 UCB$W_BOFF 0000006C VCB$L_BLOCKFL 00000000 VCB$V_MUSTCLOSE= 00000006 UCB$W_BUFQUO 00000018 VCB$L_CACHE 00000058 VCB$V_NOALLOC = 00000004 UCB$W_BYTESTOGO 0000003E VCB$L_CUR_FID 00000024 VCB$V_NOCACHE = 00000001 UCB$W_CHARGE 0000004A VCB$L_FCBBL 00000004 VCB$V_NOHDR3 = 00000007 UCB$W_CYLINDERS 0000003E VCB$L_FCBFL 00000000 VCB$V_NOWRITE = 00000007 UCB$W_DA 0000009C VCB$L_FREE 00000040 VCB$V_OVRACC = 00000001 UCB$W_DC 0000009E VCB$L_HOME2LBN 00000028 VCB$V_OVREXP = 00000000 UCB$W_DEVBUFSIZ 0000003A VCB$L_HOMELBN 00000024 VCB$V_OVRLBL = 00000002 UCB$W_DEVSTS 0000005A VCB$L_IBMAPLBN 00000030 VCB$V_OVRSETID = 00000003 UCB$W_DIRSEQ 00000098 VCB$L_IXHDR2LBN 0000002C VCB$V_PARTFILE = 00000000 UCB$W_DSTADDR 00000018 VCB$L_JNL_CHAR 00000024 VCB$V_STARFILE = 00000008 UCB$W_DX_BCR 000000B4 VCB$L_JNL_IRPS 0000002C VCB$V_SYSTEM = 00000007 UCB$W_EC1 000000A0 VCB$L_JNL_JFTA 00000028 VCB$V_WAIMOUVOL= 00000002 UCB$W_EC2 000000A2 VCB$L_JNL_JMT 00000034 VCB$V_WAIREWIND= 00000003 UCB$W_ERRCNT 00000072 VCB$L_JNL_WCBBL 0000003C VCB$V_WAIUSRLBL= 00000004 UCB$W_FUNC 0000008E VCB$L_JNL_WCBFL 00000038 VCB$V_WRITETHRU= 00000000 UCB$W_JNL_ID 000000AC VCB$L_MAXFILES 00000044 VCB$V_WRITE_IF = 00000000 UCB$W_MB_SEED 00000000 VCB$L_MVL 00000034 VCB$V_WRITE_SM = 00000001 UCB$W_MSGCNT 00000016 VCB$L_QUOCACHE 0000005C VCB$W_CLUSTER 0000003C UCB$W_MSGMAX 00000014 VCB$L_QUOTAFCB 00000054 VCB$W_CUR_NUM 00000024 UCB$W_NT_CHAN 0000008C VCB$L_RVT 00000020 VCB$W_CUR_SEQ 00000026 UCB$W_OFFSET 0000009A VCB$L_SBMAPLBN 00000034 VCB$W_EXTEND 0000003E UCB$W_REFC 00000050 VCB$L_SERIALNUM 00000064 VCB$W_FILEPROT 0000004A UCB$W_RWAITCNT 0000004A VCB$L_START_FID 00000028 VCB$W_MCOUNT 0000004C UCB$W_SIZE 00000008 VCB$L_ST_RECORD 00000030 VCB$W_MODE 0000002C UCB$W_SRCADDR 0000001A VCB$L_USRLBLAST 00000044 VCB$W_PENDERR 00000062 UCB$W_STS 00000058 VCB$L_VPBL 00000040 VCB$W_QUOSIZE 00000060 UCB$W_UNIT 00000048 VCB$L_VPFL 0000003C VCB$W_RECORDSZ 00000050 UCB$W_VPROT 0000001A VCB$L_WCB 00000038 VCB$W_RVN 0000000E ULQ_AQBADDR = 00000004 VCB$M_CANCELIO = 00000020 VCB$W_SIZE 00000008 UNLINK_AQB 00000489 R 04 VCB$M_JNL_DISK = 00000001 VCB$W_START_NUM 00000028 VCB$B_BLOCKFACT 00000052 VCB$M_JNL_TAPE = 00000002 VCB$W_START_SEQ 0000002A VCB$B_CUR_RVN 0000002F VCB$M_MUSTCLOSE= 00000040 VCB$W_TRANS 0000000C VCB$B_EOFDELTA 0000004E VCB$M_NOWRITE = 00000080 VCB$B_IBMAPSIZE 00000038 VCB$M_WAIMOUVOL= 00000004 VCB$B_IBMAPVBN 0000003A VCB$M_WAIREWIND= 00000008 VCB$B_JNL_MODE 00000040 VCB$M_WAIUSRLBL= 00000010 VCB$B_LRU_LIM 00000049 VCB$Q_RETAINMAX 00000070 VCB$B_QNAMECNT 0000000B VCB$Q_RETAINMIN 00000068 VCB$B_RESFILES 0000004F VCB$S_JNL_IRPS = 00000008 VCB$B_SBMAPSIZE 00000039 VCB$S_QNAME = 00000014 VCB$B_SBMAPVBN 0000003B VCB$S_RETAINMAX= 00000008 VCB$B_STATUS 0000000B VCB$S_RETAINMIN= 00000008 VCB$B_STATUS2 00000053 VCB$S_VOLNAME = 0000000C VCB$B_TM 0000002E VCB$T_QNAME 0000000C VCB$B_TYPE 0000000A VCB$T_VOLNAME 00000014 VCB$B_WINDOW 00000048 VCB$V_CANCELIO = 00000005 VCB$C_COMLEN 00000024 VCB$V_EBCDIC = 00000005 VCB$C_JNL_LEN 00000041 VCB$V_EXTFID = 00000005 VCB$C_LENGTH 00000078 VCB$V_GROUP = 00000006 VCB$C_MRKLEN 0000000B VCB$V_HOMBLKBAD= 00000002 VCB$K_COMLEN 00000024 VCB$V_IDXHDRBAD= 00000003 VCB$K_JNL_LEN 00000041 VCB$V_INTCHG = 00000004 VCB$K_LENGTH 00000078 VCB$V_JNL_DISK = 00000000 VCB$K_MRKLEN 0000000B VCB$V_JNL_TAPE = 00000001 MOUNTCAM MOUNT IMAGE FOR CAMAC CAMAC ACP 6-JAN-1983 11:04:45 VAX-11 Macro V03-00 Page 28 Psect synopsis 6-JAN-1983 10:09:48 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) +----------------+ ! Psect synopsis ! +----------------+ PSECT name Allocation PSECT No. Attributes ---------- ---------- --------- ---------- . ABS . 00000000 ( 0.) 00 ( 0.) NOPIC USR CON ABS LCL NOSHR NOEXE NORD NOWRT NOVEC BYTE . BLANK . 00000000 ( 0.) 01 ( 1.) NOPIC USR CON REL LCL NOSHR EXE RD WRT NOVEC BYTE $ABS$ 000000B8 ( 184.) 02 ( 2.) NOPIC USR CON ABS LCL NOSHR EXE RD WRT NOVEC BYTE $DATA 00000114 ( 276.) 03 ( 3.) NOPIC USR CON REL LCL NOSHR NOEXE RD WRT NOVEC BYTE $CODE 0000051E ( 1310.) 04 ( 4.) PIC USR CON REL LCL SHR EXE RD NOWRT NOVEC BYTE +------------------------+ ! Performance indicators ! +------------------------+ Phase Page faults CPU Time Elapsed Time ----- ----------- -------- ------------ Initialization 27 00:00:00.05 00:00:00.14 Command processing 27 00:00:00.20 00:00:00.45 Pass 1 628 00:00:19.49 00:00:21.10 Symbol table sort 0 00:00:02.35 00:00:02.40 Pass 2 179 00:00:03.46 00:00:03.63 Symbol table output 128 00:00:00.84 00:00:00.86 Psect synopsis output 5 00:00:00.03 00:00:00.03 Cross-reference output 0 00:00:00.00 00:00:00.00 Assembler run totals 997 00:00:26.42 00:00:28.61 The working set limit was 1024 pages. 100814 bytes (197 pages) of virtual memory were used to buffer the intermediate code. There were 80 pages of symbol table space allocated to hold 1517 non-local and 47 local symbols. 750 source lines were read in Pass 1, producing 20 object records in Pass 2. 51 pages of virtual memory were used to define 49 macros. +--------------------------+ ! Macro library statistics ! +--------------------------+ Macro library name Macros defined ------------------ -------------- SYS$SYSROOT:[CAMAC.SOURCE.KS30202]CAMDEF.MLB; 8 SYS$SYSROOT:[SYSLIB]LIB.MLB;1 8 SYS$SYSROOT:[SYSLIB]STARLET.MLB;1 29 TOTALS (all libraries) 45 1991 GETS were required to define 45 macros. There were no errors, warnings or information messages. /LIS MOUNTCAM